// File: /workspace/github_cpp_makefile_star2_O3/BUSEC[P]RPKI_Downgrade_Detector/./exp.cpp
// Function: UnknownToInvalidDowngrade::toJSON[abi:cxx11]()
string toJSON(){
    stringstream ss;

    ss<<"{";
    ss<<"\"CHANGE\":\"+U2I\", ";
    ss<<"\"ROA\":"<<getROA()->toJSON()<<", ";      
    ss<<"\"EFFECT\":"<<getUnknownToKnown()->toJSON()<<", "; 
    ss<<"\"EXCEPT\":{";
      for(unordered_map<int,PrefixRange*>::iterator i = getExceptions()->begin(); i != getExceptions()->end(); ++i){
        int as = i->first;
        PrefixRange* exception = i->second;
        if ( i != getExceptions()->begin() ) ss<<",";

        ss<<"\""<<as<<"\":"<<exception->toJSON();
      }
    ss<<"}"; // Closes EXCEPT
    
    ss<<"}"<<endl; // Closes hash
    
    return ss.str();
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rsi, 0x20(%rsp)
movq %rdi, %rbx
leaq 0x30(%rsp), %rdi
callq 0x2190
leaq 0x40(%rsp), %r14
leaq 0x2bf4(%rip), %rsi      # 0x833d
movl $0x1, %edx
movq %r14, %rdi
callq 0x2280
leaq 0x2bc5(%rip), %rsi      # 0x8322
movl $0x11, %edx
movq %r14, %rdi
callq 0x2280
leaq 0x2968(%rip), %rsi      # 0x80d9
movl $0x6, %edx
movq %r14, %rdi
callq 0x2280
movq %rsp, %rdi
movq 0x20(%rsp), %rsi
callq 0x53d8
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x2280
leaq 0x2b8e(%rip), %rsi      # 0x8331
movl $0x2, %edx
movq %rax, %rdi
callq 0x2280
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x57cb
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2240
leaq 0x290e(%rip), %rsi      # 0x80e0
movl $0x9, %edx
movq %r14, %rdi
callq 0x2280
movq 0x20(%rsp), %rax
leaq 0x30(%rax), %rsi
movq %rsp, %rdi
callq 0x55ba
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x2280
leaq 0x2b29(%rip), %rsi      # 0x8331
movl $0x2, %edx
movq %rax, %rdi
callq 0x2280
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x5830
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2240
leaq 0x2afd(%rip), %rsi      # 0x8334
movl $0xa, %edx
movq %r14, %rdi
callq 0x2280
movq %rbx, 0x28(%rsp)
movq 0x20(%rsp), %rax
movq 0x58(%rax), %r12
testq %r12, %r12
je 0x5904
leaq 0x287b(%rip), %r13      # 0x80dd
movq %rsp, %rbp
movl 0x8(%r12), %r15d
movq 0x10(%r12), %rbx
movq 0x20(%rsp), %rax
cmpq 0x58(%rax), %r12
je 0x588e
movl $0x1, %edx
movq %r14, %rdi
leaq 0x27c1(%rip), %rsi      # 0x804a
callq 0x2280
movl $0x1, %edx
movq %r14, %rdi
leaq 0x2a7b(%rip), %rsi      # 0x8318
callq 0x2280
movq %r14, %rdi
movl %r15d, %esi
callq 0x2340
movq %rax, %r15
movl $0x2, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2280
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x55ba
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r15, %rdi
callq 0x2280
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x58f7
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2240
movq (%r12), %r12
testq %r12, %r12
jne 0x5865
leaq 0x2733(%rip), %rsi      # 0x803e
movl $0x1, %edx
movq %r14, %rdi
callq 0x2280
movq 0x28(%rsp), %rbx
leaq 0x271a(%rip), %rsi      # 0x803e
movl $0x1, %edx
movq %r14, %rdi
callq 0x2280
movq 0x40(%rsp), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2170
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x2300
movq 0x6642(%rip), %rsi      # 0xbfb0
leaq 0x30(%rsp), %rdi
callq 0x21b0
leaq 0xb0(%rsp), %rdi
callq 0x20b0
movq %rbx, %rax
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x59d2
jmp 0x59d2
jmp 0x59b2
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x59be
jmp 0x59d2
jmp 0x59d2
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x59d5
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2240
jmp 0x59d5
movq %rax, %rbx
movq 0x65d4(%rip), %rsi      # 0xbfb0
leaq 0x30(%rsp), %rdi
callq 0x21b0
leaq 0xb0(%rsp), %rdi
callq 0x20b0
movq %rbx, %rdi
callq 0x2360
nop