// File: ArthoPacini[P]blockchaincpp/./Blockchain.hpp
// Function: Blockchain::dump[abi:cxx11](short) const
std::string dump(std::int16_t indent = 4) const
    {
        //std::for_each(chain.begin(), chain.end(), std::bind(std::mem_fn(&Block::dump),std::placeholders::_1));
        nlohmann::json output_json = {{"difficulty", difficulty}, {"maxTransactionsCount",maxTransactionsCount}, {"blocks", nlohmann::json::array({})}};
        std::for_each(chain.begin(), chain.end(), std::bind(std::mem_fn(&Block::dump), std::placeholders::_1, std::ref(output_json)));
        return output_json.dump(indent);
    }

// Assembly:
subq $0x388, %rsp            # imm = 0x388
movq %rdi, 0x128(%rsp)
movw %dx, %ax
movq %rdi, %rcx
movq %rcx, 0x130(%rsp)
movq %rdi, 0x380(%rsp)
movq %rsi, 0x378(%rsp)
movw %ax, 0x376(%rsp)
movq 0x378(%rsp), %rax
movq %rax, 0x138(%rsp)
movb $0x1, 0x1ae(%rsp)
leaq 0x2f0(%rsp), %rax
movq %rax, 0x2e8(%rsp)
leaq 0x298(%rsp), %rdi
movq %rdi, 0x290(%rsp)
leaq 0x35408(%rip), %rsi     # 0x3cc4c
callq 0xbfc0
jmp 0x784b
movq 0x138(%rsp), %rsi
leaq 0x2b8(%rsp), %rdi
movq %rdi, 0x290(%rsp)
callq 0xc000
jmp 0x786a
leaq 0x298(%rsp), %rax
movq %rax, 0x2d8(%rsp)
movq $0x2, 0x2e0(%rsp)
movq 0x2d8(%rsp), %rsi
movq 0x2e0(%rsp), %rdx
leaq 0x2f0(%rsp), %rdi
callq 0xc050
jmp 0x78a5
leaq 0x310(%rsp), %rax
movq %rax, 0x120(%rsp)
movq %rax, 0x2e8(%rsp)
leaq 0x230(%rsp), %rdi
movq %rdi, 0x228(%rsp)
leaq 0x35383(%rip), %rsi     # 0x3cc57
callq 0xc0b0
jmp 0x78db
movq 0x138(%rsp), %rsi
leaq 0x250(%rsp), %rdi
movq %rdi, 0x228(%rsp)
addq $0x4, %rsi
callq 0xc000
jmp 0x78fe
movq 0x120(%rsp), %rdi
leaq 0x230(%rsp), %rax
movq %rax, 0x270(%rsp)
movq $0x2, 0x278(%rsp)
movq 0x270(%rsp), %rsi
movq 0x278(%rsp), %rdx
callq 0xc050
jmp 0x7939
leaq 0x330(%rsp), %rax
movq %rax, 0x118(%rsp)
movq %rax, 0x2e8(%rsp)
movb $0x1, 0x1af(%rsp)
leaq 0x1d8(%rsp), %rdi
movq %rdi, 0x1d0(%rsp)
leaq 0x352fc(%rip), %rsi     # 0x3cc6c
callq 0xc0f0
jmp 0x7977
leaq 0x1f8(%rsp), %rax
movq %rax, 0x110(%rsp)
movq %rax, 0x1d0(%rsp)
leaq 0x1b0(%rsp), %rdi
callq 0xc180
movq 0x1b0(%rsp), %rsi
movq 0x1b8(%rsp), %rdx
leaq 0x1c0(%rsp), %rdi
callq 0xc130
jmp 0x79bb
movq 0x110(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0xc1a0
jmp 0x79d2
movq 0x118(%rsp), %rdi
movb $0x0, 0x1af(%rsp)
leaq 0x1d8(%rsp), %rax
movq %rax, 0x218(%rsp)
movq $0x2, 0x220(%rsp)
movq 0x218(%rsp), %rsi
movq 0x220(%rsp), %rdx
callq 0xc050
jmp 0x7a15
movb $0x0, 0x1ae(%rsp)
leaq 0x2f0(%rsp), %rax
movq %rax, 0x350(%rsp)
movq $0x3, 0x358(%rsp)
movq 0x350(%rsp), %rsi
movq 0x358(%rsp), %rdx
leaq 0x360(%rsp), %rdi
movl $0x1, %ecx
movl $0x2, %r8d
callq 0xc1e0
jmp 0x7a63
leaq 0x2f0(%rsp), %rax
movq %rax, 0x100(%rsp)
addq $0x60, %rax
movq %rax, 0x108(%rsp)
movq 0x108(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0xf8(%rsp)
callq 0xc040
movq 0x100(%rsp), %rcx
movq 0xf8(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x108(%rsp)
jne 0x7a7f
leaq 0x1d8(%rsp), %rax
movq %rax, 0xe8(%rsp)
addq $0x40, %rax
movq %rax, 0xf0(%rsp)
movq 0xf0(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0xe0(%rsp)
callq 0xc040
movq 0xe8(%rsp), %rcx
movq 0xe0(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0xf0(%rsp)
jne 0x7ad1
leaq 0x1c0(%rsp), %rdi
callq 0xc450
leaq 0x230(%rsp), %rax
movq %rax, 0xd0(%rsp)
addq $0x40, %rax
movq %rax, 0xd8(%rsp)
movq 0xd8(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0xc8(%rsp)
callq 0xc040
movq 0xd0(%rsp), %rcx
movq 0xc8(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0xd8(%rsp)
jne 0x7b30
leaq 0x298(%rsp), %rax
movq %rax, 0xb8(%rsp)
addq $0x40, %rax
movq %rax, 0xc0(%rsp)
movq 0xc0(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0xb0(%rsp)
callq 0xc040
movq 0xb8(%rsp), %rcx
movq 0xb0(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0xc0(%rsp)
jne 0x7b82
movq 0x138(%rsp), %rdi
addq $0x8, %rdi
movq %rdi, 0xa8(%rsp)
callq 0xc510
movq 0xa8(%rsp), %rdi
movq %rax, 0x1a0(%rsp)
callq 0xc540
movq %rax, 0x198(%rsp)
leaq 0x4a1b(%rip), %rax      # 0xc610
movq %rax, 0x160(%rsp)
movq $0x0, 0x168(%rsp)
movq 0x160(%rsp), %rdi
movq 0x168(%rsp), %rsi
callq 0xc5b0
movq %rax, 0x170(%rsp)
movq %rdx, 0x178(%rsp)
leaq 0x360(%rsp), %rdi
callq 0xd710
movq %rax, 0x158(%rsp)
movq 0x5036e(%rip), %rdx     # 0x57fb8
leaq 0x180(%rsp), %rdi
leaq 0x170(%rsp), %rsi
leaq 0x158(%rsp), %rcx
callq 0xc570
jmp 0x7c69
movq 0x1a0(%rsp), %rsi
movq 0x198(%rsp), %rdx
leaq 0x140(%rsp), %rdi
leaq 0x180(%rsp), %rcx
callq 0xc490
jmp 0x7c90
movq 0x128(%rsp), %rdi
movswl 0x376(%rsp), %edx
leaq 0x360(%rsp), %rsi
movl $0x20, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
callq 0xd740
jmp 0x7cba
leaq 0x360(%rsp), %rdi
callq 0xc450
movq 0x130(%rsp), %rax
addq $0x388, %rsp            # imm = 0x388
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x288(%rsp)
movl %eax, 0x284(%rsp)
movq 0x290(%rsp), %rax
leaq 0x298(%rsp), %rcx
cmpq %rax, %rcx
movq %rax, 0xa0(%rsp)
je 0x7d3e
movq 0xa0(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x98(%rsp)
callq 0xc040
movq 0x98(%rsp), %rax
leaq 0x298(%rsp), %rcx
cmpq %rcx, %rax
movq %rax, 0xa0(%rsp)
jne 0x7d08
jmp 0x7fa3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x288(%rsp)
movl %eax, 0x284(%rsp)
jmp 0x7f64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x288(%rsp)
movl %eax, 0x284(%rsp)
movq 0x228(%rsp), %rax
leaq 0x230(%rsp), %rcx
cmpq %rax, %rcx
movq %rax, 0x90(%rsp)
je 0x7dc3
movq 0x90(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x88(%rsp)
callq 0xc040
movq 0x88(%rsp), %rax
leaq 0x230(%rsp), %rcx
cmpq %rcx, %rax
movq %rax, 0x90(%rsp)
jne 0x7d8d
jmp 0x7f64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x288(%rsp)
movl %eax, 0x284(%rsp)
jmp 0x7f25
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x288(%rsp)
movl %eax, 0x284(%rsp)
jmp 0x7ed1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x288(%rsp)
movl %eax, 0x284(%rsp)
jmp 0x7ec4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x288(%rsp)
movl %eax, 0x284(%rsp)
jmp 0x7e85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x288(%rsp)
movl %eax, 0x284(%rsp)
leaq 0x2f0(%rsp), %rax
movq %rax, 0x78(%rsp)
addq $0x60, %rax
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x70(%rsp)
callq 0xc040
movq 0x78(%rsp), %rcx
movq 0x70(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x80(%rsp)
jne 0x7e56
jmp 0x7e85
leaq 0x1d8(%rsp), %rax
movq %rax, 0x60(%rsp)
addq $0x40, %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x58(%rsp)
callq 0xc040
movq 0x60(%rsp), %rcx
movq 0x58(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x68(%rsp)
jne 0x7e9b
jmp 0x7ec4
leaq 0x1c0(%rsp), %rdi
callq 0xc450
testb $0x1, 0x1af(%rsp)
jne 0x7edd
jmp 0x7f23
movq 0x1d0(%rsp), %rax
leaq 0x1d8(%rsp), %rcx
cmpq %rax, %rcx
movq %rax, 0x50(%rsp)
je 0x7f21
movq 0x50(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x48(%rsp)
callq 0xc040
movq 0x48(%rsp), %rax
leaq 0x1d8(%rsp), %rcx
cmpq %rcx, %rax
movq %rax, 0x50(%rsp)
jne 0x7ef7
jmp 0x7f23
jmp 0x7f25
leaq 0x230(%rsp), %rax
movq %rax, 0x38(%rsp)
addq $0x40, %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x30(%rsp)
callq 0xc040
movq 0x38(%rsp), %rcx
movq 0x30(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x40(%rsp)
jne 0x7f3b
jmp 0x7f64
leaq 0x298(%rsp), %rax
movq %rax, 0x20(%rsp)
addq $0x40, %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x18(%rsp)
callq 0xc040
movq 0x20(%rsp), %rcx
movq 0x18(%rsp), %rax
cmpq %rcx, %rax
movq %rax, 0x28(%rsp)
jne 0x7f7a
jmp 0x7fa3
testb $0x1, 0x1ae(%rsp)
jne 0x7faf
jmp 0x7ff5
movq 0x2e8(%rsp), %rax
leaq 0x2f0(%rsp), %rcx
cmpq %rax, %rcx
movq %rax, 0x10(%rsp)
je 0x7ff3
movq 0x10(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x8(%rsp)
callq 0xc040
movq 0x8(%rsp), %rax
leaq 0x2f0(%rsp), %rcx
cmpq %rcx, %rax
movq %rax, 0x10(%rsp)
jne 0x7fc9
jmp 0x7ff5
jmp 0x8018
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x288(%rsp)
movl %eax, 0x284(%rsp)
leaq 0x360(%rsp), %rdi
callq 0xc450
movq 0x288(%rsp), %rdi
callq 0x5790
nopw %cs:(%rax,%rax)
nop