// File: yeonnic[P]solparser/./main.cpp
// Function: main
int main(int argc, char **argv){

  args::ArgumentParser parser("This is a solidity parse program.", "This goes after the options.");
  args::HelpFlag help(parser, "help", "Display this help menu", {'h', "help"});

  args::Group inputGroup(parser, "read source options:", args::Group::Validators::Xor);
  args::ValueFlag<string> file(inputGroup, "NAME", "read the source file", {'f', "file"});
  args::Flag sinput(inputGroup, "stdin", "read the stdin", {'d', "stdin"});

  try {
    parser.ParseCLI(argc ,argv);


    if(file || sinput){
      string source;

      if(file){
        source = ReadFile(args::get(file));

        cout << source << endl;

      } else if(sinput){
        cout << "stdin input!!!" << endl;
      }
      
      auto tree = SolParser(source);

      SoltreeView(tree);

    }
  } catch (args::Completion& e){
    cout << e.what() << endl;
    return 0;
  } catch (const args::Help&){
    cout << parser;
    return 0;
  } catch (const args::ParseError& e){
    cerr << e.what() << std::endl;
    cerr << parser;
    return -1;
  } catch (const args::ValidationError e){
    std::cerr << parser;
    return 1;
  }
  return 0;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf70, %rsp            # imm = 0xF70
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x4f1(%rbp), %rdi
movq %rdi, -0xe08(%rbp)
callq 0x6630
movq -0xe08(%rbp), %rdx
leaq 0x3028a(%rip), %rsi     # 0x37094
leaq -0x4f0(%rbp), %rdi
callq 0x64f0
jmp 0x6e18
leaq -0x529(%rbp), %rdi
movq %rdi, -0xe10(%rbp)
callq 0x6630
movq -0xe10(%rbp), %rdx
leaq 0x3027d(%rip), %rsi     # 0x370b6
leaq -0x528(%rbp), %rdi
callq 0x64f0
jmp 0x6e47
leaq -0x4d0(%rbp), %rdi
leaq -0x4f0(%rbp), %rsi
leaq -0x528(%rbp), %rdx
callq 0x8170
jmp 0x6e63
leaq -0x528(%rbp), %rdi
callq 0x61f0
leaq -0x529(%rbp), %rdi
callq 0x6390
leaq -0x4f0(%rbp), %rdi
callq 0x61f0
leaq -0x4f1(%rbp), %rdi
callq 0x6390
leaq -0x661(%rbp), %rdi
movq %rdi, -0xe18(%rbp)
callq 0x6630
movq -0xe18(%rbp), %rdx
leaq 0x3021f(%rip), %rsi     # 0x370d3
leaq -0x660(%rbp), %rdi
callq 0x64f0
jmp 0x6ec2
leaq -0x689(%rbp), %rdi
movq %rdi, -0xe20(%rbp)
callq 0x6630
movq -0xe20(%rbp), %rdx
leaq 0x301f5(%rip), %rsi     # 0x370d8
leaq -0x688(%rbp), %rdi
callq 0x64f0
jmp 0x6ef1
leaq -0x760(%rbp), %rdi
movq %rdi, -0x768(%rbp)
movl $0x68, %esi
callq 0x8540
jmp 0x6f0b
leaq -0x738(%rbp), %rdi
movq %rdi, -0x768(%rbp)
leaq 0x301b3(%rip), %rsi     # 0x370d3
callq 0x8570
jmp 0x6f27
leaq -0x760(%rbp), %rax
movq %rax, -0x710(%rbp)
movq $0x2, -0x708(%rbp)
movq -0x710(%rbp), %rsi
movq -0x708(%rbp), %rdx
leaq -0x700(%rbp), %rdi
callq 0x8610
jmp 0x6f5c
leaq -0x640(%rbp), %rdi
leaq -0x4d0(%rbp), %rsi
leaq -0x660(%rbp), %rdx
leaq -0x688(%rbp), %rcx
leaq -0x700(%rbp), %r8
xorl %r9d, %r9d
callq 0x86f0
jmp 0x6f89
leaq -0x700(%rbp), %rdi
callq 0x8750
leaq -0x760(%rbp), %rax
movq %rax, -0xe30(%rbp)
addq $0x50, %rax
movq %rax, -0xe28(%rbp)
movq -0xe28(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xe38(%rbp)
callq 0x85f0
movq -0xe30(%rbp), %rcx
movq -0xe38(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe28(%rbp)
jne 0x6fae
leaq -0x688(%rbp), %rdi
callq 0x61f0
leaq -0x689(%rbp), %rdi
callq 0x6390
leaq -0x660(%rbp), %rdi
callq 0x61f0
leaq -0x661(%rbp), %rdi
callq 0x6390
leaq -0x7f1(%rbp), %rdi
movq %rdi, -0xe40(%rbp)
callq 0x6630
movq -0xe40(%rbp), %rdx
leaq 0x300bf(%rip), %rsi     # 0x370ef
leaq -0x7f0(%rbp), %rdi
callq 0x64f0
jmp 0x703e
leaq 0x173b(%rip), %rsi      # 0x8780
leaq -0x818(%rbp), %rdi
movq %rdi, -0xe48(%rbp)
callq 0x87b0
movq -0xe48(%rbp), %rcx
leaq -0x7d0(%rbp), %rdi
leaq -0x4d0(%rbp), %rsi
leaq -0x7f0(%rbp), %rdx
xorl %r8d, %r8d
callq 0x8840
jmp 0x707e
leaq -0x818(%rbp), %rdi
callq 0x8900
leaq -0x7f0(%rbp), %rdi
callq 0x61f0
leaq -0x7f1(%rbp), %rdi
callq 0x6390
leaq -0x991(%rbp), %rdi
movq %rdi, -0xe50(%rbp)
callq 0x6630
movq -0xe50(%rbp), %rdx
leaq 0x30041(%rip), %rsi     # 0x37104
leaq -0x990(%rbp), %rdi
callq 0x64f0
jmp 0x70d1
leaq -0x9b9(%rbp), %rdi
movq %rdi, -0xe58(%rbp)
callq 0x6630
movq -0xe58(%rbp), %rdx
leaq 0x30017(%rip), %rsi     # 0x37109
leaq -0x9b8(%rbp), %rdi
callq 0x64f0
jmp 0x7100
leaq -0xa90(%rbp), %rdi
movq %rdi, -0xa98(%rbp)
movl $0x66, %esi
callq 0x8540
jmp 0x711a
leaq -0xa68(%rbp), %rdi
movq %rdi, -0xa98(%rbp)
leaq 0x2ffea(%rip), %rsi     # 0x37119
callq 0x8570
jmp 0x7136
leaq -0xa90(%rbp), %rax
movq %rax, -0xa40(%rbp)
movq $0x2, -0xa38(%rbp)
movq -0xa40(%rbp), %rsi
movq -0xa38(%rbp), %rdx
leaq -0xa30(%rbp), %rdi
callq 0x8610
jmp 0x716b
leaq -0xab8(%rbp), %rdi
movq %rdi, -0xe60(%rbp)
callq 0x6510
movq -0xe60(%rbp), %r9
movq %rsp, %rax
movl $0x0, (%rax)
leaq -0x970(%rbp), %rdi
leaq -0x7d0(%rbp), %rsi
leaq -0x990(%rbp), %rdx
leaq -0x9b8(%rbp), %rcx
leaq -0xa30(%rbp), %r8
callq 0x8920
jmp 0x71b8
leaq -0xab8(%rbp), %rdi
callq 0x61f0
leaq -0xa30(%rbp), %rdi
callq 0x8750
leaq -0xa90(%rbp), %rax
movq %rax, -0xe70(%rbp)
addq $0x50, %rax
movq %rax, -0xe68(%rbp)
movq -0xe68(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xe78(%rbp)
callq 0x85f0
movq -0xe70(%rbp), %rcx
movq -0xe78(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe68(%rbp)
jne 0x71e9
leaq -0x9b8(%rbp), %rdi
callq 0x61f0
leaq -0x9b9(%rbp), %rdi
callq 0x6390
leaq -0x990(%rbp), %rdi
callq 0x61f0
leaq -0x991(%rbp), %rdi
callq 0x6390
leaq -0xbe9(%rbp), %rdi
movq %rdi, -0xe80(%rbp)
callq 0x6630
movq -0xe80(%rbp), %rdx
leaq 0x2febc(%rip), %rsi     # 0x37127
leaq -0xbe8(%rbp), %rdi
callq 0x64f0
jmp 0x7279
leaq -0xc11(%rbp), %rdi
movq %rdi, -0xe88(%rbp)
callq 0x6630
movq -0xe88(%rbp), %rdx
leaq 0x2fe84(%rip), %rsi     # 0x3711e
leaq -0xc10(%rbp), %rdi
callq 0x64f0
jmp 0x72a8
leaq -0xce8(%rbp), %rdi
movq %rdi, -0xcf0(%rbp)
movl $0x64, %esi
callq 0x8540
jmp 0x72c2
leaq -0xcc0(%rbp), %rdi
movq %rdi, -0xcf0(%rbp)
leaq 0x2fe50(%rip), %rsi     # 0x37127
callq 0x8570
jmp 0x72de
leaq -0xce8(%rbp), %rax
movq %rax, -0xc98(%rbp)
movq $0x2, -0xc90(%rbp)
movq -0xc98(%rbp), %rsi
movq -0xc90(%rbp), %rdx
leaq -0xc88(%rbp), %rdi
callq 0x8610
jmp 0x7313
leaq -0xbc8(%rbp), %rdi
leaq -0x7d0(%rbp), %rsi
leaq -0xbe8(%rbp), %rdx
leaq -0xc10(%rbp), %rcx
leaq -0xc88(%rbp), %r8
xorl %r9d, %r9d
callq 0x8990
jmp 0x7340
leaq -0xc88(%rbp), %rdi
callq 0x8750
leaq -0xce8(%rbp), %rax
movq %rax, -0xe98(%rbp)
addq $0x50, %rax
movq %rax, -0xe90(%rbp)
movq -0xe90(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xea0(%rbp)
callq 0x85f0
movq -0xe98(%rbp), %rcx
movq -0xea0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe90(%rbp)
jne 0x7365
leaq -0xc10(%rbp), %rdi
callq 0x61f0
leaq -0xc11(%rbp), %rdi
callq 0x6390
leaq -0xbe8(%rbp), %rdi
callq 0x61f0
leaq -0xbe9(%rbp), %rdi
callq 0x6390
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq -0x4d0(%rbp), %rdi
callq 0x89f0
jmp 0x73db
leaq -0x970(%rbp), %rdi
callq 0x8bc0
testb $0x1, %al
jne 0x7400
leaq -0xbc8(%rbp), %rdi
callq 0x8bc0
testb $0x1, %al
jne 0x7400
jmp 0x7bfb
leaq -0xd10(%rbp), %rdi
callq 0x6510
leaq -0x970(%rbp), %rdi
callq 0x8bc0
testb $0x1, %al
jne 0x7421
jmp 0x7969
leaq -0x970(%rbp), %rdi
callq 0x8be0
movq %rax, -0xea8(%rbp)
jmp 0x7436
movq -0xea8(%rbp), %rsi
leaq -0xd30(%rbp), %rdi
callq 0x6870
jmp 0x744b
leaq -0xd10(%rbp), %rdi
movq %rdi, -0xeb8(%rbp)
leaq -0xd30(%rbp), %rsi
movq %rsi, -0xec0(%rbp)
callq 0x63f0
movq -0xec0(%rbp), %rdi
callq 0x61f0
movq -0xeb8(%rbp), %rsi
movq 0x45b4a(%rip), %rdi     # 0x4cfd0
callq 0x62d0
movq %rax, -0xeb0(%rbp)
jmp 0x7494
movq -0xeb0(%rbp), %rdi
movq 0x45b1e(%rip), %rsi     # 0x4cfc0
callq 0x6360
jmp 0x74a9
jmp 0x79b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x750c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x74f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
leaq -0x528(%rbp), %rdi
callq 0x61f0
leaq -0x529(%rbp), %rdi
callq 0x6390
leaq -0x4f0(%rbp), %rdi
callq 0x61f0
leaq -0x4f1(%rbp), %rdi
callq 0x6390
jmp 0x7d35
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x764c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x7634
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
movq -0x768(%rbp), %rax
leaq -0x760(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xec8(%rbp)
je 0x75a8
movq -0xec8(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xed0(%rbp)
callq 0x85f0
movq -0xed0(%rbp), %rax
leaq -0x760(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xec8(%rbp)
jne 0x7577
jmp 0x7628
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x75dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
leaq -0x700(%rbp), %rdi
callq 0x8750
leaq -0x760(%rbp), %rax
movq %rax, -0xee0(%rbp)
addq $0x50, %rax
movq %rax, -0xed8(%rbp)
movq -0xed8(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xee8(%rbp)
callq 0x85f0
movq -0xee0(%rbp), %rcx
movq -0xee8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xed8(%rbp)
jne 0x75f5
jmp 0x7628
leaq -0x688(%rbp), %rdi
callq 0x61f0
leaq -0x689(%rbp), %rdi
callq 0x6390
leaq -0x660(%rbp), %rdi
callq 0x61f0
leaq -0x661(%rbp), %rdi
callq 0x6390
jmp 0x7d29
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x769b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
leaq -0x818(%rbp), %rdi
callq 0x8900
leaq -0x7f0(%rbp), %rdi
callq 0x61f0
leaq -0x7f1(%rbp), %rdi
callq 0x6390
jmp 0x7d1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x77ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x77d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
movq -0xa98(%rbp), %rax
leaq -0xa90(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xef0(%rbp)
je 0x7737
movq -0xef0(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xef8(%rbp)
callq 0x85f0
movq -0xef8(%rbp), %rax
leaq -0xa90(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xef0(%rbp)
jne 0x7706
jmp 0x77c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x777a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
leaq -0xab8(%rbp), %rdi
callq 0x61f0
leaq -0xa30(%rbp), %rdi
callq 0x8750
leaq -0xa90(%rbp), %rax
movq %rax, -0xf08(%rbp)
addq $0x50, %rax
movq %rax, -0xf00(%rbp)
movq -0xf00(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xf10(%rbp)
callq 0x85f0
movq -0xf08(%rbp), %rcx
movq -0xf10(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xf00(%rbp)
jne 0x7793
jmp 0x77c6
leaq -0x9b8(%rbp), %rdi
callq 0x61f0
leaq -0x9b9(%rbp), %rdi
callq 0x6390
leaq -0x990(%rbp), %rdi
callq 0x61f0
leaq -0x991(%rbp), %rdi
callq 0x6390
jmp 0x7d11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x792a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x7912
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
movq -0xcf0(%rbp), %rax
leaq -0xce8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xf18(%rbp)
je 0x7886
movq -0xf18(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xf20(%rbp)
callq 0x85f0
movq -0xf20(%rbp), %rax
leaq -0xce8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xf18(%rbp)
jne 0x7855
jmp 0x7906
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x78ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
leaq -0xc88(%rbp), %rdi
callq 0x8750
leaq -0xce8(%rbp), %rax
movq %rax, -0xf30(%rbp)
addq $0x50, %rax
movq %rax, -0xf28(%rbp)
movq -0xf28(%rbp), %rdi
addq $-0x28, %rdi
movq %rdi, -0xf38(%rbp)
callq 0x85f0
movq -0xf30(%rbp), %rcx
movq -0xf38(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xf28(%rbp)
jne 0x78d3
jmp 0x7906
leaq -0xc10(%rbp), %rdi
callq 0x61f0
leaq -0xc11(%rbp), %rdi
callq 0x6390
leaq -0xbe8(%rbp), %rdi
callq 0x61f0
leaq -0xbe9(%rbp), %rdi
callq 0x6390
jmp 0x7d05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x7a1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x7a10
leaq -0xbc8(%rbp), %rdi
callq 0x8bc0
testb $0x1, %al
jne 0x797b
jmp 0x79ae
movq 0x4564e(%rip), %rdi     # 0x4cfd0
leaq 0x2f7a4(%rip), %rsi     # 0x3712d
callq 0x6320
movq %rax, -0xf40(%rbp)
jmp 0x7997
movq -0xf40(%rbp), %rdi
movq 0x4561b(%rip), %rsi     # 0x4cfc0
callq 0x6360
jmp 0x79ac
jmp 0x79ae
jmp 0x79b0
leaq -0xdd0(%rbp), %rdi
leaq -0xd10(%rbp), %rsi
callq 0x34ca0
jmp 0x79c5
leaq -0xdd0(%rbp), %rdi
xorl %esi, %esi
callq 0x6bc0
jmp 0x79d5
leaq -0xdd0(%rbp), %rdi
callq 0x80e0
leaq -0xd10(%rbp), %rdi
callq 0x61f0
jmp 0x7bfb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
leaq -0xdd0(%rbp), %rdi
callq 0x80e0
leaq -0xd10(%rbp), %rdi
callq 0x61f0
movl -0x504(%rbp), %eax
movl %eax, -0xf44(%rbp)
movl $0x4, %ecx
cmpl %ecx, %eax
jne 0x7a9c
movq -0x500(%rbp), %rdi
callq 0x6130
movq %rax, -0xe00(%rbp)
movq -0xe00(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rsi
movq 0x45572(%rip), %rdi     # 0x4cfd0
callq 0x6320
movq %rax, -0xf50(%rbp)
jmp 0x7a6c
movq -0xf50(%rbp), %rdi
movq 0x45546(%rip), %rsi     # 0x4cfc0
callq 0x6360
jmp 0x7a81
movl $0x0, -0x4(%rbp)
movl $0x1, -0xde4(%rbp)
callq 0x65b0
jmp 0x7c9c
movl -0xf44(%rbp), %eax
movl $0x3, %ecx
cmpl %ecx, %eax
jne 0x7aee
movq -0x500(%rbp), %rdi
callq 0x6130
movq %rax, -0xdf8(%rbp)
movq 0x4550b(%rip), %rdi     # 0x4cfd0
leaq -0x4d0(%rbp), %rsi
callq 0x8c40
jmp 0x7ad3
movl $0x0, -0x4(%rbp)
movl $0x1, -0xde4(%rbp)
callq 0x65b0
jmp 0x7c7f
movl -0xf44(%rbp), %eax
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0x7b81
movq -0x500(%rbp), %rdi
callq 0x6130
movq %rax, -0xdf0(%rbp)
movq -0xdf0(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rsi
movq 0x454c2(%rip), %rdi     # 0x4cff0
callq 0x6320
movq %rax, -0xf58(%rbp)
jmp 0x7b3c
movq -0xf58(%rbp), %rdi
movq 0x45476(%rip), %rsi     # 0x4cfc0
callq 0x6360
jmp 0x7b51
movq 0x45498(%rip), %rdi     # 0x4cff0
leaq -0x4d0(%rbp), %rsi
callq 0x8c40
jmp 0x7b66
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl $0x1, -0xde4(%rbp)
callq 0x65b0
jmp 0x7c5f
movl -0xf44(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x7cf9
movq -0x500(%rbp), %rdi
movq %rdi, -0xf60(%rbp)
callq 0x6410
movq %rax, %rsi
leaq -0xde0(%rbp), %rdi
callq 0x8c00
movq -0xf60(%rbp), %rdi
callq 0x6130
movq 0x45427(%rip), %rdi     # 0x4cff0
leaq -0x4d0(%rbp), %rsi
callq 0x8c40
jmp 0x7bd7
movl $0x1, -0x4(%rbp)
movl $0x1, -0xde4(%rbp)
leaq -0xde0(%rbp), %rdi
callq 0x8c70
callq 0x65b0
jmp 0x7c25
jmp 0x7ca0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
leaq -0xde0(%rbp), %rdi
callq 0x8c70
callq 0x65b0
jmp 0x7c41
jmp 0x7cb1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
jmp 0x7cf9
jmp 0x7cf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
callq 0x65b0
jmp 0x7c61
jmp 0x7cb1
jmp 0x7cf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
callq 0x65b0
jmp 0x7c81
jmp 0x7cb1
jmp 0x7cf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x500(%rbp)
movl %eax, -0x504(%rbp)
callq 0x65b0
jmp 0x7c9e
jmp 0x7cb1
jmp 0x7cf9
movl $0x0, -0x4(%rbp)
movl $0x1, -0xde4(%rbp)
leaq -0xbc8(%rbp), %rdi
callq 0x8ca0
leaq -0x970(%rbp), %rdi
callq 0x8cc0
leaq -0x7d0(%rbp), %rdi
callq 0x8d10
leaq -0x640(%rbp), %rdi
callq 0x8d60
leaq -0x4d0(%rbp), %rdi
callq 0x8d80
movl -0x4(%rbp), %eax
addq $0xf70, %rsp            # imm = 0xF70
popq %rbp
retq
leaq -0xbc8(%rbp), %rdi
callq 0x8ca0
leaq -0x970(%rbp), %rdi
callq 0x8cc0
leaq -0x7d0(%rbp), %rdi
callq 0x8d10
leaq -0x640(%rbp), %rdi
callq 0x8d60
leaq -0x4d0(%rbp), %rdi
callq 0x8d80
movq -0x500(%rbp), %rdi
callq 0x6620
movq %rax, %rdi
callq 0x8c90
nopl (%rax)