// File: /workspace/github_cpp_makefile_star2_O1/jswaff[P]prophet3/test/hash__test.cpp
// Function: test_hash_keys1()
void test_hash_keys1() {
    position pos;
    reset_pos(&pos);

    apply_move(&pos,to_move(PAWN,E2,E4),gundos);

    uint64 keys[20];
    int nkeys = 0;

    position pos2;
    set_pos(&pos2,"rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1");
    uint64 key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    keys[nkeys++] = key;

    apply_move(&pos,to_move(PAWN,C7,C5),gundos);
    set_pos(&pos2,"rnbqkbnr/pp1ppppp/8/2p5/4P3/8/PPPP1PPP/RNBQKBNR w KQkq c6 0 2");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    apply_move(&pos,to_move(KNIGHT,G1,F3),gundos);
    set_pos(&pos2,"rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    apply_move(&pos,to_move(QUEEN,D8,A5),gundos);
    set_pos(&pos2,"rnb1kbnr/pp1ppppp/8/q1p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 2 3");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    apply_move(&pos,to_move(BISHOP,F1,E2),gundos);
    set_pos(&pos2,"rnb1kbnr/pp1ppppp/8/q1p5/4P3/5N2/PPPPBPPP/RNBQK2R b KQkq - 3 3");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    apply_move(&pos,to_capture(QUEEN,A5,D2,PAWN),gundos);
    set_pos(&pos2,"rnb1kbnr/pp1ppppp/8/2p5/4P3/5N2/PPPqBPPP/RNBQK2R w KQkq - 0 4");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    apply_move(&pos,to_capture(KNIGHT,B1,D2,QUEEN),gundos);
    set_pos(&pos2,"rnb1kbnr/pp1ppppp/8/2p5/4P3/5N2/PPPNBPPP/R1BQK2R b KQkq - 0 4");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    apply_move(&pos,to_move(PAWN,C5,C4),gundos);
    set_pos(&pos2,"rnb1kbnr/pp1ppppp/8/8/2p1P3/5N2/PPPNBPPP/R1BQK2R w KQkq - 0 5");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    move mv = to_move(KING,E1,G1);
    set_castle(&mv);
    apply_move(&pos,mv,gundos);
    set_pos(&pos2,"rnb1kbnr/pp1ppppp/8/8/2p1P3/5N2/PPPNBPPP/R1BQ1RK1 b kq - 0 5");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    apply_move(&pos,to_move(KING,E8,D8),gundos);
    set_pos(&pos2,"rnbk1bnr/pp1ppppp/8/8/2p1P3/5N2/PPPNBPPP/R1BQ1RK1 w - - 1 6");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    apply_move(&pos,to_move(PAWN,B2,B4),gundos);
    set_pos(&pos2,"rnbk1bnr/pp1ppppp/8/8/1Pp1P3/5N2/P1PNBPPP/R1BQ1RK1 b - b3 0 6");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    mv = to_move(PAWN,C4,B3);
    set_epcapture(&mv);
    apply_move(&pos,mv,gundos);
    set_pos(&pos2,"rnbk1bnr/pp1ppppp/8/8/4P3/1p3N2/P1PNBPPP/R1BQ1RK1 w - - 0 7");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    apply_move(&pos,to_move(ROOK,F1,E1),gundos);
    set_pos(&pos2,"rnbk1bnr/pp1ppppp/8/8/4P3/1p3N2/P1PNBPPP/R1BQR1K1 b - - 1 7");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    apply_move(&pos,to_move(PAWN,B3,B2),gundos);
    set_pos(&pos2,"rnbk1bnr/pp1ppppp/8/8/4P3/5N2/PpPNBPPP/R1BQR1K1 w - - 0 8");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    apply_move(&pos,to_move(KING,G1,H1),gundos);
    set_pos(&pos2,"rnbk1bnr/pp1ppppp/8/8/4P3/5N2/PpPNBPPP/R1BQR2K b - - 1 8");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
    keys[nkeys++] = key;

    mv = to_capture(PAWN,B2,A1,ROOK);
    set_promopiece(&mv,KNIGHT);
    apply_move(&pos,mv,gundos);
    set_pos(&pos2,"rnbk1bnr/pp1ppppp/8/8/4P3/5N2/P1PNBPPP/n1BQR2K w - - 0 9");
    key = build_hash_key(&pos);
    assert(key==build_hash_key(&pos2));
    assert(!contains_key(key,keys,nkeys));
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x440, %rsp            # imm = 0x440
leaq 0x278(%rsp), %rbx
movq %rbx, %rdi
callq 0xaa43
movl $0x1, %edi
movl $0x34, %esi
movl $0x24, %edx
callq 0x76b8
leaq 0xb3484(%rip), %rdx     # 0xc8af0
movq %rbx, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17df5(%rip), %rsi     # 0x2d473
leaq 0xb0(%rsp), %r14
movq %r14, %rdi
callq 0xaa74
movq %rbx, %rdi
callq 0x5e40
movq %rax, %rbx
movq %r14, %rdi
callq 0x5e40
cmpq %rax, %rbx
jne 0x16199
movq %rbx, 0x10(%rsp)
movl $0x1, %edi
movl $0xa, %esi
movl $0x1a, %edx
callq 0x76b8
leaq 0xb3426(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17df7(%rip), %rsi     # 0x2d4db
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x161b8
cmpq %r14, %rbx
je 0x161d7
movq %r14, 0x18(%rsp)
movl $0x2, %edi
movl $0x3e, %esi
movl $0x2d, %edx
callq 0x76b8
leaq 0xb33b7(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17dc6(%rip), %rsi     # 0x2d519
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x161f6
cmpq %r14, %rbx
je 0x15fe7
movq $-0x1, %rax
testq %rax, %rax
je 0x157a4
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x1578f
jmp 0x157a9
movl $0x1, %ecx
testq %rcx, %rcx
je 0x15fe7
movq %r14, 0x20(%rsp)
movl $0x5, %edi
movl $0x3, %esi
movl $0x18, %edx
callq 0x76b8
leaq 0xb331e(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17d82(%rip), %rsi     # 0x2d56e
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x16215
cmpq %r14, %rbx
je 0x16006
movl $0x1, %ecx
cmpq $0x3, %rcx
je 0x15840
leaq 0x1(%rcx), %rax
cmpq %r14, 0x10(%rsp,%rcx,8)
movq %rax, %rcx
jne 0x15826
addq $-0x2, %rax
jmp 0x15845
movl $0x2, %eax
cmpq $0x1, %rax
jbe 0x16006
movq %r14, 0x28(%rsp)
movl $0x3, %edi
movl $0x3d, %esi
movl $0x34, %edx
callq 0x76b8
leaq 0xb3281(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17d3b(%rip), %rsi     # 0x2d5c4
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x16234
cmpq %r14, %rbx
je 0x16025
movq $-0x1, %rax
cmpq $0x2, %rax
je 0x158db
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x158c5
jmp 0x158e0
movl $0x3, %ecx
cmpq $0x2, %rcx
jbe 0x16025
movq %r14, 0x30(%rsp)
movl $0x5, %edi
movl $0x18, %esi
movl $0x33, %edx
movl $0x1, %ecx
callq 0x76d7
leaq 0xb31e1(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17cda(%rip), %rsi     # 0x2d603
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x16253
cmpq %r14, %rbx
je 0x16044
movq $-0x1, %rax
cmpq $0x3, %rax
je 0x1597b
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x15965
jmp 0x15980
movl $0x4, %ecx
cmpq $0x3, %rcx
jbe 0x16044
movq %r14, 0x38(%rsp)
movl $0x2, %edi
movl $0x39, %esi
movl $0x33, %edx
movl $0x5, %ecx
callq 0x76d7
leaq 0xb3141(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17c78(%rip), %rsi     # 0x2d641
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x16272
cmpq %r14, %rbx
je 0x16063
movq $-0x1, %rax
cmpq $0x4, %rax
je 0x15a1b
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x15a05
jmp 0x15a20
movl $0x5, %ecx
cmpq $0x4, %rcx
jbe 0x16063
movq %r14, 0x40(%rsp)
movl $0x1, %edi
movl $0x1a, %esi
movl $0x22, %edx
callq 0x76b8
leaq 0xb30a6(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17c1b(%rip), %rsi     # 0x2d67f
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x16291
cmpq %r14, %rbx
je 0x16082
movq $-0x1, %rax
cmpq $0x5, %rax
je 0x15ab6
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x15aa0
jmp 0x15abb
movl $0x6, %ecx
cmpq $0x5, %rcx
jbe 0x16082
movq %r14, 0x48(%rsp)
movl $0x6, %edi
movl $0x3c, %esi
movl $0x3e, %edx
callq 0x76b8
leaq 0x8(%rsp), %r14
movq %rax, (%r14)
movq %r14, %rdi
callq 0x77ab
movq (%r14), %rsi
leaq 0xb2ff8(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
callq 0x30e3
leaq 0x17bae(%rip), %rsi     # 0x2d6bd
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x162b0
cmpq %r14, %rbx
je 0x160a1
movq $-0x1, %rax
cmpq $0x6, %rax
je 0x15b61
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x15b4b
jmp 0x15b66
movl $0x7, %ecx
cmpq $0x6, %rcx
jbe 0x160a1
movq %r14, 0x50(%rsp)
movl $0x6, %edi
movl $0x4, %esi
movl $0x3, %edx
callq 0x76b8
leaq 0xb2f60(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17b50(%rip), %rsi     # 0x2d6fa
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x162cf
cmpq %r14, %rbx
je 0x160c0
movq $-0x1, %rax
cmpq $0x7, %rax
je 0x15bfc
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x15be6
jmp 0x15c01
movl $0x8, %ecx
cmpq $0x7, %rcx
jbe 0x160c0
movq %r14, 0x58(%rsp)
movl $0x1, %edi
movl $0x31, %esi
movl $0x21, %edx
callq 0x76b8
leaq 0xb2ec5(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17af1(%rip), %rsi     # 0x2d736
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x162ee
cmpq %r14, %rbx
je 0x160df
movq $-0x1, %rax
cmpq $0x8, %rax
je 0x15c97
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x15c81
jmp 0x15c9c
movl $0x9, %ecx
cmpq $0x8, %rcx
jbe 0x160df
movq %r14, 0x60(%rsp)
movl $0x1, %edi
movl $0x22, %esi
movl $0x29, %edx
callq 0x76b8
leaq 0x8(%rsp), %r14
movq %rax, (%r14)
movq %r14, %rdi
callq 0x7797
movq (%r14), %rsi
leaq 0xb2e17(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
callq 0x30e3
leaq 0x17a84(%rip), %rsi     # 0x2d774
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x1630d
cmpq %r14, %rbx
je 0x160fe
movq $-0x1, %rax
cmpq $0x9, %rax
je 0x15d42
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x15d2c
jmp 0x15d47
movl $0xa, %ecx
cmpq $0x9, %rcx
jbe 0x160fe
movq %r14, 0x68(%rsp)
movl $0x4, %edi
movl $0x3d, %esi
movl $0x3c, %edx
callq 0x76b8
leaq 0xb2d7f(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17a25(%rip), %rsi     # 0x2d7b0
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x1632c
cmpq %r14, %rbx
je 0x1611d
movq $-0x1, %rax
cmpq $0xa, %rax
je 0x15ddd
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x15dc7
jmp 0x15de2
movl $0xb, %ecx
cmpq $0xa, %rcx
jbe 0x1611d
movq %r14, 0x70(%rsp)
movl $0x1, %edi
movl $0x29, %esi
movl $0x31, %edx
callq 0x76b8
leaq 0xb2ce4(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x179c6(%rip), %rsi     # 0x2d7ec
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x1634b
cmpq %r14, %rbx
je 0x1613c
movq $-0x1, %rax
cmpq $0xb, %rax
je 0x15e78
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x15e62
jmp 0x15e7d
movl $0xc, %ecx
cmpq $0xb, %rcx
jbe 0x1613c
movq %r14, 0x78(%rsp)
movl $0x6, %edi
movl $0x3e, %esi
movl $0x3f, %edx
callq 0x76b8
leaq 0xb2c49(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x30e3
leaq 0x17965(%rip), %rsi     # 0x2d826
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x1636a
cmpq %r14, %rbx
je 0x1615b
movq $-0x1, %rax
cmpq $0xc, %rax
je 0x15f13
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x15efd
jmp 0x15f18
movl $0xd, %ecx
cmpq $0xc, %rcx
jbe 0x1615b
movq %r14, 0x80(%rsp)
movl $0x1, %edi
movl $0x31, %esi
movl $0x38, %edx
movl $0x4, %ecx
callq 0x76d7
leaq 0x8(%rsp), %r14
movq %rax, (%r14)
movq %r14, %rdi
movl $0x2, %esi
callq 0x7780
movq (%r14), %rsi
leaq 0xb2b8e(%rip), %rdx     # 0xc8af0
leaq 0x278(%rsp), %r14
movq %r14, %rdi
callq 0x30e3
leaq 0x178e6(%rip), %rsi     # 0x2d85f
leaq 0xb0(%rsp), %r15
movq %r15, %rdi
callq 0xaa74
movq %r14, %rdi
callq 0x5e40
movq %rax, %r14
movq %r15, %rdi
callq 0x5e40
cmpq %rax, %r14
jne 0x16389
cmpq %r14, %rbx
je 0x1617a
movq $-0x1, %rax
cmpq $0xd, %rax
je 0x15fcb
leaq 0x1(%rax), %rcx
cmpq %r14, 0x20(%rsp,%rax,8)
movq %rcx, %rax
jne 0x15fb5
jmp 0x15fd0
movl $0xe, %ecx
cmpq $0xd, %rcx
jbe 0x1617a
addq $0x440, %rsp            # imm = 0x440
popq %rbx
popq %r14
popq %r15
retq
leaq 0x1bb62(%rip), %rdi     # 0x31b50
leaq 0x1bb30(%rip), %rsi     # 0x31b25
leaq 0x1bb3d(%rip), %rcx     # 0x31b39
movl $0x34, %edx
callq 0x20d0
leaq 0x1bb43(%rip), %rdi     # 0x31b50
leaq 0x1bb11(%rip), %rsi     # 0x31b25
leaq 0x1bb1e(%rip), %rcx     # 0x31b39
movl $0x3b, %edx
callq 0x20d0
leaq 0x1bb24(%rip), %rdi     # 0x31b50
leaq 0x1baf2(%rip), %rsi     # 0x31b25
leaq 0x1baff(%rip), %rcx     # 0x31b39
movl $0x42, %edx
callq 0x20d0
leaq 0x1bb05(%rip), %rdi     # 0x31b50
leaq 0x1bad3(%rip), %rsi     # 0x31b25
leaq 0x1bae0(%rip), %rcx     # 0x31b39
movl $0x49, %edx
callq 0x20d0
leaq 0x1bae6(%rip), %rdi     # 0x31b50
leaq 0x1bab4(%rip), %rsi     # 0x31b25
leaq 0x1bac1(%rip), %rcx     # 0x31b39
movl $0x50, %edx
callq 0x20d0
leaq 0x1bac7(%rip), %rdi     # 0x31b50
leaq 0x1ba95(%rip), %rsi     # 0x31b25
leaq 0x1baa2(%rip), %rcx     # 0x31b39
movl $0x57, %edx
callq 0x20d0
leaq 0x1baa8(%rip), %rdi     # 0x31b50
leaq 0x1ba76(%rip), %rsi     # 0x31b25
leaq 0x1ba83(%rip), %rcx     # 0x31b39
movl $0x60, %edx
callq 0x20d0
leaq 0x1ba89(%rip), %rdi     # 0x31b50
leaq 0x1ba57(%rip), %rsi     # 0x31b25
leaq 0x1ba64(%rip), %rcx     # 0x31b39
movl $0x67, %edx
callq 0x20d0
leaq 0x1ba6a(%rip), %rdi     # 0x31b50
leaq 0x1ba38(%rip), %rsi     # 0x31b25
leaq 0x1ba45(%rip), %rcx     # 0x31b39
movl $0x6e, %edx
callq 0x20d0
leaq 0x1ba4b(%rip), %rdi     # 0x31b50
leaq 0x1ba19(%rip), %rsi     # 0x31b25
leaq 0x1ba26(%rip), %rcx     # 0x31b39
movl $0x77, %edx
callq 0x20d0
leaq 0x1ba2c(%rip), %rdi     # 0x31b50
leaq 0x1b9fa(%rip), %rsi     # 0x31b25
leaq 0x1ba07(%rip), %rcx     # 0x31b39
movl $0x7e, %edx
callq 0x20d0
leaq 0x1ba0d(%rip), %rdi     # 0x31b50
leaq 0x1b9db(%rip), %rsi     # 0x31b25
leaq 0x1b9e8(%rip), %rcx     # 0x31b39
movl $0x85, %edx
callq 0x20d0
leaq 0x1b9ee(%rip), %rdi     # 0x31b50
leaq 0x1b9bc(%rip), %rsi     # 0x31b25
leaq 0x1b9c9(%rip), %rcx     # 0x31b39
movl $0x8c, %edx
callq 0x20d0
leaq 0x1b9cf(%rip), %rdi     # 0x31b50
leaq 0x1b99d(%rip), %rsi     # 0x31b25
leaq 0x1b9aa(%rip), %rcx     # 0x31b39
movl $0x95, %edx
callq 0x20d0
leaq 0x1b96a(%rip), %rdi     # 0x31b0a
leaq 0x1b97e(%rip), %rsi     # 0x31b25
leaq 0x1b98b(%rip), %rcx     # 0x31b39
movl $0x26, %edx
callq 0x20d0
leaq 0x1b94b(%rip), %rdi     # 0x31b0a
leaq 0x1b95f(%rip), %rsi     # 0x31b25
leaq 0x1b96c(%rip), %rcx     # 0x31b39
movl $0x2c, %edx
callq 0x20d0
leaq 0x1b972(%rip), %rdi     # 0x31b50
leaq 0x1b940(%rip), %rsi     # 0x31b25
leaq 0x1b94d(%rip), %rcx     # 0x31b39
movl $0x2d, %edx
callq 0x20d0
leaq 0x1b90d(%rip), %rdi     # 0x31b0a
leaq 0x1b921(%rip), %rsi     # 0x31b25
leaq 0x1b92e(%rip), %rcx     # 0x31b39
movl $0x33, %edx
callq 0x20d0
leaq 0x1b8ee(%rip), %rdi     # 0x31b0a
leaq 0x1b902(%rip), %rsi     # 0x31b25
leaq 0x1b90f(%rip), %rcx     # 0x31b39
movl $0x3a, %edx
callq 0x20d0
leaq 0x1b8cf(%rip), %rdi     # 0x31b0a
leaq 0x1b8e3(%rip), %rsi     # 0x31b25
leaq 0x1b8f0(%rip), %rcx     # 0x31b39
movl $0x41, %edx
callq 0x20d0
leaq 0x1b8b0(%rip), %rdi     # 0x31b0a
leaq 0x1b8c4(%rip), %rsi     # 0x31b25
leaq 0x1b8d1(%rip), %rcx     # 0x31b39
movl $0x48, %edx
callq 0x20d0
leaq 0x1b891(%rip), %rdi     # 0x31b0a
leaq 0x1b8a5(%rip), %rsi     # 0x31b25
leaq 0x1b8b2(%rip), %rcx     # 0x31b39
movl $0x4f, %edx
callq 0x20d0
leaq 0x1b872(%rip), %rdi     # 0x31b0a
leaq 0x1b886(%rip), %rsi     # 0x31b25
leaq 0x1b893(%rip), %rcx     # 0x31b39
movl $0x56, %edx
callq 0x20d0
leaq 0x1b853(%rip), %rdi     # 0x31b0a
leaq 0x1b867(%rip), %rsi     # 0x31b25
leaq 0x1b874(%rip), %rcx     # 0x31b39
movl $0x5f, %edx
callq 0x20d0
leaq 0x1b834(%rip), %rdi     # 0x31b0a
leaq 0x1b848(%rip), %rsi     # 0x31b25
leaq 0x1b855(%rip), %rcx     # 0x31b39
movl $0x66, %edx
callq 0x20d0
leaq 0x1b815(%rip), %rdi     # 0x31b0a
leaq 0x1b829(%rip), %rsi     # 0x31b25
leaq 0x1b836(%rip), %rcx     # 0x31b39
movl $0x6d, %edx
callq 0x20d0
leaq 0x1b7f6(%rip), %rdi     # 0x31b0a
leaq 0x1b80a(%rip), %rsi     # 0x31b25
leaq 0x1b817(%rip), %rcx     # 0x31b39
movl $0x76, %edx
callq 0x20d0
leaq 0x1b7d7(%rip), %rdi     # 0x31b0a
leaq 0x1b7eb(%rip), %rsi     # 0x31b25
leaq 0x1b7f8(%rip), %rcx     # 0x31b39
movl $0x7d, %edx
callq 0x20d0
leaq 0x1b7b8(%rip), %rdi     # 0x31b0a
leaq 0x1b7cc(%rip), %rsi     # 0x31b25
leaq 0x1b7d9(%rip), %rcx     # 0x31b39
movl $0x84, %edx
callq 0x20d0
leaq 0x1b799(%rip), %rdi     # 0x31b0a
leaq 0x1b7ad(%rip), %rsi     # 0x31b25
leaq 0x1b7ba(%rip), %rcx     # 0x31b39
movl $0x8b, %edx
callq 0x20d0
leaq 0x1b77a(%rip), %rdi     # 0x31b0a
leaq 0x1b78e(%rip), %rsi     # 0x31b25
leaq 0x1b79b(%rip), %rcx     # 0x31b39
movl $0x94, %edx
callq 0x20d0