// File: pokorj54[P]Pathfinder-utilities/src/test.cpp
// Function: main
int main(void)
{
    //Arithmancy
    assert(GetDigitalRootOfSpell("") == 0);
    assert(GetDigitalRootOfSpell("a") == 1);
    assert(GetDigitalRootOfSpell("N") == 5);
    assert(GetDigitalRootOfSpell(",.=-") == 0);
    assert(GetDigitalRootOfSpell("Daze") == 9);
    assert(GetDigitalRootOfSpell("Fireball") == 2);
    assert(GetDigitalRootOfSpell("Warding Weapon") == 6);

    //Fractions
    assert(Fraction(4,2).ToString() == "2");
    assert(Fraction(5,3).ToString() == "5/3");
    assert(Add(Fraction(3,-4), Fraction(2)).ToString() == "5/4");
    assert(Multiply(Fraction(1,4), Fraction(2)).ToDouble() == 0.5);
    assert(Subtract(Fraction(3,4), Fraction(1,2)).ToString() == "1/4");
    assert(Divide(Fraction(1,2), Fraction(1,4)).ToDouble() == 2);

    Fraction f1 = Fraction(1,2), f2 = 2;
    assert(f1 < f2);
    assert(!(f2 < f1));
    assert(!(f1 < f1));
    assert(f2 > f1);
    assert(!(f1 > f2));
    assert(!(f2 > f2));
    assert(f1 <= f2);
    assert(!(f2 <= f1));
    assert(f1 <= f1);
    assert(f2 >= f1);
    assert(!(f1 >= f2));
    assert(f2 >= f2);
    assert(f1 != f2);
    assert(f2 != f1);
    assert(!(f1 != f1));
    assert(f1 == f1);
    assert(!(f1 == f2));
    assert(!(f2 == f1));
    
    //SacredGeometry
    int a[] = {3};
    assert(GetDesiredExpression(1, a, (sizeof(a)/sizeof(int))) == "3");
    assert(GetDesiredExpression(2, a, (sizeof(a)/sizeof(int))) == "");
    int b[] = {1,1,2,5};
    assert(GetDesiredExpression(2, b, (sizeof(b)/sizeof(int))) != "");
    assert(GetDesiredExpression(3, b, (sizeof(b)/sizeof(int))) == "");
    return 0;
}

