// File: Sherhang[P]redis-for-cpp/demo4.cpp
// Function: main
int main()
{   int pool_size = 100;
    string ip = "127.0.0.1";
    int port = 6379;
    string passwd ="yehang";
    RedisConnectPool rc_pool;
    if(!rc_pool.init(pool_size, ip, port, passwd))
    {
        cout<<"rc_pool init failure!"<<endl;
        exit(0);
    }
    
    //1
    cout<<"used num : "<<rc_pool.getUsedCount()<<endl;
    cout<<"canUse num : "<<rc_pool.getCanUseNum()<<endl;
    rc_pool.getConnect();
    
    //2
    cout<<"used num : "<<rc_pool.getUsedCount()<<endl;
    cout<<"canUse num : "<<rc_pool.getCanUseNum()<<endl;
    
    redisContext* context = rc_pool.getConnect();
    if(context == NULL)
        exit(0);
    Redis r1(context);
    r1.set("hello", "hi");
    cout<<r1.get("hello")<<endl;
    r1.del("hello");
    rc_pool.releaseConnect(context);//回收

    //3
    cout<<"used num : "<<rc_pool.getUsedCount()<<endl;
    cout<<"canUse num : "<<rc_pool.getCanUseNum()<<endl;
    context = rc_pool.getConnect();
    if(!rc_pool.isUseful(context))
    {
        cout<<"[ERROR] context is not in use "<<__func__<<__LINE__<<endl;
    }
    Redis redis(context);//初始化，这种方式会自动禁用disconnect
    redis.set("str", "hello");
    string v;
    v = redis.get("str");
    cout<<"get key "<<v<<endl;
    redis.del("str");
    redis.disconnect();//这句话无效
    //rc_pool.releaseConnect(context);//回收
    
    //4
    cout<<"used num : "<<rc_pool.getUsedCount()<<endl;
    cout<<"canUse num : "<<rc_pool.getCanUseNum()<<endl;
    context = rc_pool.getConnect();    
    if(context==NULL)
        cout<<"no context"<<endl;
    Redis redis1(context);
    cout<<redis1.get("str")<<endl;

    rc_pool.releaseConnect(context);
    rc_pool.releaseConnect(context);//重复回收
    
    //5
    cout<<"used num : "<<rc_pool.getUsedCount()<<endl;
    cout<<"canUse num : "<<rc_pool.getCanUseNum()<<endl;
    vector<string> vs;
    redis.keys("*",vs);
    //for(;;);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x630, %rsp            # imm = 0x630
movl $0x0, -0x4(%rbp)
movl $0x64, -0x8(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x470(%rbp)
callq 0x35f0
movq -0x470(%rbp), %rdx
leaq 0x1476d(%rip), %rsi     # 0x18004
leaq -0x28(%rbp), %rdi
callq 0x34b0
jmp 0x38a2
leaq -0x29(%rbp), %rdi
callq 0x33b0
movl $0x18eb, -0x40(%rbp)    # imm = 0x18EB
leaq -0x61(%rbp), %rdi
movq %rdi, -0x478(%rbp)
callq 0x35f0
movq -0x478(%rbp), %rdx
leaq 0x1473e(%rip), %rsi     # 0x1800e
leaq -0x60(%rbp), %rdi
callq 0x34b0
jmp 0x38db
leaq -0x61(%rbp), %rdi
callq 0x33b0
leaq -0x100(%rbp), %rdi
callq 0xdbf0
jmp 0x38f2
movl -0x8(%rbp), %esi
movl -0x40(%rbp), %ecx
leaq -0x100(%rbp), %rdi
leaq -0x28(%rbp), %rdx
leaq -0x60(%rbp), %r8
callq 0xdd20
movb %al, -0x479(%rbp)
jmp 0x3914
movb -0x479(%rbp), %al
testb $0x1, %al
jne 0x39b2
jmp 0x3924
movq 0x1c6ad(%rip), %rdi     # 0x1ffd8
leaq 0x146e3(%rip), %rsi     # 0x18015
callq 0x3370
movq %rax, -0x488(%rbp)
jmp 0x3940
movq -0x488(%rbp), %rdi
movq 0x1c67a(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x3955
xorl %edi, %edi
callq 0x3430
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x33b0
jmp 0x471e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x61(%rbp), %rdi
callq 0x33b0
jmp 0x4715
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x470c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x4700
movq 0x1c61f(%rip), %rdi     # 0x1ffd8
leaq 0x1466b(%rip), %rsi     # 0x1802b
callq 0x3370
movq %rax, -0x490(%rbp)
jmp 0x39ce
leaq -0x100(%rbp), %rdi
callq 0x4730
movl %eax, -0x494(%rbp)
jmp 0x39e2
movl -0x494(%rbp), %esi
movq -0x490(%rbp), %rdi
callq 0x35d0
movq %rax, -0x4a0(%rbp)
jmp 0x39fd
movq -0x4a0(%rbp), %rdi
movq 0x1c5bd(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x3a12
movq 0x1c5bf(%rip), %rdi     # 0x1ffd8
leaq 0x14617(%rip), %rsi     # 0x18037
callq 0x3370
movq %rax, -0x4a8(%rbp)
jmp 0x3a2e
leaq -0x100(%rbp), %rdi
callq 0x4750
movl %eax, -0x4ac(%rbp)
jmp 0x3a42
movl -0x4ac(%rbp), %esi
movq -0x4a8(%rbp), %rdi
callq 0x35d0
movq %rax, -0x4b8(%rbp)
jmp 0x3a5d
movq -0x4b8(%rbp), %rdi
movq 0x1c55d(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x3a72
leaq -0x100(%rbp), %rdi
callq 0xe160
jmp 0x3a80
movq 0x1c551(%rip), %rdi     # 0x1ffd8
leaq 0x1459d(%rip), %rsi     # 0x1802b
callq 0x3370
movq %rax, -0x4c0(%rbp)
jmp 0x3a9c
leaq -0x100(%rbp), %rdi
callq 0x4730
movl %eax, -0x4c4(%rbp)
jmp 0x3ab0
movl -0x4c4(%rbp), %esi
movq -0x4c0(%rbp), %rdi
callq 0x35d0
movq %rax, -0x4d0(%rbp)
jmp 0x3acb
movq -0x4d0(%rbp), %rdi
movq 0x1c4ef(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x3ae0
movq 0x1c4f1(%rip), %rdi     # 0x1ffd8
leaq 0x14549(%rip), %rsi     # 0x18037
callq 0x3370
movq %rax, -0x4d8(%rbp)
jmp 0x3afc
leaq -0x100(%rbp), %rdi
callq 0x4750
movl %eax, -0x4dc(%rbp)
jmp 0x3b10
movl -0x4dc(%rbp), %esi
movq -0x4d8(%rbp), %rdi
callq 0x35d0
movq %rax, -0x4e8(%rbp)
jmp 0x3b2b
movq -0x4e8(%rbp), %rdi
movq 0x1c48f(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x3b40
leaq -0x100(%rbp), %rdi
callq 0xe160
movq %rax, -0x4f0(%rbp)
jmp 0x3b55
movq -0x4f0(%rbp), %rax
movq %rax, -0x108(%rbp)
cmpq $0x0, -0x108(%rbp)
jne 0x3b74
xorl %edi, %edi
callq 0x3430
movq -0x108(%rbp), %rsi
leaq -0x170(%rbp), %rdi
callq 0x4b80
jmp 0x3b89
leaq -0x191(%rbp), %rdi
movq %rdi, -0x4f8(%rbp)
callq 0x35f0
movq -0x4f8(%rbp), %rdx
leaq 0x1449b(%rip), %rsi     # 0x18045
leaq -0x190(%rbp), %rdi
callq 0x34b0
jmp 0x3bb8
leaq -0x1b9(%rbp), %rdi
movq %rdi, -0x500(%rbp)
callq 0x35f0
movq -0x500(%rbp), %rdx
leaq 0x14472(%rip), %rsi     # 0x1804b
leaq -0x1b8(%rbp), %rdi
callq 0x34b0
jmp 0x3be7
leaq -0x170(%rbp), %rdi
leaq -0x190(%rbp), %rsi
leaq -0x1b8(%rbp), %rdx
callq 0x6da0
jmp 0x3c03
leaq -0x1b8(%rbp), %rdi
callq 0x3260
leaq -0x1b9(%rbp), %rdi
callq 0x33b0
leaq -0x190(%rbp), %rdi
callq 0x3260
leaq -0x191(%rbp), %rdi
callq 0x33b0
leaq -0x201(%rbp), %rdi
movq %rdi, -0x508(%rbp)
callq 0x35f0
movq -0x508(%rbp), %rdx
leaq 0x143f1(%rip), %rsi     # 0x18045
leaq -0x200(%rbp), %rdi
callq 0x34b0
jmp 0x3c62
leaq -0x1e0(%rbp), %rdi
leaq -0x170(%rbp), %rsi
leaq -0x200(%rbp), %rdx
callq 0x6f70
jmp 0x3c7e
movq 0x1c353(%rip), %rdi     # 0x1ffd8
leaq -0x1e0(%rbp), %rsi
callq 0x3350
movq %rax, -0x510(%rbp)
jmp 0x3c9a
movq -0x510(%rbp), %rdi
movq 0x1c320(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x3caf
leaq -0x1e0(%rbp), %rdi
callq 0x3260
leaq -0x200(%rbp), %rdi
callq 0x3260
leaq -0x201(%rbp), %rdi
callq 0x33b0
leaq -0x229(%rbp), %rdi
movq %rdi, -0x518(%rbp)
callq 0x35f0
movq -0x518(%rbp), %rdx
leaq 0x14351(%rip), %rsi     # 0x18045
leaq -0x228(%rbp), %rdi
callq 0x34b0
jmp 0x3d02
leaq -0x170(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x53e0
jmp 0x3d17
leaq -0x228(%rbp), %rdi
callq 0x3260
leaq -0x229(%rbp), %rdi
callq 0x33b0
movq -0x108(%rbp), %rsi
leaq -0x100(%rbp), %rdi
callq 0xe2c0
jmp 0x3d44
movq 0x1c28d(%rip), %rdi     # 0x1ffd8
leaq 0x142d9(%rip), %rsi     # 0x1802b
callq 0x3370
movq %rax, -0x520(%rbp)
jmp 0x3d60
leaq -0x100(%rbp), %rdi
callq 0x4730
movl %eax, -0x524(%rbp)
jmp 0x3d74
movl -0x524(%rbp), %esi
movq -0x520(%rbp), %rdi
callq 0x35d0
movq %rax, -0x530(%rbp)
jmp 0x3d8f
movq -0x530(%rbp), %rdi
movq 0x1c22b(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x3da4
movq 0x1c22d(%rip), %rdi     # 0x1ffd8
leaq 0x14285(%rip), %rsi     # 0x18037
callq 0x3370
movq %rax, -0x538(%rbp)
jmp 0x3dc0
leaq -0x100(%rbp), %rdi
callq 0x4750
movl %eax, -0x53c(%rbp)
jmp 0x3dd4
movl -0x53c(%rbp), %esi
movq -0x538(%rbp), %rdi
callq 0x35d0
movq %rax, -0x548(%rbp)
jmp 0x3def
movq -0x548(%rbp), %rdi
movq 0x1c1cb(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x3e04
leaq -0x100(%rbp), %rdi
callq 0xe160
movq %rax, -0x550(%rbp)
jmp 0x3e19
movq -0x550(%rbp), %rax
movq %rax, -0x108(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0xe410
movb %al, -0x551(%rbp)
jmp 0x3e42
movb -0x551(%rbp), %al
testb $0x1, %al
jne 0x3fb4
jmp 0x3e52
movq 0x1c17f(%rip), %rdi     # 0x1ffd8
leaq 0x141ee(%rip), %rsi     # 0x1804e
callq 0x3370
movq %rax, -0x560(%rbp)
jmp 0x3e6e
movq -0x560(%rbp), %rdi
leaq 0x141f1(%rip), %rsi     # 0x1806d
callq 0x3370
movq %rax, -0x568(%rbp)
jmp 0x3e8a
movq -0x568(%rbp), %rdi
movl $0x32, %esi
callq 0x35d0
movq %rax, -0x570(%rbp)
jmp 0x3ea4
movq -0x570(%rbp), %rdi
movq 0x1c116(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x3eb9
jmp 0x3fb4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3f0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3ef2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x3260
leaq -0x1b9(%rbp), %rdi
callq 0x33b0
leaq -0x190(%rbp), %rdi
callq 0x3260
leaq -0x191(%rbp), %rdi
callq 0x33b0
jmp 0x46f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3f5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3f4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x3260
leaq -0x200(%rbp), %rdi
callq 0x3260
leaq -0x201(%rbp), %rdi
callq 0x33b0
jmp 0x46f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3f92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x3260
leaq -0x229(%rbp), %rdi
callq 0x33b0
jmp 0x46f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x46f4
movq -0x108(%rbp), %rsi
leaq -0x298(%rbp), %rdi
callq 0x4b80
jmp 0x3fc9
leaq -0x2b9(%rbp), %rdi
movq %rdi, -0x578(%rbp)
callq 0x35f0
movq -0x578(%rbp), %rdx
leaq 0x14088(%rip), %rsi     # 0x18072
leaq -0x2b8(%rbp), %rdi
callq 0x34b0
jmp 0x3ff8
leaq -0x2e1(%rbp), %rdi
movq %rdi, -0x580(%rbp)
callq 0x35f0
movq -0x580(%rbp), %rdx
leaq 0x1402c(%rip), %rsi     # 0x18045
leaq -0x2e0(%rbp), %rdi
callq 0x34b0
jmp 0x4027
leaq -0x298(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
leaq -0x2e0(%rbp), %rdx
callq 0x6da0
jmp 0x4043
leaq -0x2e0(%rbp), %rdi
callq 0x3260
leaq -0x2e1(%rbp), %rdi
callq 0x33b0
leaq -0x2b8(%rbp), %rdi
callq 0x3260
leaq -0x2b9(%rbp), %rdi
callq 0x33b0
leaq -0x308(%rbp), %rdi
callq 0x34d0
leaq -0x349(%rbp), %rdi
movq %rdi, -0x588(%rbp)
callq 0x35f0
movq -0x588(%rbp), %rdx
leaq 0x13fd2(%rip), %rsi     # 0x18072
leaq -0x348(%rbp), %rdi
callq 0x34b0
jmp 0x40ae
leaq -0x328(%rbp), %rdi
leaq -0x298(%rbp), %rsi
leaq -0x348(%rbp), %rdx
callq 0x6f70
jmp 0x40ca
leaq -0x308(%rbp), %rdi
leaq -0x328(%rbp), %rsi
movq %rsi, -0x598(%rbp)
callq 0x3440
movq -0x598(%rbp), %rdi
callq 0x3260
leaq -0x348(%rbp), %rdi
callq 0x3260
leaq -0x349(%rbp), %rdi
callq 0x33b0
movq 0x1bec9(%rip), %rdi     # 0x1ffd8
leaq 0x13f60(%rip), %rsi     # 0x18076
callq 0x3370
movq %rax, -0x590(%rbp)
jmp 0x4124
movq -0x590(%rbp), %rdi
leaq -0x308(%rbp), %rsi
callq 0x3350
movq %rax, -0x5a0(%rbp)
jmp 0x4140
movq -0x5a0(%rbp), %rdi
movq 0x1be7a(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x4155
leaq -0x371(%rbp), %rdi
movq %rdi, -0x5a8(%rbp)
callq 0x35f0
movq -0x5a8(%rbp), %rdx
leaq 0x13efc(%rip), %rsi     # 0x18072
leaq -0x370(%rbp), %rdi
callq 0x34b0
jmp 0x4184
leaq -0x298(%rbp), %rdi
leaq -0x370(%rbp), %rsi
callq 0x53e0
jmp 0x4199
leaq -0x370(%rbp), %rdi
callq 0x3260
leaq -0x371(%rbp), %rdi
callq 0x33b0
leaq -0x298(%rbp), %rdi
callq 0x5300
jmp 0x41bf
movq 0x1be12(%rip), %rdi     # 0x1ffd8
leaq 0x13e5e(%rip), %rsi     # 0x1802b
callq 0x3370
movq %rax, -0x5b0(%rbp)
jmp 0x41db
leaq -0x100(%rbp), %rdi
callq 0x4730
movl %eax, -0x5b4(%rbp)
jmp 0x41ef
movl -0x5b4(%rbp), %esi
movq -0x5b0(%rbp), %rdi
callq 0x35d0
movq %rax, -0x5c0(%rbp)
jmp 0x420a
movq -0x5c0(%rbp), %rdi
movq 0x1bdb0(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x421f
movq 0x1bdb2(%rip), %rdi     # 0x1ffd8
leaq 0x13e0a(%rip), %rsi     # 0x18037
callq 0x3370
movq %rax, -0x5c8(%rbp)
jmp 0x423b
leaq -0x100(%rbp), %rdi
callq 0x4750
movl %eax, -0x5cc(%rbp)
jmp 0x424f
movl -0x5cc(%rbp), %esi
movq -0x5c8(%rbp), %rdi
callq 0x35d0
movq %rax, -0x5d8(%rbp)
jmp 0x426a
movq -0x5d8(%rbp), %rdi
movq 0x1bd50(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x427f
leaq -0x100(%rbp), %rdi
callq 0xe160
movq %rax, -0x5e0(%rbp)
jmp 0x4294
movq -0x5e0(%rbp), %rax
movq %rax, -0x108(%rbp)
cmpq $0x0, -0x108(%rbp)
jne 0x43c2
movq 0x1bd21(%rip), %rdi     # 0x1ffd8
leaq 0x13dc1(%rip), %rsi     # 0x1807f
callq 0x3370
movq %rax, -0x5e8(%rbp)
jmp 0x42cc
movq -0x5e8(%rbp), %rdi
movq 0x1bcee(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x42e1
jmp 0x43c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x4332
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x431a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x3260
leaq -0x2e1(%rbp), %rdi
callq 0x33b0
leaq -0x2b8(%rbp), %rdi
callq 0x3260
leaq -0x2b9(%rbp), %rdi
callq 0x33b0
jmp 0x46e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x4369
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x348(%rbp), %rdi
callq 0x3260
leaq -0x349(%rbp), %rdi
callq 0x33b0
jmp 0x46dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x46dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x43b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x370(%rbp), %rdi
callq 0x3260
leaq -0x371(%rbp), %rdi
callq 0x33b0
jmp 0x46dc
movq -0x108(%rbp), %rsi
leaq -0x3e0(%rbp), %rdi
callq 0x4b80
jmp 0x43d7
leaq -0x421(%rbp), %rdi
movq %rdi, -0x5f0(%rbp)
callq 0x35f0
movq -0x5f0(%rbp), %rdx
leaq 0x13c7a(%rip), %rsi     # 0x18072
leaq -0x420(%rbp), %rdi
callq 0x34b0
jmp 0x4406
leaq -0x400(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
leaq -0x420(%rbp), %rdx
callq 0x6f70
jmp 0x4422
movq 0x1bbaf(%rip), %rdi     # 0x1ffd8
leaq -0x400(%rbp), %rsi
callq 0x3350
movq %rax, -0x5f8(%rbp)
jmp 0x443e
movq -0x5f8(%rbp), %rdi
movq 0x1bb7c(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x4453
leaq -0x400(%rbp), %rdi
callq 0x3260
leaq -0x420(%rbp), %rdi
callq 0x3260
leaq -0x421(%rbp), %rdi
callq 0x33b0
movq -0x108(%rbp), %rsi
leaq -0x100(%rbp), %rdi
callq 0xe2c0
jmp 0x448c
movq -0x108(%rbp), %rsi
leaq -0x100(%rbp), %rdi
callq 0xe2c0
jmp 0x44a1
movq 0x1bb30(%rip), %rdi     # 0x1ffd8
leaq 0x13b7c(%rip), %rsi     # 0x1802b
callq 0x3370
movq %rax, -0x600(%rbp)
jmp 0x44bd
leaq -0x100(%rbp), %rdi
callq 0x4730
movl %eax, -0x604(%rbp)
jmp 0x44d1
movl -0x604(%rbp), %esi
movq -0x600(%rbp), %rdi
callq 0x35d0
movq %rax, -0x610(%rbp)
jmp 0x44ec
movq -0x610(%rbp), %rdi
movq 0x1bace(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x4501
movq 0x1bad0(%rip), %rdi     # 0x1ffd8
leaq 0x13b28(%rip), %rsi     # 0x18037
callq 0x3370
movq %rax, -0x618(%rbp)
jmp 0x451d
leaq -0x100(%rbp), %rdi
callq 0x4750
movl %eax, -0x61c(%rbp)
jmp 0x4531
movl -0x61c(%rbp), %esi
movq -0x618(%rbp), %rdi
callq 0x35d0
movq %rax, -0x628(%rbp)
jmp 0x454c
movq -0x628(%rbp), %rdi
movq 0x1ba6e(%rip), %rsi     # 0x1ffc8
callq 0x33a0
jmp 0x4561
leaq -0x440(%rbp), %rdi
callq 0x4770
leaq -0x461(%rbp), %rdi
movq %rdi, -0x630(%rbp)
callq 0x35f0
movq -0x630(%rbp), %rdx
leaq 0x13afc(%rip), %rsi     # 0x1808a
leaq -0x460(%rbp), %rdi
callq 0x34b0
jmp 0x459c
leaq -0x298(%rbp), %rdi
leaq -0x460(%rbp), %rsi
leaq -0x440(%rbp), %rdx
callq 0x5a60
jmp 0x45b8
leaq -0x460(%rbp), %rdi
callq 0x3260
leaq -0x461(%rbp), %rdi
callq 0x33b0
leaq -0x440(%rbp), %rdi
callq 0x4790
leaq -0x3e0(%rbp), %rdi
callq 0x4be0
leaq -0x308(%rbp), %rdi
callq 0x3260
leaq -0x298(%rbp), %rdi
callq 0x4be0
leaq -0x170(%rbp), %rdi
callq 0x4be0
leaq -0x100(%rbp), %rdi
callq 0xdc40
leaq -0x60(%rbp), %rdi
callq 0x3260
leaq -0x28(%rbp), %rdi
callq 0x3260
movl -0x4(%rbp), %eax
addq $0x630, %rsp            # imm = 0x630
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x4676
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x466a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x3260
leaq -0x420(%rbp), %rdi
callq 0x3260
leaq -0x421(%rbp), %rdi
callq 0x33b0
jmp 0x46d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x46d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x46b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x460(%rbp), %rdi
callq 0x3260
leaq -0x461(%rbp), %rdi
callq 0x33b0
leaq -0x440(%rbp), %rdi
callq 0x4790
leaq -0x3e0(%rbp), %rdi
callq 0x4be0
leaq -0x308(%rbp), %rdi
callq 0x3260
leaq -0x298(%rbp), %rdi
callq 0x4be0
leaq -0x170(%rbp), %rdi
callq 0x4be0
leaq -0x100(%rbp), %rdi
callq 0xdc40
leaq -0x60(%rbp), %rdi
callq 0x3260
leaq -0x28(%rbp), %rdi
callq 0x3260
movq -0x38(%rbp), %rdi
callq 0x35e0
nopw (%rax,%rax)