// File: jeffchan[P]blockchain-parser/BlockChain.cpp
// Function: BitcoinTransactionFactory::printAddress(BitcoinAddress*)
void printAddress(BitcoinAddress *ba)
	{
		uint32_t i = mAddresses.getIndex(ba);
		printf("========================================\r\n");
		printf("PublicKey: %s[%d] has %s transactions associated with it.\r\n", getKey(i+1),i+1, formatNumber(ba->mTransactionCount) );
		printf("Balance: %0.4f : TotalReceived: %0.4f TotalSpent: %0.4f\r\n", (float) (ba->mTotalReceived-ba->mTotalSent)/ONE_BTC, (float)ba->mTotalReceived / ONE_BTC, (float) ba->mTotalSent / ONE_BTC );
		if ( ba->mLastInputTime )
		{
			printf("Last Input Time: %s\r\n", getTimeString(ba->mLastInputTime) );
		}
		if ( ba->mLastOutputTime )
		{
			printf("Last Output Time: %s\r\n", getTimeString(ba->mLastOutputTime) );
		}
		for (uint32_t j=0; j<ba->mTransactionCount; j++)
		{
			printTransaction(j,ba->mTransactions[j],i+1);
		}
		printf("========================================\r\n");
		printf("\r\n");
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x48(%rbp)
movq -0x10(%rbp), %rsi
callq 0x1d0d0
movl %eax, -0x14(%rbp)
leaq 0x1221c(%rip), %rdi     # 0x30fb7
xorl %eax, %eax
movb %al, -0x31(%rbp)
callq 0x2050
movq -0x48(%rbp), %rdi
movl -0x14(%rbp), %esi
incl %esi
callq 0x1efc0
movq %rax, -0x40(%rbp)
movl -0x14(%rbp), %eax
incl %eax
movl %eax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movl 0x3c(%rax), %edi
callq 0x19c20
movq -0x40(%rbp), %rsi
movl -0x38(%rbp), %edx
movq %rax, %rcx
movb -0x31(%rbp), %al
leaq 0x12b86(%rip), %rdi     # 0x31965
callq 0x2050
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rcx
movq %rcx, -0x30(%rbp)
movq 0x28(%rax), %rax
movq %rax, -0x28(%rbp)
subq %rcx, %rax
movq %rax, %rdx
shrq %rdx
movl %eax, %ecx
andl $0x1, %ecx
orq %rdx, %rcx
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
cvtsi2ss %rax, %xmm1
movss %xmm1, -0x20(%rbp)
testq %rax, %rax
movss %xmm0, -0x1c(%rbp)
js 0x1ee30
movss -0x20(%rbp), %xmm0
movss %xmm0, -0x1c(%rbp)
movq -0x28(%rbp), %rax
movss -0x1c(%rbp), %xmm0
movss 0x11def(%rip), %xmm1    # 0x30c30
movss %xmm1, -0x5c(%rbp)
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x58(%rbp)
movq %rax, %rdx
shrq %rdx
movl %eax, %ecx
andl $0x1, %ecx
orq %rdx, %rcx
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
cvtsi2ss %rax, %xmm1
movss %xmm1, -0x50(%rbp)
testq %rax, %rax
movss %xmm0, -0x4c(%rbp)
js 0x1ee88
movss -0x50(%rbp), %xmm0
movss %xmm0, -0x4c(%rbp)
movq -0x30(%rbp), %rax
movss -0x5c(%rbp), %xmm1
movss -0x4c(%rbp), %xmm0
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x70(%rbp)
movq %rax, %rdx
shrq %rdx
movl %eax, %ecx
andl $0x1, %ecx
orq %rdx, %rcx
cvtsi2ss %rcx, %xmm0
addss %xmm0, %xmm0
cvtsi2ss %rax, %xmm1
movss %xmm1, -0x64(%rbp)
testq %rax, %rax
movss %xmm0, -0x60(%rbp)
js 0x1eed8
movss -0x64(%rbp), %xmm0
movss %xmm0, -0x60(%rbp)
movsd -0x70(%rbp), %xmm1
movsd -0x58(%rbp), %xmm0
movss -0x60(%rbp), %xmm2
movss 0x11d41(%rip), %xmm3    # 0x30c30
divss %xmm3, %xmm2
cvtss2sd %xmm2, %xmm2
leaq 0x12aa3(%rip), %rdi     # 0x319a1
movb $0x3, %al
callq 0x2050
movq -0x10(%rbp), %rax
cmpl $0x0, 0x14(%rax)
je 0x1ef2c
movq -0x10(%rbp), %rax
movl 0x14(%rax), %edi
callq 0x19db0
movq %rax, %rsi
leaq 0x12ab6(%rip), %rdi     # 0x319db
movb $0x0, %al
callq 0x2050
movq -0x10(%rbp), %rax
cmpl $0x0, 0x18(%rax)
je 0x1ef53
movq -0x10(%rbp), %rax
movl 0x18(%rax), %edi
callq 0x19db0
movq %rax, %rsi
leaq 0x12aa5(%rip), %rdi     # 0x319f1
movb $0x0, %al
callq 0x2050
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x3c(%rcx), %eax
jae 0x1ef92
movq -0x48(%rbp), %rdi
movl -0x18(%rbp), %esi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rax
movl -0x18(%rbp), %ecx
movq (%rax,%rcx,8), %rdx
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
callq 0x1f040
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x1ef5a
leaq 0x1201e(%rip), %rdi     # 0x30fb7
movb $0x0, %al
callq 0x2050
leaq 0x12475(%rip), %rdi     # 0x3141c
movb $0x0, %al
callq 0x2050
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop