// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_frame_s_eval_number_literal
er_t x_btcl_frame_s_eval_number_literal( x_btcl_frame_s* o, x_source* source, sr_s* sr )
{
    // bcore_x_btcl.x:913:1
    BLM_INIT_LEVEL(0);
    bl_t is_hex = false;
    bl_t is_float = false;
    st_s st;BLM_T_INIT_SPUSH(st_s, &st);;
    
    if( x_source_parse_bl(source,"#?'0x'" ) )
    {
        st_s_push_sc(&(st),"0x" );
        is_hex = true;
    }
    else if( x_source_parse_bl(source,"#?'0X'" ) )
    {
        st_s_push_sc(&(st),"0X" );
        is_hex = true;
    }
    
    if( is_hex )
    {
        while( x_source_parse_bl(source,"#?(([0]>='0'&&[0]<='9')||([0]>='a'&&[0]<='f')||([0]>='A'&&[0]<='F'))" ) )
        {
            st_s_push_char(&(st),x_source_get_char(source) );
        }
    }
    else // decimal
    {
        while( x_source_parse_bl(source,"#?([0]>='0'&&[0]<='9')" ) ) st_s_push_char(&(st),x_source_get_char(source) );
    }
    
    if( !is_hex && x_source_parse_bl(source,"#?([0]=='.')" ) )
    {
        st_s_push_char(&(st),x_source_get_char(source) );
        while( x_source_parse_bl(source,"#?([0]>='0'&&[0]<='9')" ) ) st_s_push_char(&(st),x_source_get_char(source) );
        is_float = true;
    }
    
    bl_t exponent = false;
    
    if( !is_hex && x_source_parse_bl(source,"#?([0]=='e'||[0]=='E')" ) )
    {
        st_s_push_char(&(st),x_source_get_char(source) );
        exponent = true;
        is_float = true;
    }
    
    if( exponent )
    {
        if( x_source_parse_bl(source,"#?([0]=='+'||[0]=='-')" ) )
        {
            st_s_push_char(&(st),x_source_get_char(source) );
        }
    
        while( x_source_parse_bl(source,"#?([0]>='0'&&[0]<='9')" ) )
        {
            st_s_push_char(&(st),x_source_get_char(source) );
        }
    }
    
    f3_t factor = 1.0;
    bl_t use_suffix = true;
    
    char c = x_source_inspect_char(source);
    switch( c )
    {
        case 'd': factor = 1E-1;  break; // deci
        case 'c': factor = 1E-2;  break; // centi
        case 'm': factor = 1E-3;  break; // milli
        case 'u': factor = 1E-6;  break; // micro
        case 'n': factor = 1E-9;  break; // nano
        case 'p': factor = 1E-12; break; // pico
        case 'f': factor = 1E-15; break; // femto
        case 'a': factor = 1E-18; break; // atto
        case 'z': factor = 1E-21; break; // zepto
        case 'y': factor = 1E-24; break; // yocto
        case 'r': factor = 1E-27; break; // ronto
        case 'q': factor = 1E-30; break; // quecto
    
        case 'D': factor = 1E+1;  break; // deca
        case 'C': factor = 1E+2;  break; // cento
        case 'K': factor = 1E+3;  break; // kilo
        case 'M': factor = 1E+6;  break; // mega
        case 'G': factor = 1E+9;  break; // giga
        case 'T': factor = 1E+12; break; // tera
        case 'P': factor = 1E+15; break; // peta
        case 'X': factor = 1E+18; break; // exa
        case 'Z': factor = 1E+21; break; // zetta
        case 'Y': factor = 1E+24; break; // yotta
        case 'R': factor = 1E+27; break; // ronna
        case 'Q': factor = 1E+30; break; // quetta
    
        default: use_suffix = false; break;
    }
    
    if( use_suffix ) x_source_get_char(source);
    
    if( is_float )
    {
        f3_t f3 = 0;
        st_s_parse_fa(&(st),0, -1, "#<f3_t*>", (&(f3)) );
        sr_s_const_from_f3(sr,f3 * factor );
    }
    else
    {
        s3_t s3 = 0;
        st_s_parse_fa(&(st),0, -1, "#<s3_t*>", (&(s3)) );
        if( use_suffix )
        {
            sr_s_const_from_f3(sr,s3 * factor );
        }
        else
        {
            sr_s_const_from_s3(sr,s3 );
        }
    }
    
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdx, %r13
movq %rsi, %r14
leaq 0x11b708(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x38(%rsp), %rbx
movq %rbx, %rdi
callq 0xd6675
movq $0x0, 0x10(%rbx)
leaq 0x18(%rsp), %r15
movq %r15, %rdi
callq 0x109030
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
movq %rbx, %rdi
movq %r15, %rdx
callq 0xd68d9
movq (%r14), %rbx
leaq 0x11c5bc(%rip), %r12    # 0x19ccc8
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %rbx, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x80763
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x80763
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x80763
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x8076c
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x80793
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x11c540(%rip), %rdi    # 0x19ccc8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0xafc5f(%rip), %rdx     # 0x1303f9
movq %r15, %rdi
movq %r14, %rsi
callq 0xffe2b
testb %al, %al
movq %r13, 0x8(%rsp)
je 0x807ba
leaq 0xafc4b(%rip), %rsi     # 0x130400
jmp 0x80865
movq (%r14), %rbx
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %rbx, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x80814
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x80814
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x80814
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x8081d
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x80844
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x11c48f(%rip), %rdi    # 0x19ccc8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0xafbb8(%rip), %rdx     # 0x130403
movq %r15, %rdi
movq %r14, %rsi
callq 0xffe2b
testb %al, %al
je 0x80c15
leaq 0xafba5(%rip), %rsi     # 0x13040a
leaq 0x18(%rsp), %rdi
callq 0x10a6fa
leaq 0xafb97(%rip), %rbx     # 0x13040d
movq %rsp, %rbp
movq (%r14), %r15
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %r15, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x808d3
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x808d3
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x808d3
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x808dc
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x808ff
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r13
movq %r12, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r13, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0xffe2b
testb %al, %al
je 0x809c3
movq (%r14), %r15
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %r15, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x8096f
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x8096f
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x8096f
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x80978
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x8099b
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r13
movq %r12, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%r13), %rax
movb $0x0, (%rsp)
movl $0x1, %edx
movq %r14, %rdi
movq %rbp, %rsi
callq *%rax
movsbl (%rsp), %esi
leaq 0x18(%rsp), %rdi
callq 0x10a448
jmp 0x80879
xorl %ebp, %ebp
movq (%r14), %rbx
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %rbx, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x80a1f
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x80a1f
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x80a1f
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x80a28
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x80a4f
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x11c284(%rip), %rdi    # 0x19ccc8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r15, %rdi
movq %r14, %rsi
callq 0xff8b6
addb $-0x43, %al
cmpb $0x37, %al
ja 0x80b6f
movzbl %al, %eax
movabsq $0xc4ec0b40e2e513, %rcx # imm = 0xC4EC0B40E2E513
btq %rax, %rcx
jae 0x80b6f
leaq 0xc1b46(%rip), %rcx     # 0x1425c8
movsd (%rcx,%rax,8), %xmm0
movsd %xmm0, 0x10(%rsp)
movq (%r14), %rbx
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %rbx, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x80ae7
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x80ae7
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x80ae7
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x80af0
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x80b17
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x11c1bc(%rip), %rdi    # 0x19ccc8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%r15), %rax
movq %rsp, %rsi
movb $0x0, (%rsi)
movl $0x1, %edx
movq %r14, %rdi
callq *%rax
testb %bpl, %bpl
jne 0x80b82
movq %rsp, %rbx
movq $0x0, (%rbx)
leaq 0xcbc24(%rip), %rcx     # 0x14c765
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
movq $-0x1, %rdx
movq %rbx, %r8
xorl %eax, %eax
callq 0x10d709
cvtsi2sdq (%rbx), %xmm1
movsd 0x10(%rsp), %xmm0
mulsd %xmm1, %xmm0
movq 0x8(%rsp), %rdi
jmp 0x80bbd
testb %bpl, %bpl
je 0x80bc4
movsd 0xb6704(%rip), %xmm0    # 0x137280
movsd %xmm0, 0x10(%rsp)
movq 0x8(%rsp), %r14
movq %rsp, %rbx
movq $0x0, (%rbx)
leaq 0xc3f83(%rip), %rcx     # 0x144b1b
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
movq $-0x1, %rdx
movq %rbx, %r8
xorl %eax, %eax
callq 0x10d709
movsd 0x10(%rsp), %xmm0
mulsd (%rbx), %xmm0
movq %r14, %rdi
callq 0x1082ef
jmp 0x80bfa
movq %rsp, %rbx
movq $0x0, (%rbx)
leaq 0xcbb90(%rip), %rcx     # 0x14c765
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
movq $-0x1, %rdx
movq %rbx, %r8
xorl %eax, %eax
callq 0x10d709
movq (%rbx), %rsi
movq 0x8(%rsp), %rdi
callq 0x10838e
leaq 0x38(%rsp), %rdi
callq 0xd6d2c
xorl %eax, %eax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb771a(%rip), %r13     # 0x138336
leaq 0x18(%rsp), %rbp
movq (%r14), %r15
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %r15, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x80c7b
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x80c7b
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x80c7b
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x80c84
movq (%rax,%rcx), %rbx
testq %rbx, %rbx
jne 0x80ca7
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r12, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq %rbx, %rdi
movq %r14, %rsi
movq %r13, %rdx
callq 0xffe2b
movq (%r14), %r15
movl (%r12), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%r12,%rcx,8), %rdx
movq 0x18(%r12,%rcx,8), %rsi
andq %r15, %rsi
shlq $0x4, %rsi
leaq (%rdx,%rsi), %rcx
movq (%rdx,%rsi), %rdx
testb %al, %al
je 0x80d6a
movl $0x8, %eax
cmpq %r15, %rdx
je 0x80d18
movq 0x10(%rcx), %rdx
movl $0x18, %eax
cmpq %r15, %rdx
je 0x80d18
movq 0x20(%rcx), %rdx
movl $0x28, %eax
cmpq %r15, %rdx
je 0x80d18
movq 0x30(%rcx), %rdx
movl $0x38, %eax
cmpq %r15, %rdx
jne 0x80d21
movq (%rcx,%rax), %rbx
testq %rbx, %rbx
jne 0x80d44
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %rbx
movq %r12, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%rbx), %rax
movb $0x0, (%rsp)
movl $0x1, %edx
movq %r14, %rdi
movq %rsp, %rsi
callq *%rax
movsbl (%rsp), %esi
movq %rbp, %rdi
callq 0x10a448
jmp 0x80c21
movl $0x8, %eax
cmpq %r15, %rdx
je 0x80d9e
movq 0x10(%rcx), %rdx
movl $0x18, %eax
cmpq %r15, %rdx
je 0x80d9e
movq 0x20(%rcx), %rdx
movl $0x28, %eax
cmpq %r15, %rdx
je 0x80d9e
movq 0x30(%rcx), %rdx
movl $0x38, %eax
cmpq %r15, %rdx
jne 0x80da7
movq (%rcx,%rax), %rbx
testq %rbx, %rbx
jne 0x80dce
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %rbx
leaq 0x11bf05(%rip), %rdi    # 0x19ccc8
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0xaf67d(%rip), %rdx     # 0x130452
movq %rbx, %rdi
movq %r14, %rsi
callq 0xffe2b
testb %al, %al
je 0x80fe1
movq (%r14), %rbx
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %rbx, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x80e42
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x80e42
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x80e42
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x80e4b
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x80e72
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x11be61(%rip), %rdi    # 0x19ccc8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%r15), %rax
movq %rsp, %rbx
movb $0x0, (%rbx)
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq *%rax
movb (%rbx), %al
leaq 0x18(%rsp), %rbp
leaq 0xb749f(%rip), %rbx     # 0x138336
movsbl %al, %esi
movq %rbp, %rdi
callq 0x10a448
movq (%r14), %r15
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %r15, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x80efc
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x80efc
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x80efc
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x80f05
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x80f28
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r13
movq %r12, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r13, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0xffe2b
testb %al, %al
je 0x80fe5
movq (%r14), %r15
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %r15, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x80f98
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x80f98
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x80f98
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x80fa1
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x80fc4
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r13
movq %r12, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%r13), %rax
movb $0x0, (%rsp)
movl $0x1, %edx
movq %r14, %rdi
movq %rsp, %rsi
callq *%rax
movb (%rsp), %al
jmp 0x80e97
xorl %ebp, %ebp
jmp 0x80fe8
movb $0x1, %bpl
movq (%r14), %rbx
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %rbx, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x81042
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x81042
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x81042
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x8104b
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x81072
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x11bc61(%rip), %rdi    # 0x19ccc8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0xaf3e6(%rip), %rdx     # 0x13045f
movq %r15, %rdi
movq %r14, %rsi
callq 0xffe2b
testb %al, %al
je 0x809c5
movq (%r14), %rbx
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %rbx, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x810e6
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x810e6
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x810e6
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x810ef
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x81116
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x11bbbd(%rip), %rdi    # 0x19ccc8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%r15), %rax
movq %rsp, %rbx
movb $0x0, (%rbx)
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq *%rax
movsbl (%rbx), %esi
leaq 0x18(%rsp), %rdi
callq 0x10a448
movq (%r14), %rbx
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %rbx, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x81194
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x81194
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x81194
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x8119d
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x811c4
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x11bb0f(%rip), %rdi    # 0x19ccc8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0xaf2ab(%rip), %rdx     # 0x130476
movq %r15, %rdi
movq %r14, %rsi
callq 0xffe2b
testb %al, %al
je 0x8128e
movq (%r14), %rbx
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %rbx, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x81238
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x81238
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x81238
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x81241
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x81268
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x11ba6b(%rip), %rdi    # 0x19ccc8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%r15), %rax
movq %rsp, %rbx
movb $0x0, (%rbx)
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq *%rax
movb (%rbx), %al
movsbl %al, %esi
leaq 0x18(%rsp), %rdi
callq 0x10a448
movq (%r14), %rbx
movl (%r12), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r12,%rax,8), %rcx
movq 0x18(%r12,%rax,8), %rdx
andq %rbx, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x812e8
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x812e8
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x812e8
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x812f1
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x81318
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x11b9bb(%rip), %rdi    # 0x19ccc8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0xb7017(%rip), %rdx     # 0x138336
movq %r15, %rdi
movq %r14, %rsi
callq 0xffe2b
testb %al, %al
jne 0x811de
movb $0x1, %bpl
jmp 0x809c5