// File: /workspace/github_cpp_makefile_star2_O1/jliesch[P]ofxget/ofxhome.cc
// Function: ofxget::OfxHomeFullDumpString[abi:cxx11]()
string OfxHomeFullDumpString() {
    // Fake debugging response
    if (false) {
        return R"RESPONSE(<?xml version="1.0" encoding="utf-8"?>
                <institution id="421">
                <name>ING DIRECT (Canada)</name>
                <fid>061400152</fid>
                <org>INGDirectCanada</org>
                <url>https://ofx.ingdirect.ca</url>
                <ofxfail>1</ofxfail>
                <sslfail>5</sslfail>
                <lastofxvalidation>2014-10-26 22:57:57</lastofxvalidation>
                <lastsslvalidation>2014-12-03 23:01:03</lastsslvalidation>
                <profile addr1="3389 Steeles Avenue East" city="Toronto" state="ON" postalcode="M2H 3S8" country="CAN" csphone="800-464-3473" tsphone="800-464-3473" url="http://www.tangerine.ca" email="clientservices@ingdirect.ca" signonmsgset="true" bankmsgset="true"/>
                </institution>
                <institution id="422">
                <name>Safe Credit Union - OFX Beta</name>
                <fid>321173742</fid>
                <org>DI</org><url>https://ofxcert.diginsite.com/cmr/cmr.ofx</url>
                <ofxfail>3</ofxfail>
                <sslfail>0</sslfail>
                <lastofxvalidation>2010-03-18 16:25:00</lastofxvalidation>
                <lastsslvalidation>2018-03-17 00:12:01</lastsslvalidation>
                </institution>

<institution id="479">
<name>Vanguard Group, The</name>
<fid>15103</fid>
<org>Vanguard</org>
<brokerid>vanguard.com</brokerid>
<url>https://vesnc.vanguard.com/us/OfxDirectConnectServlet</url>
<ofxfail>0</ofxfail>
<sslfail>0</sslfail>
<lastofxvalidation>2018-03-18 00:34:54</lastofxvalidation>
<lastsslvalidation>2018-03-18 00:34:54</lastsslvalidation>
<profile finame="Vanguard" addr1="P.O. Box 1110" city="Valley Forge" state="PA" postalcode="19482-1110" country="USA" csphone="1-212-723-2898" tsphone="1-212-723-2898" url="https://vesnc.vanguard.com/us/OfxDirectConnectServlet" email="alex_shnir@smb.com" signonmsgset="true" bankmsgset="true" invstmtmsgset="true" emailmsgset="true" seclistmsgset="true"/>
</institution>

)RESPONSE";
    }
    CURL *curl = curl_easy_init();
    if (! curl) {
      throw string("Could not initialize curl");
    }

    string response;
    curl_easy_setopt(curl, CURLOPT_URL, "http://www.ofxhome.com/api.php?dump=yes");
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, CurlWriteToString);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&response);

    CURLcode res = curl_easy_perform(curl);
    if (res != CURLE_OK) {
        throw "Curl error: " + std::to_string(res);
    }

    curl_easy_cleanup(curl);

    return response;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
callq 0x66a0
testq %rax, %rax
je 0xac0b
movq %rax, %r14
leaq 0x10(%rbx), %r12
movq %r12, (%rbx)
movq $0x0, 0x8(%rbx)
movb $0x0, 0x10(%rbx)
leaq 0x2689a(%rip), %rdx     # 0x31448
movq %rax, %rdi
movl $0x2712, %esi           # imm = 0x2712
xorl %eax, %eax
callq 0x65e0
leaq 0x12b(%rip), %rdx       # 0xacef
movq %r14, %rdi
movl $0x4e2b, %esi           # imm = 0x4E2B
xorl %eax, %eax
callq 0x65e0
movq %r14, %rdi
movl $0x2711, %esi           # imm = 0x2711
movq %rbx, %rdx
xorl %eax, %eax
callq 0x65e0
movq %r14, %rdi
callq 0x6490
movl %eax, %ebp
testl %eax, %eax
jne 0xac52
movq %r14, %rdi
callq 0x60c0
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x20, %edi
callq 0x6260
movq %rax, %rbx
addq $0x10, %rax
movq %rax, (%rbx)
movb $0x1, %bpl
leaq 0x2652e(%rip), %rsi     # 0x31157
leaq 0x26540(%rip), %rdx     # 0x31170
movq %rbx, %rdi
callq 0xa06a
xorl %ebp, %ebp
leaq 0x3b8af(%rip), %rsi     # 0x464f0
movq 0x3c350(%rip), %rdx     # 0x46f98
movq %rbx, %rdi
callq 0x6420
jmp 0xac96
movl $0x20, %edi
callq 0x6260
movq %rax, %r15
movq %rsp, %rdi
movl %ebp, %esi
callq 0xc3a2
movb $0x1, %bpl
leaq 0x2653d(%rip), %rsi     # 0x311b0
movq %rsp, %rdx
movq %r15, %rdi
callq 0xc332
xorl %ebp, %ebp
leaq 0x3b869(%rip), %rsi     # 0x464f0
movq 0x3c30a(%rip), %rdx     # 0x46f98
movq %r15, %rdi
callq 0x6420
movq %rax, %r14
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xacb4
callq 0x63b0
jmp 0xacb4
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0xacda
movq %r15, %rdi
callq 0x6600
jmp 0xacda
movq %rax, %r14
testb %bpl, %bpl
je 0xace7
movq %rbx, %rdi
callq 0x6600
jmp 0xace7
jmp 0xacd7
movq %rax, %r14
movq (%rbx), %rdi
cmpq %r12, %rdi
je 0xace7
callq 0x63b0
movq %r14, %rdi
callq 0x6430