// Assembly:
subq $0x3e8, %rsp            # imm = 0x3E8
movl $0x0, 0x3e4(%rsp)
leaq 0x3bf(%rsp), %rdi
movq %rdi, 0x118(%rsp)
callq 0x22f0
movq 0x118(%rsp), %rdx
leaq 0x21dd(%rip), %rsi      # 0x8153
leaq 0x3c0(%rsp), %rdi
callq 0x2230
jmp 0x5f85
leaq 0x3c0(%rsp), %rdi
callq 0x2e70
movl %eax, 0x114(%rsp)
jmp 0x5f9b
movl 0x114(%rsp), %eax
cmpl $0x0, %eax
jne 0x5fa9
jmp 0x6007
leaq 0x2238(%rip), %rdi      # 0x81e8
leaq 0x2250(%rip), %rsi      # 0x8207
movl $0xd, %edx
leaq 0x2251(%rip), %rcx      # 0x8214
callq 0x2140
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
jmp 0x6097
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x3c0(%rsp), %rdi
callq 0x2130
jmp 0x6097
leaq 0x3c0(%rsp), %rdi
callq 0x2130
leaq 0x3bf(%rsp), %rdi
callq 0x2200
leaq 0x387(%rsp), %rdi
movq %rdi, 0x108(%rsp)
callq 0x22f0
movq 0x108(%rsp), %rdx
leaq 0x21da(%rip), %rsi      # 0x821f
leaq 0x388(%rsp), %rdi
callq 0x2230
jmp 0x6054
leaq 0x388(%rsp), %rdi
callq 0x2e70
movl %eax, 0x104(%rsp)
jmp 0x606a
movl 0x104(%rsp), %eax
cmpl $0x1, %eax
jne 0x6078
jmp 0x60e8
leaq 0x21a2(%rip), %rdi      # 0x8221
leaq 0x2181(%rip), %rsi      # 0x8207
movl $0xe, %edx
leaq 0x2182(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x3bf(%rsp), %rdi
callq 0x2200
jmp 0x709d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
jmp 0x6178
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x388(%rsp), %rdi
callq 0x2130
jmp 0x6178
leaq 0x388(%rsp), %rdi
callq 0x2130
leaq 0x387(%rsp), %rdi
callq 0x2200
leaq 0x35f(%rsp), %rdi
movq %rdi, 0xf8(%rsp)
callq 0x22f0
movq 0xf8(%rsp), %rdx
leaq 0x211b(%rip), %rsi      # 0x8241
leaq 0x360(%rsp), %rdi
callq 0x2230
jmp 0x6135
leaq 0x360(%rsp), %rdi
callq 0x2e70
movl %eax, 0xf4(%rsp)
jmp 0x614b
movl 0xf4(%rsp), %eax
cmpl $0x5, %eax
jne 0x6159
jmp 0x61c9
leaq 0x20e3(%rip), %rdi      # 0x8243
leaq 0x20a0(%rip), %rsi      # 0x8207
movl $0xf, %edx
leaq 0x20a1(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x387(%rsp), %rdi
callq 0x2200
jmp 0x709d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
jmp 0x6259
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x360(%rsp), %rdi
callq 0x2130
jmp 0x6259
leaq 0x360(%rsp), %rdi
callq 0x2130
leaq 0x35f(%rsp), %rdi
callq 0x2200
leaq 0x337(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0x22f0
movq 0xe8(%rsp), %rdx
leaq 0x205c(%rip), %rsi      # 0x8263
leaq 0x338(%rsp), %rdi
callq 0x2230
jmp 0x6216
leaq 0x338(%rsp), %rdi
callq 0x2e70
movl %eax, 0xe4(%rsp)
jmp 0x622c
movl 0xe4(%rsp), %eax
cmpl $0x0, %eax
jne 0x623a
jmp 0x62aa
leaq 0x2027(%rip), %rdi      # 0x8268
leaq 0x1fbf(%rip), %rsi      # 0x8207
movl $0x10, %edx
leaq 0x1fc0(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x35f(%rsp), %rdi
callq 0x2200
jmp 0x709d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
jmp 0x633a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x338(%rsp), %rdi
callq 0x2130
jmp 0x633a
leaq 0x338(%rsp), %rdi
callq 0x2130
leaq 0x337(%rsp), %rdi
callq 0x2200
leaq 0x30f(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0x22f0
movq 0xd8(%rsp), %rdx
leaq 0x1fa3(%rip), %rsi      # 0x828b
leaq 0x310(%rsp), %rdi
callq 0x2230
jmp 0x62f7
leaq 0x310(%rsp), %rdi
callq 0x2e70
movl %eax, 0xd4(%rsp)
jmp 0x630d
movl 0xd4(%rsp), %eax
cmpl $0x9, %eax
jne 0x631b
jmp 0x638b
leaq 0x1f6e(%rip), %rdi      # 0x8290
leaq 0x1ede(%rip), %rsi      # 0x8207
movl $0x11, %edx
leaq 0x1edf(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x337(%rsp), %rdi
callq 0x2200
jmp 0x709d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
jmp 0x641b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x310(%rsp), %rdi
callq 0x2130
jmp 0x641b
leaq 0x310(%rsp), %rdi
callq 0x2130
leaq 0x30f(%rsp), %rdi
callq 0x2200
leaq 0x2e7(%rsp), %rdi
movq %rdi, 0xc8(%rsp)
callq 0x22f0
movq 0xc8(%rsp), %rdx
leaq 0x1eea(%rip), %rsi      # 0x82b3
leaq 0x2e8(%rsp), %rdi
callq 0x2230
jmp 0x63d8
leaq 0x2e8(%rsp), %rdi
callq 0x2e70
movl %eax, 0xc4(%rsp)
jmp 0x63ee
movl 0xc4(%rsp), %eax
cmpl $0x2, %eax
jne 0x63fc
jmp 0x646c
leaq 0x1eb9(%rip), %rdi      # 0x82bc
leaq 0x1dfd(%rip), %rsi      # 0x8207
movl $0x12, %edx
leaq 0x1dfe(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x30f(%rsp), %rdi
callq 0x2200
jmp 0x709d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
jmp 0x64fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x2e8(%rsp), %rdi
callq 0x2130
jmp 0x64fc
leaq 0x2e8(%rsp), %rdi
callq 0x2130
leaq 0x2e7(%rsp), %rdi
callq 0x2200
leaq 0x2bf(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x22f0
movq 0xb8(%rsp), %rdx
leaq 0x1e39(%rip), %rsi      # 0x82e3
leaq 0x2c0(%rsp), %rdi
callq 0x2230
jmp 0x64b9
leaq 0x2c0(%rsp), %rdi
callq 0x2e70
movl %eax, 0xb4(%rsp)
jmp 0x64cf
movl 0xb4(%rsp), %eax
cmpl $0x6, %eax
jne 0x64dd
jmp 0x654d
leaq 0x1e0e(%rip), %rdi      # 0x82f2
leaq 0x1d1c(%rip), %rsi      # 0x8207
movl $0x13, %edx
leaq 0x1d1d(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x2e7(%rsp), %rdi
callq 0x2200
jmp 0x709d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
jmp 0x65ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x2c0(%rsp), %rdi
callq 0x2130
jmp 0x65ee
leaq 0x2c0(%rsp), %rdi
callq 0x2130
leaq 0x2bf(%rsp), %rdi
callq 0x2200
leaq 0x290(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
movl $0x4, %esi
movl $0x2, %edx
callq 0x2500
movq 0xa0(%rsp), %rsi
leaq 0x298(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0x25c0
movq 0xa8(%rsp), %rdi
leaq 0x1d2f(%rip), %rsi      # 0x82e1
callq 0x5f10
movb %al, 0xb3(%rsp)
jmp 0x65c0
movb 0xb3(%rsp), %al
testb $0x1, %al
jne 0x65cd
jmp 0x65cf
jmp 0x6626
leaq 0x1d49(%rip), %rdi      # 0x831f
leaq 0x1c2a(%rip), %rsi      # 0x8207
movl $0x16, %edx
leaq 0x1c2b(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x2bf(%rsp), %rdi
callq 0x2200
jmp 0x709d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x298(%rsp), %rdi
callq 0x2130
jmp 0x709d
leaq 0x298(%rsp), %rdi
callq 0x2130
leaq 0x268(%rsp), %rdi
movq %rdi, 0x88(%rsp)
movl $0x5, %esi
movl $0x3, %edx
callq 0x2500
movq 0x88(%rsp), %rsi
leaq 0x270(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x25c0
movq 0x90(%rsp), %rdi
leaq 0x1cc1(%rip), %rsi      # 0x833f
callq 0x5f10
movb %al, 0x9f(%rsp)
jmp 0x668c
movb 0x9f(%rsp), %al
testb $0x1, %al
jne 0x6699
jmp 0x669b
jmp 0x66e0
leaq 0x1ca1(%rip), %rdi      # 0x8343
leaq 0x1b5e(%rip), %rsi      # 0x8207
movl $0x17, %edx
leaq 0x1b5f(%rip), %rcx      # 0x8214
callq 0x2140
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x270(%rsp), %rdi
callq 0x2130
jmp 0x709d
leaq 0x270(%rsp), %rdi
callq 0x2130
leaq 0x238(%rsp), %rdi
movq %rdi, 0x68(%rsp)
movl $0x3, %esi
movl $0xfffffffc, %edx       # imm = 0xFFFFFFFC
callq 0x2500
leaq 0x230(%rsp), %rdi
movq %rdi, 0x70(%rsp)
movl $0x2, %esi
movl $0x1, %edx
callq 0x2500
movq 0x68(%rsp), %rdi
movq 0x70(%rsp), %rsi
callq 0x28d0
movq %rax, 0x240(%rsp)
leaq 0x248(%rsp), %rdi
movq %rdi, 0x78(%rsp)
leaq 0x240(%rsp), %rsi
callq 0x25c0
movq 0x78(%rsp), %rdi
leaq 0x1c03(%rip), %rsi      # 0x8365
callq 0x5f10
movb %al, 0x87(%rsp)
jmp 0x6770
movb 0x87(%rsp), %al
testb $0x1, %al
jne 0x677d
jmp 0x677f
jmp 0x67c4
leaq 0x1be3(%rip), %rdi      # 0x8369
leaq 0x1a7a(%rip), %rsi      # 0x8207
movl $0x18, %edx
leaq 0x1a7b(%rip), %rcx      # 0x8214
callq 0x2140
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x248(%rsp), %rdi
callq 0x2130
jmp 0x709d
leaq 0x248(%rsp), %rdi
callq 0x2130
leaq 0x220(%rsp), %rdi
movl $0x1, %esi
movl $0x4, %edx
callq 0x2500
leaq 0x218(%rsp), %rdi
movl $0x2, %esi
movl $0x1, %edx
callq 0x2500
leaq 0x220(%rsp), %rdi
leaq 0x218(%rsp), %rsi
callq 0x2990
movq %rax, 0x228(%rsp)
leaq 0x228(%rsp), %rdi
callq 0x2710
movsd 0x19af(%rip), %xmm1     # 0x81e0
ucomisd %xmm1, %xmm0
jne 0x683b
jp 0x683b
jmp 0x685a
leaq 0x1b5c(%rip), %rdi      # 0x839e
leaq 0x19be(%rip), %rsi      # 0x8207
movl $0x19, %edx
leaq 0x19bf(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1e8(%rsp), %rdi
movq %rdi, 0x48(%rsp)
movl $0x3, %esi
movl $0x4, %edx
callq 0x2500
leaq 0x1e0(%rsp), %rdi
movq %rdi, 0x50(%rsp)
movl $0x1, %esi
movl $0x2, %edx
callq 0x2500
movq 0x48(%rsp), %rdi
movq 0x50(%rsp), %rsi
callq 0x2940
movq %rax, 0x1f0(%rsp)
leaq 0x1f8(%rsp), %rdi
movq %rdi, 0x58(%rsp)
leaq 0x1f0(%rsp), %rsi
callq 0x25c0
movq 0x58(%rsp), %rdi
leaq 0x1b06(%rip), %rsi      # 0x83d5
callq 0x5f10
movb %al, 0x67(%rsp)
jmp 0x68da
movb 0x67(%rsp), %al
testb $0x1, %al
jne 0x68e4
jmp 0x68e6
jmp 0x692b
leaq 0x1aec(%rip), %rdi      # 0x83d9
leaq 0x1913(%rip), %rsi      # 0x8207
movl $0x1a, %edx
leaq 0x1914(%rip), %rcx      # 0x8214
callq 0x2140
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x1f8(%rsp), %rdi
callq 0x2130
jmp 0x709d
leaq 0x1f8(%rsp), %rdi
callq 0x2130
leaq 0x1d0(%rsp), %rdi
movl $0x1, %esi
movl $0x2, %edx
callq 0x2500
leaq 0x1c8(%rsp), %rdi
movl $0x1, %esi
movl $0x4, %edx
callq 0x2500
leaq 0x1d0(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
callq 0x2770
movq %rax, 0x1d8(%rsp)
leaq 0x1d8(%rsp), %rdi
callq 0x2710
movsd 0x17c8(%rip), %xmm1     # 0x8160
ucomisd %xmm1, %xmm0
jne 0x69a2
jp 0x69a2
jmp 0x69c1
leaq 0x1a6b(%rip), %rdi      # 0x8414
leaq 0x1857(%rip), %rsi      # 0x8207
movl $0x1b, %edx
leaq 0x1858(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1c0(%rsp), %rdi
movl $0x1, %esi
movl $0x2, %edx
callq 0x2500
leaq 0x1b8(%rsp), %rdi
movl $0x2, %esi
movl $0x1, %edx
callq 0x2500
leaq 0x1c0(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
callq 0x2730
testb $0x1, %al
jne 0x6a0a
jmp 0x6a0c
jmp 0x6a2b
leaq 0x1a36(%rip), %rdi      # 0x8449
leaq 0x17ed(%rip), %rsi      # 0x8207
movl $0x1e, %edx
leaq 0x17ee(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1b8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x2730
xorb $-0x1, %al
testb $0x1, %al
jne 0x6a48
jmp 0x6a4a
jmp 0x6a69
leaq 0x1a00(%rip), %rdi      # 0x8451
leaq 0x17af(%rip), %rsi      # 0x8207
movl $0x1f, %edx
leaq 0x17b0(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1c0(%rsp), %rsi
movq %rsi, %rdi
callq 0x2730
xorb $-0x1, %al
testb $0x1, %al
jne 0x6a81
jmp 0x6a83
jmp 0x6aa2
leaq 0x19d2(%rip), %rdi      # 0x845c
leaq 0x1776(%rip), %rsi      # 0x8207
movl $0x20, %edx
leaq 0x1777(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1b8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x27c0
testb $0x1, %al
jne 0x6abd
jmp 0x6abf
jmp 0x6ade
leaq 0x19a1(%rip), %rdi      # 0x8467
leaq 0x173a(%rip), %rsi      # 0x8207
movl $0x21, %edx
leaq 0x173b(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1c0(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
callq 0x27c0
xorb $-0x1, %al
testb $0x1, %al
jne 0x6afb
jmp 0x6afd
jmp 0x6b1c
leaq 0x196b(%rip), %rdi      # 0x846f
leaq 0x16fc(%rip), %rsi      # 0x8207
movl $0x22, %edx
leaq 0x16fd(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1b8(%rsp), %rsi
movq %rsi, %rdi
callq 0x27c0
xorb $-0x1, %al
testb $0x1, %al
jne 0x6b34
jmp 0x6b36
jmp 0x6b55
leaq 0x193d(%rip), %rdi      # 0x847a
leaq 0x16c3(%rip), %rsi      # 0x8207
movl $0x23, %edx
leaq 0x16c4(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1c0(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
callq 0x27f0
testb $0x1, %al
jne 0x6b70
jmp 0x6b72
jmp 0x6b91
leaq 0x190c(%rip), %rdi      # 0x8485
leaq 0x1687(%rip), %rsi      # 0x8207
movl $0x24, %edx
leaq 0x1688(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1b8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x27f0
xorb $-0x1, %al
testb $0x1, %al
jne 0x6bae
jmp 0x6bb0
jmp 0x6bcf
leaq 0x18d7(%rip), %rdi      # 0x848e
leaq 0x1649(%rip), %rsi      # 0x8207
movl $0x25, %edx
leaq 0x164a(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1c0(%rsp), %rsi
movq %rsi, %rdi
callq 0x27f0
testb $0x1, %al
jne 0x6be5
jmp 0x6be7
jmp 0x6c06
leaq 0x18ac(%rip), %rdi      # 0x849a
leaq 0x1612(%rip), %rsi      # 0x8207
movl $0x26, %edx
leaq 0x1613(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1b8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x2820
testb $0x1, %al
jne 0x6c21
jmp 0x6c23
jmp 0x6c42
leaq 0x1879(%rip), %rdi      # 0x84a3
leaq 0x15d6(%rip), %rsi      # 0x8207
movl $0x27, %edx
leaq 0x15d7(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1c0(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
callq 0x2820
xorb $-0x1, %al
testb $0x1, %al
jne 0x6c5f
jmp 0x6c61
jmp 0x6c80
leaq 0x1844(%rip), %rdi      # 0x84ac
leaq 0x1598(%rip), %rsi      # 0x8207
movl $0x28, %edx
leaq 0x1599(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1b8(%rsp), %rsi
movq %rsi, %rdi
callq 0x2820
testb $0x1, %al
jne 0x6c96
jmp 0x6c98
jmp 0x6cb7
leaq 0x1819(%rip), %rdi      # 0x84b8
leaq 0x1561(%rip), %rsi      # 0x8207
movl $0x29, %edx
leaq 0x1562(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1c0(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
callq 0x2850
testb $0x1, %al
jne 0x6cd2
jmp 0x6cd4
jmp 0x6cf3
leaq 0x17e6(%rip), %rdi      # 0x84c1
leaq 0x1525(%rip), %rsi      # 0x8207
movl $0x2a, %edx
leaq 0x1526(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1b8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x2850
testb $0x1, %al
jne 0x6d0e
jmp 0x6d10
jmp 0x6d2f
leaq 0x17b3(%rip), %rdi      # 0x84ca
leaq 0x14e9(%rip), %rsi      # 0x8207
movl $0x2b, %edx
leaq 0x14ea(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1c0(%rsp), %rsi
movq %rsi, %rdi
callq 0x2850
xorb $-0x1, %al
testb $0x1, %al
jne 0x6d47
jmp 0x6d49
jmp 0x6d68
leaq 0x1783(%rip), %rdi      # 0x84d3
leaq 0x14b0(%rip), %rsi      # 0x8207
movl $0x2c, %edx
leaq 0x14b1(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1c0(%rsp), %rsi
movq %rsi, %rdi
callq 0x28a0
testb $0x1, %al
jne 0x6d7e
jmp 0x6d80
jmp 0x6d9f
leaq 0x1758(%rip), %rdi      # 0x84df
leaq 0x1479(%rip), %rsi      # 0x8207
movl $0x2d, %edx
leaq 0x147a(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1c0(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
callq 0x28a0
xorb $-0x1, %al
testb $0x1, %al
jne 0x6dbc
jmp 0x6dbe
jmp 0x6ddd
leaq 0x1723(%rip), %rdi      # 0x84e8
leaq 0x143b(%rip), %rsi      # 0x8207
movl $0x2e, %edx
leaq 0x143c(%rip), %rcx      # 0x8214
callq 0x2140
leaq 0x1b8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0x28a0
xorb $-0x1, %al
testb $0x1, %al
jne 0x6dfa
jmp 0x6dfc
jmp 0x6e1b
leaq 0x16f1(%rip), %rdi      # 0x84f4
leaq 0x13fd(%rip), %rsi      # 0x8207
movl $0x2f, %edx
leaq 0x13fe(%rip), %rcx      # 0x8214
callq 0x2140
movl $0x3, 0x1b4(%rsp)
leaq 0x190(%rsp), %rdi
movq %rdi, 0x38(%rsp)
leaq 0x1b4(%rsp), %rdx
movl $0x1, %ecx
movl %ecx, %esi
callq 0x5660
movq 0x38(%rsp), %rdi
leaq 0x14ee(%rip), %rsi      # 0x8341
callq 0x5f10
movb %al, 0x47(%rsp)
jmp 0x6e5e
movb 0x47(%rsp), %al
testb $0x1, %al
jne 0x6e68
jmp 0x6e6a
jmp 0x6eaf
leaq 0x168f(%rip), %rdi      # 0x8500
leaq 0x138f(%rip), %rsi      # 0x8207
movl $0x33, %edx
leaq 0x1390(%rip), %rcx      # 0x8214
callq 0x2140
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x190(%rsp), %rdi
callq 0x2130
jmp 0x709d
leaq 0x190(%rsp), %rdi
callq 0x2130
leaq 0x170(%rsp), %rdi
movq %rdi, 0x28(%rsp)
movl $0x2, %esi
leaq 0x1b4(%rsp), %rdx
movl $0x1, %ecx
callq 0x5660
movq 0x28(%rsp), %rdi
leaq 0x1267(%rip), %rsi      # 0x8153
callq 0x5f10
movb %al, 0x37(%rsp)
jmp 0x6ef7
movb 0x37(%rsp), %al
testb $0x1, %al
jne 0x6f01
jmp 0x6f03
jmp 0x6f48
leaq 0x1631(%rip), %rdi      # 0x853b
leaq 0x12f6(%rip), %rsi      # 0x8207
movl $0x34, %edx
leaq 0x12f7(%rip), %rcx      # 0x8214
callq 0x2140
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x170(%rsp), %rdi
callq 0x2130
jmp 0x709d
leaq 0x170(%rsp), %rdi
callq 0x2130
movaps 0x1694(%rip), %xmm0     # 0x85f0
movaps %xmm0, 0x160(%rsp)
leaq 0x140(%rsp), %rdi
movq %rdi, 0x18(%rsp)
movl $0x2, %esi
leaq 0x160(%rsp), %rdx
movl $0x4, %ecx
callq 0x5660
movq 0x18(%rsp), %rdi
leaq 0x11bf(%rip), %rsi      # 0x8153
callq 0x5c50
movb %al, 0x27(%rsp)
jmp 0x6f9f
movb 0x27(%rsp), %al
testb $0x1, %al
jne 0x6fa9
jmp 0x6fab
jmp 0x6ff0
leaq 0x15c3(%rip), %rdi      # 0x8575
leaq 0x124e(%rip), %rsi      # 0x8207
movl $0x36, %edx
leaq 0x124f(%rip), %rcx      # 0x8214
callq 0x2140
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x140(%rsp), %rdi
callq 0x2130
jmp 0x709d
leaq 0x140(%rsp), %rdi
callq 0x2130
leaq 0x120(%rsp), %rdi
movq %rdi, 0x8(%rsp)
movl $0x3, %esi
leaq 0x160(%rsp), %rdx
movl $0x4, %ecx
callq 0x5660
movq 0x8(%rsp), %rdi
leaq 0x1126(%rip), %rsi      # 0x8153
callq 0x5f10
movb %al, 0x17(%rsp)
jmp 0x7038
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x7042
jmp 0x7044
jmp 0x7086
leaq 0x1564(%rip), %rdi      # 0x85af
leaq 0x11b5(%rip), %rsi      # 0x8207
movl $0x37, %edx
leaq 0x11b6(%rip), %rcx      # 0x8214
callq 0x2140
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x120(%rsp), %rdi
callq 0x2130
jmp 0x709d
leaq 0x120(%rsp), %rdi
callq 0x2130
xorl %eax, %eax
addq $0x3e8, %rsp            # imm = 0x3E8
retq
movq 0x3b0(%rsp), %rdi
callq 0x22e0