// File: /workspace/github_cpp_makefile_star2_O2/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 %rbx
subq $0x28, %rsp
movq %rdi, %rbx
callq 0x66c0
testq %rax, %rax
je 0x8fc0
movq %rax, %r14
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
andq $0x0, 0x8(%rbx)
movb $0x0, 0x10(%rbx)
leaq 0x214c3(%rip), %rdx     # 0x2a428
movq %r14, %rdi
movl $0x2712, %esi           # imm = 0x2712
xorl %eax, %eax
callq 0x6610
leaq 0x103(%rip), %rdx       # 0x907e
movq %r14, %rdi
movl $0x4e2b, %esi           # imm = 0x4E2B
xorl %eax, %eax
callq 0x6610
movq %r14, %rdi
movl $0x2711, %esi           # imm = 0x2711
movq %rbx, %rdx
xorl %eax, %eax
callq 0x6610
movq %r14, %rdi
callq 0x64c0
movl %eax, %ebp
testl %eax, %eax
jne 0x8ff5
movq %r14, %rdi
callq 0x60b0
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
pushq $0x20
popq %rdi
callq 0x6250
movq %rax, %rbx
leaq 0x21185(%rip), %rsi     # 0x2a157
leaq 0x8(%rsp), %rdx
movq %rax, %rdi
callq 0x66e0
leaq 0x3953a(%rip), %rsi     # 0x42520
movq 0x39fbb(%rip), %rdx     # 0x42fa8
movq %rbx, %rdi
callq 0x6440
pushq $0x20
popq %rdi
callq 0x6250
movq %rax, %r14
leaq 0x8(%rsp), %rdi
movl %ebp, %esi
callq 0x81e2
movb $0x1, %bpl
leaq 0x2119a(%rip), %rsi     # 0x2a1b0
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x8335
xorl %ebp, %ebp
leaq 0x394f4(%rip), %rsi     # 0x42520
movq 0x39f75(%rip), %rdx     # 0x42fa8
movq %r14, %rdi
callq 0x6440
movq %rax, %r15
leaq 0x8(%rsp), %rdi
callq 0x6890
testb %bpl, %bpl
jne 0x9052
jmp 0x906e
movq %rax, %r15
movq %r14, %rdi
callq 0x6630
jmp 0x906e
movq %rax, %r15
movq %rbx, %rdi
callq 0x6630
jmp 0x9076
jmp 0x906b
movq %rax, %r15
movq %rbx, %rdi
callq 0x6890
movq %r15, %rdi
callq 0x6460