Skip to content
This repository has been archived by the owner on Aug 23, 2022. It is now read-only.

How not to be explicit about "runtime's memory" #763

Open
dk-kling opened this issue Sep 14, 2021 · 4 comments
Open

How not to be explicit about "runtime's memory" #763

dk-kling opened this issue Sep 14, 2021 · 4 comments

Comments

@dk-kling
Copy link

dk-kling commented Sep 14, 2021

Hi, I want to lift executable binary to LLVM bitcode, which is similar to the original file.
So I wonder if I can lift without specifying "mode program's memory" and "runtime's memory" provided by remill.
Does mcsema have an option not to explicate memory and state?

Thank you so much!

@pgoodman
Copy link
Collaborator

There is a --keep_memops option, that prevents McSema from lowering Remill memory access intrinsics into LLVM load and store instructions, is this what you're looking for?

@pgoodman
Copy link
Collaborator

It's possible/plausible that you also mean: don't even attempt to lift cross-references or data at all, and just lift the code, leaving all addresses as integers. That would be a very interesting mode to implement, and should be quite easy. You could achieve this with a new flag, that would be like keep_memops, and ideally should also turn on keep_memops if enabled.

Here are the steps you'd follow:

  • Add a new DEFINE_bool in Util.cpp, perhaps something like only_code, i.e. to lift only code.
  • Update LiftXrefInCode to fast path by checking if (FLAGS_only_code), then return an llvm::ConstantInt of type gWordType and value ea.
  • Update LiftXrefInData in the same way.
  • Add a DECLARE_bool for your flag here.
  • Add a check here to enable FLAGS_keep_memops if FLAGS_only_code is true.
  • Add a similar DECLARE_bool to this file, and make this function call condition on !FLAGS_only_code.
  • Also make the call to ExportVariables and MergeSegments conditional on !FLAGS_only_code.

@dk-kling
Copy link
Author

First of all, thank you for your answer.
However, I am leaving a comment again because I think the intention I asked is not clear.
Here's a simple C++ example code.

[for.cpp]

#include <iostream>

int main() {
  int rt = 0;
  for (int i = 0; i < 10; i++) {
    rt += i;
  }
  return rt;
}

If I convert this code directly into IR, I can get the following code.

[for.ll]

; ModuleID = 'for.cpp'
source_filename = "for.cpp"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::ios_base::Init" = type { i8 }

@_ZStL8__ioinit = internal global %"class.std::ios_base::Init" zeroinitializer, align 1
@__dso_handle = external global i8
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_for.cpp, i8* null }

; Function Attrs: noinline uwtable
define internal void @__cxx_global_var_init() #0 section ".text.startup" {
call void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"* @_ZStL8__ioinit)
%1 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.std::ios_base::Init"*)* @_ZNSt8ios_base4InitD1Ev to void (i8*)*), i8* getelementpt
ret void
}

declare void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"*) unnamed_addr #1

declare void @_ZNSt8ios_base4InitD1Ev(%"class.std::ios_base::Init"*) unnamed_addr #1

; Function Attrs: nounwind
declare i32 @__cxa_atexit(void (i8*)*, i8*, i8*) #2

; Function Attrs: noinline norecurse nounwind uwtable
define i32 @main() #3 {
%1 = alloca i32, align 4
%2 = alloca i32, align 4
%3 = alloca i32, align 4
store i32 0, i32* %1, align 4
store i32 0, i32* %2, align 4
store i32 0, i32* %3, align 4
br label %4

; <label>:4: ; preds = %11, %0
%5 = load i32, i32* %3, align 4
%6 = icmp slt i32 %5, 10
br i1 %6, label %7, label %14

; <label>:7: ; preds = %4
%8 = load i32, i32* %3, align 4
%9 = load i32, i32* %2, align 4
%10 = add nsw i32 %9, %8
store i32 %10, i32* %2, align 4
br label %11

; <label>:11: ; preds = %7
%12 = load i32, i32* %3, align 4
%13 = add nsw i32 %12, 1
store i32 %13, i32* %3, align 4
br label %4

; <label>:14: ; preds = %4
%15 = load i32, i32* %2, align 4
ret i32 %15
}

; Function Attrs: noinline uwtable
define internal void @_GLOBAL__sub_I_for.cpp() #0 section ".text.startup" {
call void @__cxx_global_var_init()
ret void
}

attributes #0 = { noinline uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"=
attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #2 = { nounwind }
attributes #3 = { noinline norecurse nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-th"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "

!llvm.ident = !{!0}

!0 = !{!"Obfuscator-LLVM clang version 4.0.1 (based on Obfuscator-LLVM 4.0.1)"}

However, it is difficult to obtain the above results by converting example.cpp into a binary file (for), and lifting using mcsema. Can I convert binary file, for to a file such as for.ll?
If the binary file for is lifted with mcsema, the following results can be obtained.

[for_mcsema_lifted.ll]

; ModuleID = './lifted/for.bc'
source_filename = "llvm-link"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu-elf"

%struct.State = type { %struct.ArchState, [32 x %union.VectorReg], %struct.ArithFlags, %union.anon, %struct.Segments, %struct.AddressSpace, %struct.GPR, %struct.X87Stack, %struct.MMX, %struct.FPUStatusFlags, %union.anon, %union.FPU, %struct.SegmentCaches }
%struct.ArchState = type { i32, i32, %union.anon }
%union.VectorReg = type { %union.vec512_t }
%union.vec512_t = type { %struct.uint64v8_t }
%struct.uint64v8_t = type { [8 x i64] }
%struct.ArithFlags = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }
%struct.Segments = type { i16, %union.SegmentSelector, i16, %union.SegmentSelector, i16, %union.SegmentSelector, i16, %union.SegmentSelector, i16, %union.SegmentSelector, i16, %union.SegmentSelector }
%union.SegmentSelector = type { i16 }
%struct.AddressSpace = type { i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg }
%struct.Reg = type { %union.anon }
%struct.GPR = type { i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg, i64, %struct.Reg }
%struct.X87Stack = type { [8 x %struct.anon.3] }
%struct.anon.3 = type { i64, double }
%struct.MMX = type { [8 x %struct.anon.4] }
%struct.anon.4 = type { i64, %union.vec64_t }
%union.vec64_t = type { %struct.uint64v1_t }
%struct.uint64v1_t = type { [1 x i64] }
%struct.FPUStatusFlags = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [4 x i8] }
%union.anon = type { i64 }
%union.FPU = type { %struct.anon.13 }
%struct.anon.13 = type { %struct.FpuFXSAVE, [96 x i8] }
%struct.FpuFXSAVE = type { %union.SegmentSelector, %union.SegmentSelector, %union.FPUAbridgedTagWord, i8, i16, i32, %union.SegmentSelector, i16, i32, %union.SegmentSelector, i16, %union.FPUControlStatus, %union.FPUControlStatus, [8 x %struct.FPUStackElem], [16 x %union.vec128_t] }
%union.FPUAbridgedTagWord = type { i8 }
%union.FPUControlStatus = type { i32 }
%struct.FPUStackElem = type { %union.anon.11, [6 x i8] }
%union.anon.11 = type { %struct.float80_t }
%struct.float80_t = type { [10 x i8] }
%union.vec128_t = type { %struct.uint128v1_t }
%struct.uint128v1_t = type { [1 x i128] }
%struct.SegmentCaches = type { %struct.SegmentShadow, %struct.SegmentShadow, %struct.SegmentShadow, %struct.SegmentShadow, %struct.SegmentShadow, %struct.SegmentShadow }
%struct.SegmentShadow = type { %union.anon, i32, i32 }
%seg_0_LOAD_6e8_type = type <{ [8 x i8], [8 x i8], [8 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [8 x i8], [24 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [8 x i8], [24 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [8 x i8], [40 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [28 x i8], [4 x i8], [28 x i8], [4 x i8], [52 x i8], [4 x i8], [8 x i8], [8 x i8], [20 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [28 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [16 x i8], [212 x i8], [4 x i8], [8 x i8], [4 x i8], [32 x i8], [4 x i8], [12 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8], [4 x i8], [4 x i8], [8 x i8], [8 x i8] }>
%seg_1000__init_1b_type = type <{ [27 x i8], [5 x i8], [48 x i8], [16 x i8], [32 x i8], [84 x i8], [4 x i8], [4 x i8], [4 x i8], [60 x i8], [4 x i8], [60 x i8], [4 x i8], [20 x i8], [4 x i8], [196 x i8], [4 x i8], [44 x i8], [4 x i8], [5 x i8], [3 x i8], [13 x i8] }>
%seg_2000__rodata_5_type = type <{ [4 x i8], [1 x i8], [3 x i8], [84 x i8], [4 x i8], [4 x i8], [4 x i8], [36 x i8], [4 x i8], [36 x i8], [4 x i8], [16 x i8], [8 x i8], [16 x i8], [8 x i8], [184 x i8], [8 x i8] }>
%seg_3d90__init_array_18_type = type <{ i8*, i8*, i8*, [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [12 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [4 x i8], [84 x i8], [4 x i8], [20 x i8], i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, [8 x i8], i8*, [8 x i8], [1 x i8] }>
%struct.Memory = type opaque

@__mcsema_reg_state = thread_local(initialexec) global %struct.State zeroinitializer
@__mcsema_stack = internal thread_local(initialexec) global [1048576 x i8] zeroinitializer
@0 = internal global i1 false
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 101, void ()* @__mcsema_constructor, i8* null }]
@llvm.global_dtors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 101, void ()* @__mcsema_destructor, i8* null }]
@__mcsema_all_segments = internal global <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }> <{ %seg_0_LOAD_6e8_type <{ [8 x i8] c"\7FELF\02\01\01\00", [8 x i8] zeroinitializer, [8 x i8] c"\03\00>\00\01\00\00\00", i8* bitcast (i64 (i64, i64, i64, i64, i64, i64, i64, i64)* @start to i8*), [4 x i8] c"@\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\B8:\00\00", [8 x i8] zeroinitializer, [24 x i8] c"@\008\00\0D\00@\00\1F\00\1E\00\06\00\00\00\04\00\00\00@\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"@\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"@\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\D8\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\D8\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\03\00\00\00\04\00\00\00\18\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\18\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\18\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1C\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1C\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\01\00\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\01\00\00\00\04\00\00\00", [24 x i8] zeroinitializer, [4 x i8] c"\E8\06\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\E8\06\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\01\00\00\00\05\00\00\00\00\10\00\00", [4 x i8] zeroinitializer, i8* bitcast (void ()* @.init_proc to i8*), [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\85\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\85\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\01\00\00\00\04\00\00\00\00 \00\00", [4 x i8] zeroinitializer, i8* @data_2000, [4 x i8] c"\00 \00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A8\01\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A8\01\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\01\00\00\00\06\00\00\00\90-\00\00", [4 x i8] zeroinitializer, i8* bitcast (i8** @data_3d90 to i8*), [4 x i8] c"\90=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\80\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\88\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\02\00\00\00\06\00\00\00\A8-\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A8=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A8=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\04\00\00\00\04\00\00\008\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"8\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"8\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c" \00\00\00", [4 x i8] zeroinitializer, [4 x i8] c" \00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\04\00\00\00\04\00\00\00X\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"X\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"X\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"D\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"D\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\04\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"S\E5td\04\00\00\008\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"8\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"8\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c" \00\00\00", [4 x i8] zeroinitializer, [4 x i8] c" \00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"P\E5td\04\00\00\00\08 \00\00", [4 x i8] zeroinitializer, i8* @data_2008, [4 x i8] c"\08 \00\00", [4 x i8] zeroinitializer, [4 x i8] c"T\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"T\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\04\00\00\00", [4 x i8] zeroinitializer, [8 x i8] c"Q\E5td\06\00\00\00", [40 x i8] zeroinitializer, [4 x i8] c"\10\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"R\E5td\04\00\00\00\90-\00\00", [4 x i8] zeroinitializer, i8* bitcast (i8** @data_3d90 to i8*), [4 x i8] c"\90=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"p\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"p\02\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\01\00\00\00", [4 x i8] zeroinitializer, [28 x i8] c"/lib64/ld-linux-x86-64.so.2\00", [4 x i8] zeroinitializer, [28 x i8] c"\04\00\00\00\10\00\00\00\05\00\00\00GNU\00\02\00\00\C0\04\00\00\00\03\00\00\00", [4 x i8] zeroinitializer, [52 x i8] c"\04\00\00\00\14\00\00\00\03\00\00\00GNU\00\A3\18\80,\18K\B8q\E1\AF\9B\D8&\7F\E9\991\CA7\87\04\00\00\00\10\00\00\00\01\00\00\00GNU\00", [4 x i8] zeroinitializer, [8 x i8] c"\03\00\00\00\02\00\00\00", [8 x i8] zeroinitializer, [20 x i8] c"\02\00\00\00\08\00\00\00\01\00\00\00\06\00\00\00\00\00\81\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\D1e\CEm", [28 x i8] zeroinitializer, [8 x i8] c"\8F\00\00\00\12\00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"m\00\00\00\12\00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"\1F\00\00\00 \00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"\AB\00\00\00\12\00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"\10\00\00\00 \00\00\00", [16 x i8] zeroinitializer, [8 x i8] c";\00\00\00 \00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"U\00\00\00\12\00\00\00", [16 x i8] zeroinitializer, [8 x i8] c"\9C\00\00\00\22\00\00\00", [16 x i8] zeroinitializer, [212 x i8] c"\00libstdc++.so.6\00__gmon_start__\00_ITM_deregisterTMCloneTable\00_ITM_registerTMCloneTable\00_ZNSt8ios_base4InitD1Ev\00_ZNSt8ios_base4InitC1Ev\00libc.so.6\00__cxa_atexit\00__cxa_finalize\00__libc_start_main\00GLIBCXX_3.4\00GLIBC_2.2.5", [4 x i8] zeroinitializer, [8 x i8] c"\02\00\03\00\00\00\02\00", [4 x i8] zeroinitializer, [32 x i8] c"\03\00\02\00\01\00\01\00\01\00\00\00\10\00\00\00 \00\00\00t)\92\08\00\00\03\00\BD\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"\01\00\01\00\85\00\00\00\10\00\00\00", [4 x i8] zeroinitializer, [12 x i8] c"u\1Ai\09\00\00\02\00\C9\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\90=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"`\11\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\98=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\E3\11\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A0=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c" \11\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08@\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08@\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\D0?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\08\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\D8?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\03\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\E0?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\04\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\E8?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\05\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\F0?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\06\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\F8?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\06\00\00\00\07\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\C0?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\07\00\00\00\01\00\00\00", [8 x i8] zeroinitializer, [4 x i8] c"\C8?\00\00", [4 x i8] zeroinitializer, [8 x i8] c"\07\00\00\00\02\00\00\00", [8 x i8] zeroinitializer }>, [2328 x i8] zeroinitializer, %seg_1000__init_1b_type <{ [27 x i8] c"\F3\0F\1E\FAH\83\EC\08H\8B\05\D9/\00\00H\85\C0t\02\FF\D0H\83\C4\08\C3", [5 x i8] zeroinitializer, [48 x i8] c"\FF5\8A/\00\00\F2\FF%\8B/\00\00\0F\1F\00\F3\0F\1E\FAh\00\00\00\00\F2\E9\E1\FF\FF\FF\90\F3\0F\1E\FAh\01\00\00\00\F2\E9\D1\FF\FF\FF\90", [16 x i8] c"\F3\0F\1E\FA\F2\FF%u/\00\00\0F\1FD\00\00", [32 x i8] c"\F3\0F\1E\FA\F2\FF%U/\00\00\0F\1FD\00\00\F3\0F\1E\FA\F2\FF%M/\00\00\0F\1FD\00\00", [84 x i8] c"\F3\0F\1E\FA1\EDI\89\D1^H\89\E2H\83\E4\F0PTL\8D\05\D6\01\00\00H\8D\0D_\01\00\00H\8D=\C1\00\00\00\FF\152/\00\00\F4\90H\8D=Y/\00\00H\8D\05R/\00\00H9\F8t\15H\8B\05\0E/\00\00H\85\C0t\09\FF\E0\0F\1F\80", [4 x i8] zeroinitializer, [4 x i8] c"\C3\0F\1F\80", [4 x i8] zeroinitializer, [60 x i8] c"H\8D=)/\00\00H\8D5\22/\00\00H)\FEH\C1\FE\03H\89\F0H\C1\E8?H\01\C6H\D1\FEt\14H\8B\05\E5.\00\00H\85\C0t\08\FF\E0f\0F\1FD\00\00\C3\0F\1F\80", [4 x i8] zeroinitializer, [60 x i8] c"\F3\0F\1E\FA\80=\E5.\00\00\00u+UH\83=\9A.\00\00\00H\89\E5t\0CH\8B=\C6.\00\00\E8\09\FF\FF\FF\E8d\FF\FF\FF\C6\05\BD.\00\00\01]\C3\0F\1F\00\C3\0F\1F\80", [4 x i8] zeroinitializer, [20 x i8] c"\F3\0F\1E\FA\E9w\FF\FF\FF\F3\0F\1E\FAUH\89\E5\C7E\F8", [4 x i8] zeroinitializer, [196 x i8] c"\C7E\FC\00\00\00\00\83}\FC\09\7F\0C\8BE\FC\01E\F8\83E\FC\01\EB\EE\8BE\F8]\C3\F3\0F\1E\FAUH\89\E5H\83\EC\10\89}\FC\89u\F8\83}\FC\01u2\81}\F8\FF\FF\00\00u)H\8D=S.\00\00\E8\AD\FE\FF\FFH\8D\15>.\00\00H\8D5@.\00\00H\8B\05 .\00\00H\89\C7\E8\80\FE\FF\FF\90\C9\C3\F3\0F\1E\FAUH\89\E5\BE\FF\FF\00\00\BF\01\00\00\00\E8\9C\FF\FF\FF]\C3\0F\1F@\00\F3\0F\1E\FAAWL\8D=\83+\00\00AVI\89\D6AUI\89\F5ATA\89\FCUH\8D-|+\00\00SL)\FDH\83\EC\08\E8\CF\FD\FF\FFH\C1\FD\03t\1F1\DB\0F\1F\80", [4 x i8] zeroinitializer, [44 x i8] c"L\89\F2L\89\EED\89\E7A\FF\14\DFH\83\C3\01H9\DDu\EAH\83\C4\08[]A\\A]A^A_\C3ff.\0F\1F\84\00", [4 x i8] zeroinitializer, [5 x i8] c"\F3\0F\1E\FA\C3", [3 x i8] zeroinitializer, [13 x i8] c"\F3\0F\1E\FAH\83\EC\08H\83\C4\08\C3" }>, [3451 x i8] zeroinitializer, %seg_2000__rodata_5_type <{ [4 x i8] c"\01\00\02\00", [1 x i8] zeroinitializer, [3 x i8] zeroinitializer, [84 x i8] c"\01\1B\03;T\00\00\00\09\00\00\00\18\F0\FF\FF\88\00\00\00H\F0\FF\FF\B0\00\00\00X\F0\FF\FF\C8\00\00\00x\F0\FF\FFp\00\00\00a\F1\FF\FF\E0\00\00\00\8E\F1\FF\FF\00\01\00\00\DB\F1\FF\FF \01\00\00\F8\F1\FF\FF@\01\00\00h\F2\FF\FF\88\01\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\14\00\00\00", [4 x i8] zeroinitializer, [36 x i8] c"\01zR\00\01x\10\01\1B\0C\07\08\90\01\00\00\14\00\00\00\1C\00\00\00\00\F0\FF\FF/\00\00\00\00D\07\10", [4 x i8] zeroinitializer, [36 x i8] c"$\00\00\004\00\00\00\88\EF\FF\FF0\00\00\00\00\0E\10F\0E\18J\0F\0Bw\08\80\00?\1A:*3$\22", [4 x i8] zeroinitializer, [16 x i8] c"\14\00\00\00\\\00\00\00\90\EF\FF\FF\10\00\00\00", [8 x i8] zeroinitializer, [16 x i8] c"\14\00\00\00t\00\00\00\88\EF\FF\FF \00\00\00", [8 x i8] zeroinitializer, [184 x i8] c"\1C\00\00\00\8C\00\00\00y\F0\FF\FF-\00\00\00\00E\0E\10\86\02C\0D\06d\0C\07\08\00\00\00\1C\00\00\00\AC\00\00\00\86\F0\FF\FFM\00\00\00\00E\0E\10\86\02C\0D\06\02D\0C\07\08\00\00\1C\00\00\00\CC\00\00\00\B3\F0\FF\FF\19\00\00\00\00E\0E\10\86\02C\0D\06P\0C\07\08\00\00\00D\00\00\00\EC\00\00\00\B0\F0\FF\FFe\00\00\00\00F\0E\10\8F\02I\0E\18\8E\03E\0E \8D\04E\0E(\8C\05D\0E0\86\06H\0E8\83\07G\0E@n\0E8A\0E0A\0E(B\0E B\0E\18B\0E\10B\0E\08\00\10\00\00\004\01\00\00\D8\F0\FF\FF\05\00\00\00", [8 x i8] zeroinitializer }>, [7144 x i8] zeroinitializer, %seg_3d90__init_array_18_type <{ i8* bitcast (void ()* @frame_dummy to i8*), i8* bitcast (i64 (i64, i64, i64, i64, i64, i64, i64, i64)* @_GLOBAL__sub_I_main to i8*), i8* bitcast (void ()* @__do_global_dtors_aux to i8*), [4 x i8] c"\01\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\01\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\01\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\85\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\0C\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\00\10\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\0D\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"x\12\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\19\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\90=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1B\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\10\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1A\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A0=\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1C\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\F5\FE\FFo", [4 x i8] zeroinitializer, [4 x i8] c"\A0\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\05\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A0\04\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\06\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\C8\03\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\0A\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\D5\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\0B\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\18\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\15\00\00\00", [12 x i8] zeroinitializer, [4 x i8] c"\03\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\A8?\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\02\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"0\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\14\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\07\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\17\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\B8\06\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\07\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\C8\05\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\F0\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\09\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\18\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\1E\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\08\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\FB\FF\FFo", [4 x i8] zeroinitializer, [4 x i8] c"\01\00\00\08", [4 x i8] zeroinitializer, [4 x i8] c"\FE\FF\FFo", [4 x i8] zeroinitializer, [4 x i8] c"\88\05\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\FF\FF\FFo", [4 x i8] zeroinitializer, [4 x i8] c"\02\00\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\F0\FF\FFo", [4 x i8] zeroinitializer, [4 x i8] c"v\05\00\00", [4 x i8] zeroinitializer, [4 x i8] c"\F9\FF\FFo", [4 x i8] zeroinitializer, [4 x i8] c"\04\00\00\00", [84 x i8] zeroinitializer, [4 x i8] c"\A8=\00\00", [20 x i8] zeroinitializer, i8* bitcast (i64 (i64, i64, i64)* @__cxa_atexit to i8*), i8* bitcast (i64 (i64)* @_ZNSt8ios_base4InitC1Ev to i8*), i8* bitcast (i64 (i64)* @__cxa_finalize to i8*), i8* bitcast (i64 (i64)* @_ITM_deregisterTMCloneTable to i8*), i8* bitcast (void (i32 (i32, i8**, i8**)*, i32, i8**, i8*, i32 (i32, i8**, i8**)*, void ()*, void ()*, i32*)* @__libc_start_main to i8*), i8* bitcast (void ()* @__gmon_start__ to i8*), i8* bitcast (i64 (i64, i64)* @_ITM_registerTMCloneTable to i8*), i8* bitcast (i64 (i64)* @_ZNSt8ios_base4InitD1Ev to i8*), [8 x i8] zeroinitializer, i8* bitcast (i8** @data_4008 to i8*), [8 x i8] zeroinitializer, [1 x i8] zeroinitializer }> }>, section ".section_0"

@data_1256 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 17, i32 22)
@data_1237 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 15, i32 191)
@data_1158 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 11, i32 56)
@data_112d = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 11, i32 13)
@data_11ae = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 15, i32 54)
@data_1014 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 0, i32 20)
@data_1012 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 0, i32 18)
@data_1231 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 15, i32 185)
@data_3d90 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 0)
@data_11fa = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 15, i32 130)
@data_102d = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 2, i32 13)
@data_3fb8 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 110, i32 12)
@data_3fb0 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 110, i32 4)
@data_1147 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 11, i32 39)
@data_1119 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 9, i32 57)
@data_3ff0 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 117)
@data_10d9 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 7, i32 1)
@data_3fd8 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 114)
@data_4010 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 121, i32 0)
@data_10ae = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 5, i32 46)
@data_3fe0 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 115)
@data_107b = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 4, i32 27)
@data_3fc8 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 112)
@data_106b = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 4, i32 11)
@data_3fc0 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 111)
@data_105b = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 3, i32 11)
@data_3fd0 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 113)
@data_11e0 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 15, i32 104)
@data_3ff8 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 118)
@data_4008 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 120)
@data_4011 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 121, i32 1)
@data_1016 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 0, i32 22)
@data_3fe8 = internal alias i8*, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 6, i32 116)
@data_1240 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 2, i32 17, i32 0)
@data_2000 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 4, i32 0, i32 0)
@data_2008 = internal alias i8, getelementptr inbounds (<{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>, <{ %seg_0_LOAD_6e8_type, [2328 x i8], %seg_1000__init_1b_type, [3451 x i8], %seg_2000__rodata_5_type, [7144 x i8], %seg_3d90__init_array_18_type }>* @__mcsema_all_segments, i32 0, i32 4, i32 3, i32 0)
@RSP_2312_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 13, i32 0, i32 0)
@RSP_2312_307bf40 = private thread_local(initialexec) alias i64*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 13, i32 0, i32 0) to i64**)
@OF_2077_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 13)
@SF_2073_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 9)
@ZF_2071_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 7)
@AF_2069_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 5)
@PF_2067_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 3)
@CF_2065_30742e0 = private thread_local(initialexec) alias i8, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 2, i32 1)
@R9_2360_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 19, i32 0, i32 0)
@R8_2344_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 17, i32 0, i32 0)
@RCX_2248_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 5, i32 0, i32 0)
@RSI_2280_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 9, i32 0, i32 0)
@RAX_2216_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 1, i32 0, i32 0)
@RDI_2296_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 11, i32 0, i32 0)
@RDX_2264_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 7, i32 0, i32 0)
@RIP_2472_307bde0 = private thread_local(initialexec) alias i8*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 33, i32 0, i32 0) to i8**)
@RBP_2328_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 15, i32 0, i32 0)
@RBP_2328_307bf40 = private thread_local(initialexec) alias i64*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 15, i32 0, i32 0) to i64**)
@RSI_2280_307bde0 = private thread_local(initialexec) alias i8*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 9, i32 0, i32 0) to i8**)
@RDX_2264_3082870 = private thread_local(initialexec) alias i8**, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 7, i32 0, i32 0) to i8***)
@RDI_2296_307bde0 = private thread_local(initialexec) alias i8*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 11, i32 0, i32 0) to i8**)
@RSI_2280_3074310 = private thread_local(initialexec) alias i32, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 9, i32 0, i32 0) to i32*)
@RDI_2296_3074310 = private thread_local(initialexec) alias i32, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 11, i32 0, i32 0) to i32*)
@RIP_2472_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 33, i32 0, i32 0)
@RDI_2296_30828d0 = private thread_local(initialexec) alias i32 (i32, i8**, i8**)*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 11, i32 0, i32 0) to i32 (i32, i8**, i8**)**)
@RCX_2248_30817d0 = private thread_local(initialexec) alias void ()*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 5, i32 0, i32 0) to void ()**)
@R8_2344_30817d0 = private thread_local(initialexec) alias void ()*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 17, i32 0, i32 0) to void ()**)
@RAX_2216_307bde0 = private thread_local(initialexec) alias i8*, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 1, i32 0, i32 0) to i8**)
@R12_2408_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 25, i32 0, i32 0)
@RBX_2232_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 3, i32 0, i32 0)
@R13_2424_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 27, i32 0, i32 0)
@R14_2440_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 29, i32 0, i32 0)
@R15_2456_3074328 = private thread_local(initialexec) alias i64, getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 31, i32 0, i32 0)
@R15_2456_3082870 = private thread_local(initialexec) alias i8**, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 31, i32 0, i32 0) to i8***)
@R12_2408_3074310 = private thread_local(initialexec) alias i32, bitcast (i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 25, i32 0, i32 0) to i32*)

declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_sync_hyper_call(%struct.State* dereferenceable(3376), %struct.Memory*, i32) #0

; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare !remill.function.type !1215 i32 @llvm.ctpop.i32(i32) #1

; Function Attrs: noduplicate noinline nounwind optnone
define dso_local %struct.Memory* @__remill_error(%struct.State* dereferenceable(3376) %0, i64 %1, %struct.Memory* %2) #2 !remill.function.type !1215 {
  call void @abort(), !mcsema_real_eip !1216
  unreachable, !mcsema_real_eip !1216
}

; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_barrier_store_load(%struct.Memory*) #3

; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_barrier_store_store(%struct.Memory*) #3

; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_barrier_load_load(%struct.Memory*) #3

; Function Attrs: nounwind readnone
declare !remill.function.type !1215 dso_local i32 @__remill_fpu_exception_test_and_clear(i32, i32) #4

; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_barrier_load_store(%struct.Memory*) #5

; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_atomic_begin(%struct.Memory*) #5

; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_atomic_end(%struct.Memory*) #5

; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_delay_slot_begin(%struct.Memory*) #5

; Function Attrs: noduplicate noinline nounwind optnone readnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_delay_slot_end(%struct.Memory*) #5

; Function Attrs: noduplicate noinline nounwind optnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_function_call(%struct.State* nonnull, i64, %struct.Memory*) #6

; Function Attrs: noduplicate noinline nounwind optnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_function_return(%struct.State* nonnull, i64, %struct.Memory*) #6

; Function Attrs: noduplicate noinline nounwind optnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_jump(%struct.State* nonnull, i64, %struct.Memory*) #6

; Function Attrs: noduplicate noinline nounwind optnone
define dso_local %struct.Memory* @__remill_missing_block(%struct.State* nonnull %0, i64 %1, %struct.Memory* %2) #6 !remill.function.type !1215 {
  call void @abort(), !mcsema_real_eip !1216
  unreachable, !mcsema_real_eip !1216
}

; Function Attrs: noduplicate noinline nounwind optnone
declare !remill.function.type !1215 dso_local %struct.Memory* @__remill_async_hyper_call(%struct.State* nonnull, i64, %struct.Memory*) #6

; Function Attrs: nobuiltin noinline
define private void @__libc_csu_init() #7 {
  %1 = call %struct.State* @__mcsema_init_reg_state(), !mcsema_real_eip !1216
  %2 = call %struct.Memory* @sub_1200___libc_csu_init(%struct.State* %1, i64 4608, %struct.Memory* null), !mcsema_real_eip !1216
  ret void, !mcsema_real_eip !1216
}

; Function Attrs: nobuiltin noinline
define private void @__libc_csu_fini() #7 {
  %1 = call %struct.State* @__mcsema_init_reg_state(), !mcsema_real_eip !1216
  %2 = call %struct.Memory* @sub_1270___libc_csu_fini(%struct.State* %1, i64 4720, %struct.Memory* null), !mcsema_real_eip !1216
  ret void, !mcsema_real_eip !1216
}

; Function Attrs: nobuiltin noinline
define private void @frame_dummy() #7 {
  %1 = call %struct.State* @__mcsema_init_reg_state(), !mcsema_real_eip !1216
  %2 = call %struct.Memory* @sub_1160_frame_dummy(%struct.State* %1, i64 4448, %struct.Memory* null), !mcsema_real_eip !1216
  ret void, !mcsema_real_eip !1216
}

; Function Attrs: nobuiltin noinline
define private void @__do_global_dtors_aux() #7 {
  %1 = call %struct.State* @__mcsema_init_reg_state(), !mcsema_real_eip !1216
  %2 = call %struct.Memory* @sub_1120___do_global_dtors_aux(%struct.State* %1, i64 4384, %struct.Memory* null), !mcsema_real_eip !1216
  ret void, !mcsema_real_eip !1216
}

; Function Attrs: nobuiltin noinline
define private void @.init_proc() #7 {
  %1 = call %struct.State* @__mcsema_init_reg_state(), !mcsema_real_eip !1216
  %2 = call %struct.Memory* @sub_1000__init_proc(%struct.State* %1, i64 4096, %struct.Memory* null), !mcsema_real_eip !1216
  ret void, !mcsema_real_eip !1216
}

; Function Attrs: noreturn
declare void @abort() #8

; Function Attrs: noinline
define internal %struct.Memory* @sub_1000__init_proc(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1000:
  %0 = load i64, i64* @RSP_2312_3074328, align 8, !mcsema_real_eip !1216
  %1 = sub i64 %0, 8, !mcsema_real_eip !1216
  store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1216
  %2 = load i64, i64* bitcast (i8** @data_3fe8 to i64*), align 8, !mcsema_real_eip !1216
  store i64 %2, i64* @RAX_2216_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1216
  store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1216
  %3 = trunc i64 %2 to i32, !mcsema_real_eip !1216
  %4 = and i32 %3, 255, !mcsema_real_eip !1216
  %5 = call i32 @llvm.ctpop.i32(i32 %4) #13, !range !1235, !mcsema_real_eip !1216
  %6 = trunc i32 %5 to i8, !mcsema_real_eip !1216
  %7 = and i8 %6, 1, !mcsema_real_eip !1216
  %8 = xor i8 %7, 1, !mcsema_real_eip !1216
  store i8 %8, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1216
  %9 = icmp eq i64 %2, 0, !mcsema_real_eip !1216
  %10 = zext i1 %9 to i8, !mcsema_real_eip !1216
  store i8 %10, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1216
  %11 = lshr i64 %2, 63, !mcsema_real_eip !1216
  %12 = trunc i64 %11 to i8, !mcsema_real_eip !1216
  store i8 %12, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1216
  store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1216
  store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1216
  store i8* @data_1012, i8** @RIP_2472_307bde0, align 8, !mcsema_real_eip !1216
  br i1 %9, label %inst_1016, label %inst_1014, !mcsema_real_eip !1241

inst_1016:                                        ; preds = %inst_1014, %inst_1000
  %13 = load i64, i64* @RSP_2312_3074328, align 8, !mcsema_real_eip !1242
  %14 = add i64 8, %13, !mcsema_real_eip !1242
  %15 = icmp ult i64 %14, %13, !mcsema_real_eip !1242
  %16 = icmp ult i64 %14, 8, !mcsema_real_eip !1242
  %17 = or i1 %15, %16, !mcsema_real_eip !1242
  %18 = zext i1 %17 to i8, !mcsema_real_eip !1242
  store i8 %18, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1242
  %19 = trunc i64 %14 to i32, !mcsema_real_eip !1242
  %20 = and i32 %19, 255, !mcsema_real_eip !1242
  %21 = call i32 @llvm.ctpop.i32(i32 %20) #13, !range !1235, !mcsema_real_eip !1242
  %22 = trunc i32 %21 to i8, !mcsema_real_eip !1242
  %23 = and i8 %22, 1, !mcsema_real_eip !1242
  %24 = xor i8 %23, 1, !mcsema_real_eip !1242
  store i8 %24, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1242
  %25 = xor i64 8, %13, !mcsema_real_eip !1242
  %26 = xor i64 %25, %14, !mcsema_real_eip !1242
  %27 = lshr i64 %26, 4, !mcsema_real_eip !1242
  %28 = trunc i64 %27 to i8, !mcsema_real_eip !1242
  %29 = and i8 %28, 1, !mcsema_real_eip !1242
  store i8 %29, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1242
  %30 = icmp eq i64 %14, 0, !mcsema_real_eip !1242
  %31 = zext i1 %30 to i8, !mcsema_real_eip !1242
  store i8 %31, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1242
  %32 = lshr i64 %14, 63, !mcsema_real_eip !1242
  %33 = trunc i64 %32 to i8, !mcsema_real_eip !1242
  store i8 %33, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1242
  %34 = lshr i64 %13, 63, !mcsema_real_eip !1242
  %35 = xor i64 %32, %34, !mcsema_real_eip !1242
  %36 = add nuw nsw i64 %35, %32, !mcsema_real_eip !1242
  %37 = icmp eq i64 %36, 2, !mcsema_real_eip !1242
  %38 = zext i1 %37 to i8, !mcsema_real_eip !1242
  store i8 %38, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1242
  %39 = add i64 %14, 8, !mcsema_real_eip !1242
  store i64 %39, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1242
  ret %struct.Memory* %memory, !mcsema_real_eip !1242

inst_1014:                                        ; preds = %inst_1000
  %40 = icmp eq i8 %10, 0, !mcsema_real_eip !1241
  %41 = select i1 %40, i64 ptrtoint (i8* @data_1014 to i64), i64 ptrtoint (i8* @data_1016 to i64), !mcsema_real_eip !1241
  %42 = add i64 %41, 2, !mcsema_real_eip !1241
  %43 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1241
  %44 = add i64 %1, -8, !mcsema_real_eip !1241
  %45 = inttoptr i64 %44 to i64*, !mcsema_real_eip !1241
  %46 = getelementptr i64, i64* %43, i32 -1, !mcsema_real_eip !1241
  store i64 %42, i64* %46, align 8, !mcsema_real_eip !1241
  %47 = inttoptr i64 %2 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1241
  %48 = load i64, i64* @RDI_2296_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
  %49 = load i64, i64* @RSI_2280_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
  %50 = load i64, i64* @RDX_2264_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
  %51 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
  %52 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
  %53 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
  %54 = getelementptr i64, i64* %45, i32 1, !mcsema_real_eip !1241
  %55 = load i64, i64* %54, align 8, !mcsema_real_eip !1241
  %56 = getelementptr i64, i64* %45, i32 2, !mcsema_real_eip !1241
  %57 = load i64, i64* %56, align 8, !mcsema_real_eip !1241
  %58 = call i64 %47(i64 %48, i64 %49, i64 %50, i64 %51, i64 %52, i64 %53, i64 %55, i64 %57) #13, !mcsema_real_eip !1241
  store i64 %58, i64* @RAX_2216_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
  store i64 %1, i64* @RSP_2312_3074328, align 8, !alias.scope !1243, !noalias !1246, !mcsema_real_eip !1241
  br label %inst_1016, !mcsema_real_eip !1242
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1169_main(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1169:
  %0 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1248
  %1 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1248
  %2 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1248
  %3 = add i64 %2, -8, !mcsema_real_eip !1248
  %4 = getelementptr i64, i64* %1, i32 -1, !mcsema_real_eip !1248
  store i64 %0, i64* %4, align 8, !mcsema_real_eip !1248
  %5 = sub i64 %3, 8, !mcsema_real_eip !1250
  %6 = inttoptr i64 %5 to i32*, !mcsema_real_eip !1250
  store i32 0, i32* %6, align 4, !mcsema_real_eip !1250
  %7 = sub i64 %3, 4, !mcsema_real_eip !1251
  %8 = inttoptr i64 %7 to i32*, !mcsema_real_eip !1251
  store i32 0, i32* %8, align 4, !mcsema_real_eip !1251
  br label %inst_117f, !mcsema_real_eip !1252

inst_117f:                                        ; preds = %inst_1185, %inst_1169
  %9 = load i32, i32* %8, align 4, !mcsema_real_eip !1253
  %10 = sub i32 %9, 9, !mcsema_real_eip !1253
  %11 = icmp ult i32 %9, 9, !mcsema_real_eip !1253
  %12 = zext i1 %11 to i8, !mcsema_real_eip !1253
  store i8 %12, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1253
  %13 = and i32 %10, 255, !mcsema_real_eip !1253
  %14 = call i32 @llvm.ctpop.i32(i32 %13) #13, !range !1235, !mcsema_real_eip !1253
  %15 = trunc i32 %14 to i8, !mcsema_real_eip !1253
  %16 = and i8 %15, 1, !mcsema_real_eip !1253
  %17 = xor i8 %16, 1, !mcsema_real_eip !1253
  store i8 %17, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1253
  %18 = xor i32 %9, 9, !mcsema_real_eip !1253
  %19 = xor i32 %18, %10, !mcsema_real_eip !1253
  %20 = lshr i32 %19, 4, !mcsema_real_eip !1253
  %21 = trunc i32 %20 to i8, !mcsema_real_eip !1253
  %22 = and i8 %21, 1, !mcsema_real_eip !1253
  store i8 %22, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1253
  %23 = icmp eq i32 %10, 0, !mcsema_real_eip !1253
  %24 = zext i1 %23 to i8, !mcsema_real_eip !1253
  store i8 %24, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1253
  %25 = lshr i32 %10, 31, !mcsema_real_eip !1253
  %26 = trunc i32 %25 to i8, !mcsema_real_eip !1253
  store i8 %26, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1253
  %27 = lshr i32 %9, 31, !mcsema_real_eip !1253
  %28 = xor i32 %25, %27, !mcsema_real_eip !1253
  %29 = add nuw nsw i32 %28, %27, !mcsema_real_eip !1253
  %30 = icmp eq i32 %29, 2, !mcsema_real_eip !1253
  %31 = zext i1 %30 to i8, !mcsema_real_eip !1253
  store i8 %31, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1253
  %32 = icmp eq i8 %24, 0, !mcsema_real_eip !1253
  %33 = icmp eq i8 %26, 0, !mcsema_real_eip !1253
  %34 = xor i1 %33, %30, !mcsema_real_eip !1253
  %35 = and i1 %32, %34, !mcsema_real_eip !1253
  %36 = load i32, i32* %6, align 4, !mcsema_real_eip !1253
  br i1 %35, label %inst_1191, label %inst_1185, !mcsema_real_eip !1253

inst_1191:                                        ; preds = %inst_117f
  %37 = zext i32 %36 to i64, !mcsema_real_eip !1254
  store i64 %37, i64* @RAX_2216_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1254
  %38 = load i64, i64* %4, align 8, !mcsema_real_eip !1254
  store i64 %38, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1254
  %39 = add i64 %2, 8, !mcsema_real_eip !1254
  store i64 %39, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1254
  ret %struct.Memory* %memory, !mcsema_real_eip !1254

inst_1185:                                        ; preds = %inst_117f
  %40 = add i32 %36, %9, !mcsema_real_eip !1254
  store i32 %40, i32* %6, align 4, !mcsema_real_eip !1254
  %41 = load i32, i32* %8, align 4, !mcsema_real_eip !1254
  %42 = add i32 %41, 1, !mcsema_real_eip !1254
  store i32 %42, i32* %8, align 4, !mcsema_real_eip !1254
  br label %inst_117f, !mcsema_real_eip !1254
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1030(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1030:
  %0 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1255
  %1 = add i64 %0, -8, !mcsema_real_eip !1255
  %2 = inttoptr i64 %1 to i64*, !mcsema_real_eip !1255
  store i64 0, i64* %2, align 8, !mcsema_real_eip !1255
  store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1255
  %3 = call %struct.Memory* @sub_1020(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1255
  ret %struct.Memory* %3, !mcsema_real_eip !1255
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1160_frame_dummy(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1160:
  %0 = call %struct.Memory* @sub_10e0_register_tm_clones(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1256
  ret %struct.Memory* %0, !mcsema_real_eip !1256
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1040(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1040:
  %0 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1256
  %1 = add i64 %0, -8, !mcsema_real_eip !1256
  %2 = inttoptr i64 %1 to i64*, !mcsema_real_eip !1256
  store i64 1, i64* %2, align 8, !mcsema_real_eip !1256
  store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1256
  %3 = call %struct.Memory* @sub_1020(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1256
  ret %struct.Memory* %3, !mcsema_real_eip !1256
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1196__Z41__static_initialization_and_destruction_0ii(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1196:
  %0 = load i32, i32* @RDI_2296_3074310, align 4, !mcsema_real_eip !1257
  %1 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1258
  %2 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1258
  %3 = add i64 %2, -8, !mcsema_real_eip !1258
  %4 = inttoptr i64 %3 to i64*, !mcsema_real_eip !1258
  store i64 %1, i64* %4, align 8, !mcsema_real_eip !1258
  store i64 %3, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1258
  %5 = sub i64 %3, 16, !mcsema_real_eip !1258
  store i64 %5, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1258
  %6 = sub i64 %3, 4, !mcsema_real_eip !1259
  %7 = inttoptr i64 %6 to i32*, !mcsema_real_eip !1259
  store i32 %0, i32* %7, align 4, !mcsema_real_eip !1259
  %8 = sub i64 %3, 8, !mcsema_real_eip !1260
  %9 = load i32, i32* @RSI_2280_3074310, align 4, !mcsema_real_eip !1260
  %10 = inttoptr i64 %8 to i32*, !mcsema_real_eip !1260
  store i32 %9, i32* %10, align 4, !mcsema_real_eip !1260
  %11 = load i32, i32* %7, align 4, !mcsema_real_eip !1260
  %12 = sub i32 %11, 1, !mcsema_real_eip !1260
  %13 = icmp ult i32 %11, 1, !mcsema_real_eip !1260
  %14 = zext i1 %13 to i8, !mcsema_real_eip !1260
  store i8 %14, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1260
  %15 = and i32 %12, 255, !mcsema_real_eip !1260
  %16 = call i32 @llvm.ctpop.i32(i32 %15) #13, !range !1235, !mcsema_real_eip !1260
  %17 = trunc i32 %16 to i8, !mcsema_real_eip !1260
  %18 = and i8 %17, 1, !mcsema_real_eip !1260
  %19 = xor i8 %18, 1, !mcsema_real_eip !1260
  store i8 %19, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1260
  %20 = xor i32 %11, 1, !mcsema_real_eip !1260
  %21 = xor i32 %20, %12, !mcsema_real_eip !1260
  %22 = lshr i32 %21, 4, !mcsema_real_eip !1260
  %23 = trunc i32 %22 to i8, !mcsema_real_eip !1260
  %24 = and i8 %23, 1, !mcsema_real_eip !1260
  store i8 %24, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1260
  %25 = icmp eq i32 %12, 0, !mcsema_real_eip !1260
  %26 = zext i1 %25 to i8, !mcsema_real_eip !1260
  store i8 %26, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1260
  %27 = lshr i32 %12, 31, !mcsema_real_eip !1260
  %28 = trunc i32 %27 to i8, !mcsema_real_eip !1260
  store i8 %28, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1260
  %29 = lshr i32 %11, 31, !mcsema_real_eip !1260
  %30 = xor i32 %27, %29, !mcsema_real_eip !1260
  %31 = add nuw nsw i32 %30, %29, !mcsema_real_eip !1260
  %32 = icmp eq i32 %31, 2, !mcsema_real_eip !1260
  %33 = zext i1 %32 to i8, !mcsema_real_eip !1260
  store i8 %33, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1260
  %34 = icmp eq i8 %26, 0, !mcsema_real_eip !1260
  br i1 %34, label %inst_11e0, label %inst_11ae, !mcsema_real_eip !1261

inst_11e0:                                        ; preds = %inst_11b7, %inst_11ae, %inst_1196
  %35 = phi %struct.Memory* [ %memory, %inst_1196 ], [ %memory, %inst_11ae ], [ %73, %inst_11b7 ], !mcsema_real_eip !1262
  %36 = load i64*, i64** @RBP_2328_307bf40, align 8, !mcsema_real_eip !1262
  %37 = load i64, i64* @RBP_2328_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1262
  %38 = load i64, i64* %36, align 8, !mcsema_real_eip !1262
  store i64 %38, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1262
  %39 = add i64 %37, 8, !mcsema_real_eip !1262
  %40 = add i64 %39, 8, !mcsema_real_eip !1262
  store i64 %40, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1262
  ret %struct.Memory* %35, !mcsema_real_eip !1262

inst_11ae:                                        ; preds = %inst_1196
  %41 = load i32, i32* %10, align 4, !mcsema_real_eip !1262
  %42 = sub i32 %41, 65535, !mcsema_real_eip !1262
  %43 = icmp ult i32 %41, 65535, !mcsema_real_eip !1262
  %44 = zext i1 %43 to i8, !mcsema_real_eip !1262
  store i8 %44, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1262
  %45 = and i32 %42, 255, !mcsema_real_eip !1262
  %46 = call i32 @llvm.ctpop.i32(i32 %45) #13, !range !1235, !mcsema_real_eip !1262
  %47 = trunc i32 %46 to i8, !mcsema_real_eip !1262
  %48 = and i8 %47, 1, !mcsema_real_eip !1262
  %49 = xor i8 %48, 1, !mcsema_real_eip !1262
  store i8 %49, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1262
  %50 = xor i32 %41, 65535, !mcsema_real_eip !1262
  %51 = xor i32 %50, %42, !mcsema_real_eip !1262
  %52 = lshr i32 %51, 4, !mcsema_real_eip !1262
  %53 = trunc i32 %52 to i8, !mcsema_real_eip !1262
  %54 = and i8 %53, 1, !mcsema_real_eip !1262
  store i8 %54, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1262
  %55 = icmp eq i32 %42, 0, !mcsema_real_eip !1262
  %56 = zext i1 %55 to i8, !mcsema_real_eip !1262
  store i8 %56, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1262
  %57 = lshr i32 %42, 31, !mcsema_real_eip !1262
  %58 = trunc i32 %57 to i8, !mcsema_real_eip !1262
  store i8 %58, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1262
  %59 = lshr i32 %41, 31, !mcsema_real_eip !1262
  %60 = xor i32 %57, %59, !mcsema_real_eip !1262
  %61 = add nuw nsw i32 %60, %59, !mcsema_real_eip !1262
  %62 = icmp eq i32 %61, 2, !mcsema_real_eip !1262
  %63 = zext i1 %62 to i8, !mcsema_real_eip !1262
  store i8 %63, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1262
  %64 = icmp eq i8 %56, 0, !mcsema_real_eip !1262
  br i1 %64, label %inst_11e0, label %inst_11b7, !mcsema_real_eip !1262

inst_11b7:                                        ; preds = %inst_11ae
  store i8* @data_4011, i8** @RDI_2296_307bde0, align 8, !mcsema_real_eip !1263
  %65 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1263
  %66 = add i64 %65, -8, !mcsema_real_eip !1263
  %67 = inttoptr i64 %66 to i64*, !mcsema_real_eip !1263
  store i64 add (i64 ptrtoint (i8* @data_11ae to i64), i64 21), i64* %67, align 8, !mcsema_real_eip !1263
  store i64 %66, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1263
  %68 = call %struct.Memory* @sub_1070___ZNSt8ios_base4InitC1Ev(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1263
  store i8** @data_4008, i8*** @RDX_2264_3082870, align 8, !mcsema_real_eip !1263
  store i8* @data_4011, i8** @RSI_2280_307bde0, align 8, !mcsema_real_eip !1263
  %69 = load i64, i64* bitcast (i8** @data_3ff8 to i64*), align 8, !mcsema_real_eip !1263
  store i64 %69, i64* @RAX_2216_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1263
  store i64 %69, i64* @RDI_2296_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1263
  %70 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1263
  %71 = add i64 %70, -8, !mcsema_real_eip !1263
  %72 = inttoptr i64 %71 to i64*, !mcsema_real_eip !1263
  store i64 ptrtoint (i8* @data_11e0 to i64), i64* %72, align 8, !mcsema_real_eip !1263
  store i64 %71, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1263
  %73 = call %struct.Memory* @sub_1060____cxa_atexit(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %68), !mcsema_real_eip !1264
  br label %inst_11e0, !mcsema_real_eip !1264
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1050(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1050:
  %0 = load i64, i64* bitcast (i8** @data_3fd0 to i64*), align 8, !mcsema_real_eip !1265
  store i64 %0, i64* @RIP_2472_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1265
  %1 = icmp eq i64 %0, 4187, !mcsema_real_eip !1265
  br i1 %1, label %inst_105b, label %2, !mcsema_real_eip !1265

inst_105b:                                        ; preds = %2, %inst_1050
  ret %struct.Memory* %memory, !mcsema_real_eip !1265

2:                                                ; preds = %inst_1050
  %3 = sub i64 ptrtoint (i8* @data_105b to i64), %0, !mcsema_real_eip !1265
  %4 = trunc i64 %3 to i32, !mcsema_real_eip !1265
  %5 = zext i32 %4 to i64, !mcsema_real_eip !1265
  %6 = icmp eq i64 %5, 0, !mcsema_real_eip !1265
  br i1 %6, label %inst_105b, label %7, !mcsema_real_eip !1265

7:                                                ; preds = %2
  %8 = inttoptr i64 %0 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1265
  %9 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1265
  %10 = load i64, i64* @RSP_2312_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
  %11 = add i64 %10, 8, !mcsema_real_eip !1265
  %12 = load i64, i64* @RDI_2296_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
  %13 = load i64, i64* @RSI_2280_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
  %14 = load i64, i64* @RDX_2264_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
  %15 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
  %16 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
  %17 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
  %18 = getelementptr i64, i64* %9, i32 1, !mcsema_real_eip !1265
  %19 = load i64, i64* %18, align 8, !mcsema_real_eip !1265
  %20 = getelementptr i64, i64* %9, i32 2, !mcsema_real_eip !1265
  %21 = load i64, i64* %20, align 8, !mcsema_real_eip !1265
  %22 = call i64 %8(i64 %12, i64 %13, i64 %14, i64 %15, i64 %16, i64 %17, i64 %19, i64 %21) #13, !mcsema_real_eip !1265
  store i64 %22, i64* @RAX_2216_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
  store i64 %11, i64* @RSP_2312_3074328, align 8, !alias.scope !1266, !noalias !1269, !mcsema_real_eip !1265
  ret %struct.Memory* %memory, !mcsema_real_eip !1265
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1060____cxa_atexit(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1060:
  %0 = load i64, i64* bitcast (i8** @data_3fc0 to i64*), align 8, !mcsema_real_eip !1271
  store i64 %0, i64* @RIP_2472_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1271
  %1 = icmp eq i64 %0, 4203, !mcsema_real_eip !1271
  br i1 %1, label %inst_106b, label %2, !mcsema_real_eip !1271

inst_106b:                                        ; preds = %2, %inst_1060
  ret %struct.Memory* %memory, !mcsema_real_eip !1271

2:                                                ; preds = %inst_1060
  %3 = sub i64 ptrtoint (i8* @data_106b to i64), %0, !mcsema_real_eip !1271
  %4 = trunc i64 %3 to i32, !mcsema_real_eip !1271
  %5 = zext i32 %4 to i64, !mcsema_real_eip !1271
  %6 = icmp eq i64 %5, 0, !mcsema_real_eip !1271
  br i1 %6, label %inst_106b, label %7, !mcsema_real_eip !1271

7:                                                ; preds = %2
  %8 = inttoptr i64 %0 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1271
  %9 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1271
  %10 = load i64, i64* @RSP_2312_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
  %11 = add i64 %10, 8, !mcsema_real_eip !1271
  %12 = load i64, i64* @RDI_2296_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
  %13 = load i64, i64* @RSI_2280_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
  %14 = load i64, i64* @RDX_2264_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
  %15 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
  %16 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
  %17 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
  %18 = getelementptr i64, i64* %9, i32 1, !mcsema_real_eip !1271
  %19 = load i64, i64* %18, align 8, !mcsema_real_eip !1271
  %20 = getelementptr i64, i64* %9, i32 2, !mcsema_real_eip !1271
  %21 = load i64, i64* %20, align 8, !mcsema_real_eip !1271
  %22 = call i64 %8(i64 %12, i64 %13, i64 %14, i64 %15, i64 %16, i64 %17, i64 %19, i64 %21) #13, !mcsema_real_eip !1271
  store i64 %22, i64* @RAX_2216_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
  store i64 %11, i64* @RSP_2312_3074328, align 8, !alias.scope !1272, !noalias !1275, !mcsema_real_eip !1271
  ret %struct.Memory* %memory, !mcsema_real_eip !1271
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1070___ZNSt8ios_base4InitC1Ev(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1070:
  %0 = load i64, i64* bitcast (i8** @data_3fc8 to i64*), align 8, !mcsema_real_eip !1277
  store i64 %0, i64* @RIP_2472_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1277
  %1 = icmp eq i64 %0, 4219, !mcsema_real_eip !1277
  br i1 %1, label %inst_107b, label %2, !mcsema_real_eip !1277

inst_107b:                                        ; preds = %2, %inst_1070
  ret %struct.Memory* %memory, !mcsema_real_eip !1277

2:                                                ; preds = %inst_1070
  %3 = sub i64 ptrtoint (i8* @data_107b to i64), %0, !mcsema_real_eip !1277
  %4 = trunc i64 %3 to i32, !mcsema_real_eip !1277
  %5 = zext i32 %4 to i64, !mcsema_real_eip !1277
  %6 = icmp eq i64 %5, 0, !mcsema_real_eip !1277
  br i1 %6, label %inst_107b, label %7, !mcsema_real_eip !1277

7:                                                ; preds = %2
  %8 = inttoptr i64 %0 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1277
  %9 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1277
  %10 = load i64, i64* @RSP_2312_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
  %11 = add i64 %10, 8, !mcsema_real_eip !1277
  %12 = load i64, i64* @RDI_2296_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
  %13 = load i64, i64* @RSI_2280_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
  %14 = load i64, i64* @RDX_2264_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
  %15 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
  %16 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
  %17 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
  %18 = getelementptr i64, i64* %9, i32 1, !mcsema_real_eip !1277
  %19 = load i64, i64* %18, align 8, !mcsema_real_eip !1277
  %20 = getelementptr i64, i64* %9, i32 2, !mcsema_real_eip !1277
  %21 = load i64, i64* %20, align 8, !mcsema_real_eip !1277
  %22 = call i64 %8(i64 %12, i64 %13, i64 %14, i64 %15, i64 %16, i64 %17, i64 %19, i64 %21) #13, !mcsema_real_eip !1277
  store i64 %22, i64* @RAX_2216_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
  store i64 %11, i64* @RSP_2312_3074328, align 8, !alias.scope !1278, !noalias !1281, !mcsema_real_eip !1277
  ret %struct.Memory* %memory, !mcsema_real_eip !1277
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1080_start(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1080:
  store i64 0, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1283
  %0 = load i64, i64* @RDX_2264_3074328, align 8, !mcsema_real_eip !1283
  store i64 %0, i64* @R9_2360_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1283
  %1 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1283
  %2 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1283
  %3 = add i64 %2, 8, !mcsema_real_eip !1283
  %4 = load i64, i64* %1, align 8, !mcsema_real_eip !1283
  store i64 %4, i64* @RSI_2280_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1283
  store i64 %3, i64* @RDX_2264_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1283
  %5 = and i64 -16, %3, !mcsema_real_eip !1283
  %6 = inttoptr i64 %5 to i64*, !mcsema_real_eip !1283
  store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1283
  %7 = trunc i64 %5 to i32, !mcsema_real_eip !1283
  %8 = and i32 %7, 255, !mcsema_real_eip !1283
  %9 = call i32 @llvm.ctpop.i32(i32 %8) #13, !range !1235, !mcsema_real_eip !1283
  %10 = trunc i32 %9 to i8, !mcsema_real_eip !1283
  %11 = and i8 %10, 1, !mcsema_real_eip !1283
  %12 = xor i8 %11, 1, !mcsema_real_eip !1283
  store i8 %12, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1283
  %13 = icmp eq i64 %5, 0, !mcsema_real_eip !1283
  %14 = zext i1 %13 to i8, !mcsema_real_eip !1283
  store i8 %14, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1283
  %15 = lshr i64 %5, 63, !mcsema_real_eip !1283
  %16 = trunc i64 %15 to i8, !mcsema_real_eip !1283
  store i8 %16, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1283
  store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1283
  store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1283
  %17 = load i64, i64* @RAX_2216_3074328, align 8, !mcsema_real_eip !1284
  %18 = add i64 %5, -8, !mcsema_real_eip !1284
  %19 = getelementptr i64, i64* %6, i32 -1, !mcsema_real_eip !1284
  store i64 %17, i64* %19, align 8, !mcsema_real_eip !1284
  %20 = add i64 %18, -8, !mcsema_real_eip !1284
  %21 = getelementptr i64, i64* %19, i32 -1, !mcsema_real_eip !1284
  store i64 %18, i64* %21, align 8, !mcsema_real_eip !1284
  store void ()* @__libc_csu_fini, void ()** @R8_2344_30817d0, align 8, !mcsema_real_eip !1284
  store void ()* @__libc_csu_init, void ()** @RCX_2248_30817d0, align 8, !mcsema_real_eip !1284
  store i32 (i32, i8**, i8**)* @main, i32 (i32, i8**, i8**)** @RDI_2296_30828d0, align 8, !mcsema_real_eip !1284
  %22 = getelementptr i64, i64* %21, i32 -1, !mcsema_real_eip !1284
  %23 = load i64, i64* bitcast (i8** @data_3fe0 to i64*), align 8, !mcsema_real_eip !1284
  store i64 ptrtoint (i8** @data_3fe0 to i64), i64* %22, align 8, !mcsema_real_eip !1284
  %24 = inttoptr i64 %23 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1284
  %25 = getelementptr i64, i64* %22, i32 1, !mcsema_real_eip !1284
  %26 = load i64, i64* %25, align 8, !mcsema_real_eip !1284
  %27 = getelementptr i64, i64* %22, i32 2, !mcsema_real_eip !1284
  %28 = load i64, i64* %27, align 8, !mcsema_real_eip !1284
  %29 = call i64 %24(i64 ptrtoint (i32 (i32, i8**, i8**)* @main to i64), i64 %4, i64 %3, i64 ptrtoint (void ()* @__libc_csu_init to i64), i64 ptrtoint (void ()* @__libc_csu_fini to i64), i64 %0, i64 %26, i64 %28) #13, !mcsema_real_eip !1284
  store i64 %29, i64* @RAX_2216_3074328, align 8, !alias.scope !1285, !noalias !1288, !mcsema_real_eip !1284
  store i64 %20, i64* @RSP_2312_3074328, align 8, !alias.scope !1285, !noalias !1288, !mcsema_real_eip !1284
  store i8* @data_10ae, i8** @RIP_2472_307bde0, align 8, !mcsema_real_eip !1284
  call void @abort() #13, !mcsema_real_eip !1284
  unreachable, !mcsema_real_eip !1284
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_10b0_deregister_tm_clones(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_10b0:
  store i8* @data_4010, i8** @RDI_2296_307bde0, align 8, !mcsema_real_eip !1290
  store i8* @data_4010, i8** @RAX_2216_307bde0, align 8, !mcsema_real_eip !1290
  store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1290
  store i8 1, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1290
  store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1290
  store i8 1, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1290
  store i8 0, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1290
  store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1290
  %0 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1290
  %1 = add i64 %0, 8, !mcsema_real_eip !1290
  store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1290
  ret %struct.Memory* %memory, !mcsema_real_eip !1290
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1278__term_proc(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1278:
  %0 = load i64, i64* @RSP_2312_3074328, align 8, !mcsema_real_eip !1291
  %1 = sub i64 %0, 8, !mcsema_real_eip !1291
  %2 = icmp ult i64 %0, 8, !mcsema_real_eip !1291
  %3 = lshr i64 %1, 63, !mcsema_real_eip !1291
  %4 = lshr i64 %0, 63, !mcsema_real_eip !1291
  %5 = xor i64 %3, %4, !mcsema_real_eip !1291
  %6 = add nuw nsw i64 %5, %4, !mcsema_real_eip !1291
  %7 = icmp eq i64 %6, 2, !mcsema_real_eip !1291
  %8 = zext i1 %7 to i8, !mcsema_real_eip !1291
  %9 = icmp ult i64 %0, %1, !mcsema_real_eip !1291
  %10 = or i1 %9, %2, !mcsema_real_eip !1291
  %11 = zext i1 %10 to i8, !mcsema_real_eip !1291
  store i8 %11, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1291
  %12 = trunc i64 %0 to i32, !mcsema_real_eip !1291
  %13 = and i32 %12, 255, !mcsema_real_eip !1291
  %14 = call i32 @llvm.ctpop.i32(i32 %13) #13, !range !1235, !mcsema_real_eip !1291
  %15 = trunc i32 %14 to i8, !mcsema_real_eip !1291
  %16 = and i8 %15, 1, !mcsema_real_eip !1291
  %17 = xor i8 %16, 1, !mcsema_real_eip !1291
  store i8 %17, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1291
  %18 = xor i64 8, %1, !mcsema_real_eip !1291
  %19 = xor i64 %18, %0, !mcsema_real_eip !1291
  %20 = lshr i64 %19, 4, !mcsema_real_eip !1291
  %21 = trunc i64 %20 to i8, !mcsema_real_eip !1291
  %22 = and i8 %21, 1, !mcsema_real_eip !1291
  store i8 %22, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1291
  %23 = icmp eq i64 %0, 0, !mcsema_real_eip !1291
  %24 = zext i1 %23 to i8, !mcsema_real_eip !1291
  store i8 %24, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1291
  %25 = trunc i64 %4 to i8, !mcsema_real_eip !1291
  store i8 %25, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1291
  store i8 %8, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1291
  %26 = add i64 %0, 8, !mcsema_real_eip !1291
  store i64 %26, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1291
  ret %struct.Memory* %memory, !mcsema_real_eip !1291
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_10e0_register_tm_clones(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_10e0:
  store i8* @data_4010, i8** @RDI_2296_307bde0, align 8, !mcsema_real_eip !1292
  store i64 0, i64* @RAX_2216_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1292
  store i64 0, i64* @RSI_2280_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1292
  store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
  store i8 1, i8* @PF_2067_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
  store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
  store i8 1, i8* @ZF_2071_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
  store i8 0, i8* @SF_2073_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
  store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1249, !mcsema_real_eip !1292
  %0 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1292
  %1 = add i64 %0, 8, !mcsema_real_eip !1292
  store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1292
  ret %struct.Memory* %memory, !mcsema_real_eip !1292
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1120___do_global_dtors_aux(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1120:
  %0 = load i8, i8* @data_4010, align 1, !mcsema_real_eip !1293
  store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1293
  %1 = zext i8 %0 to i32, !mcsema_real_eip !1293
  %2 = call i32 @llvm.ctpop.i32(i32 %1) #13, !range !1235, !mcsema_real_eip !1293
  %3 = trunc i32 %2 to i8, !mcsema_real_eip !1293
  %4 = and i8 %3, 1, !mcsema_real_eip !1293
  %5 = xor i8 %4, 1, !mcsema_real_eip !1293
  store i8 %5, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1293
  store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1293
  %6 = icmp eq i8 %0, 0, !mcsema_real_eip !1293
  %7 = zext i1 %6 to i8, !mcsema_real_eip !1293
  store i8 %7, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1293
  %8 = lshr i8 %0, 7, !mcsema_real_eip !1293
  store i8 %8, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1293
  store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1293
  %9 = icmp eq i8 %7, 0, !mcsema_real_eip !1293
  br i1 %9, label %inst_1158, label %inst_112d, !mcsema_real_eip !1293

inst_1147:                                        ; preds = %inst_113b, %inst_112d
  %10 = phi i64 [ %40, %inst_112d ], [ ptrtoint (i8* @data_1147 to i64), %inst_113b ], !mcsema_real_eip !1294
  %11 = phi %struct.Memory* [ %memory, %inst_112d ], [ %46, %inst_113b ], !mcsema_real_eip !1294
  %12 = add i64 %10, 5, !mcsema_real_eip !1294
  %13 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1294
  %14 = add i64 %13, -8, !mcsema_real_eip !1294
  %15 = inttoptr i64 %14 to i64*, !mcsema_real_eip !1294
  store i64 %12, i64* %15, align 8, !mcsema_real_eip !1294
  store i64 %14, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1294
  %16 = call %struct.Memory* @sub_10b0_deregister_tm_clones(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %11), !mcsema_real_eip !1295
  store i8 1, i8* @data_4010, align 1, !mcsema_real_eip !1295
  %17 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1295
  %18 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1295
  %19 = add i64 %18, 8, !mcsema_real_eip !1295
  %20 = load i64, i64* %17, align 8, !mcsema_real_eip !1295
  store i64 %20, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1295
  %21 = add i64 %19, 8, !mcsema_real_eip !1295
  store i64 %21, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1295
  ret %struct.Memory* %16, !mcsema_real_eip !1296

inst_1158:                                        ; preds = %inst_1120
  %22 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1297
  %23 = add i64 %22, 8, !mcsema_real_eip !1297
  store i64 %23, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1297
  ret %struct.Memory* %memory, !mcsema_real_eip !1297

inst_112d:                                        ; preds = %inst_1120
  %24 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1293
  %25 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1293
  %26 = add i64 %25, -8, !mcsema_real_eip !1293
  %27 = inttoptr i64 %26 to i64*, !mcsema_real_eip !1293
  store i64 %24, i64* %27, align 8, !mcsema_real_eip !1293
  store i64 %26, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1293
  %28 = load i64, i64* bitcast (i8** @data_3fd0 to i64*), align 8, !mcsema_real_eip !1293
  store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1293
  %29 = trunc i64 %28 to i32, !mcsema_real_eip !1293
  %30 = and i32 %29, 255, !mcsema_real_eip !1293
  %31 = call i32 @llvm.ctpop.i32(i32 %30) #13, !range !1235, !mcsema_real_eip !1293
  %32 = trunc i32 %31 to i8, !mcsema_real_eip !1293
  %33 = and i8 %32, 1, !mcsema_real_eip !1293
  %34 = xor i8 %33, 1, !mcsema_real_eip !1293
  store i8 %34, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1293
  store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1293
  %35 = icmp eq i64 %28, 0, !mcsema_real_eip !1293
  %36 = zext i1 %35 to i8, !mcsema_real_eip !1293
  store i8 %36, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1293
  %37 = lshr i64 %28, 63, !mcsema_real_eip !1293
  %38 = trunc i64 %37 to i8, !mcsema_real_eip !1293
  store i8 %38, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1293
  store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1293
  store i64 %26, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1293
  %39 = icmp eq i8 %36, 0, !mcsema_real_eip !1293
  %40 = select i1 %39, i64 add (i64 ptrtoint (i8* @data_112d to i64), i64 14), i64 add (i64 ptrtoint (i8* @data_112d to i64), i64 26), !mcsema_real_eip !1293
  br i1 %35, label %inst_1147, label %inst_113b, !mcsema_real_eip !1298

inst_113b:                                        ; preds = %inst_112d
  %41 = add i64 %40, 7, !mcsema_real_eip !1298
  %42 = load i64, i64* bitcast (i8** @data_4008 to i64*), align 8, !mcsema_real_eip !1298
  store i64 %42, i64* @RDI_2296_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1298
  %43 = add i64 %41, 5, !mcsema_real_eip !1299
  %44 = add i64 %26, -8, !mcsema_real_eip !1299
  %45 = getelementptr i64, i64* %27, i32 -1, !mcsema_real_eip !1299
  store i64 %43, i64* %45, align 8, !mcsema_real_eip !1299
  store i64 %44, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1299
  %46 = call %struct.Memory* @sub_1050(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1294
  br label %inst_1147, !mcsema_real_eip !1294
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1020(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1020:
  %0 = load i64, i64* bitcast (i8* @data_3fb0 to i64*), align 8, !mcsema_real_eip !1300
  %1 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1300
  %2 = add i64 %1, -8, !mcsema_real_eip !1300
  %3 = inttoptr i64 %2 to i64*, !mcsema_real_eip !1300
  store i64 %0, i64* %3, align 8, !mcsema_real_eip !1300
  store i64 %2, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1300
  %4 = load i64, i64* bitcast (i8* @data_3fb8 to i64*), align 8, !mcsema_real_eip !1300
  store i64 %4, i64* @RIP_2472_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1300
  %5 = icmp eq i64 %4, 4141, !mcsema_real_eip !1300
  br i1 %5, label %inst_102d, label %6, !mcsema_real_eip !1300

inst_102d:                                        ; preds = %6, %inst_1020
  ret %struct.Memory* %memory, !mcsema_real_eip !1300

6:                                                ; preds = %inst_1020
  %7 = sub i64 ptrtoint (i8* @data_102d to i64), %4, !mcsema_real_eip !1300
  %8 = trunc i64 %7 to i32, !mcsema_real_eip !1300
  %9 = zext i32 %8 to i64, !mcsema_real_eip !1300
  %10 = icmp eq i64 %9, 0, !mcsema_real_eip !1300
  br i1 %10, label %inst_102d, label %11, !mcsema_real_eip !1300

11:                                               ; preds = %6
  %12 = inttoptr i64 %4 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1300
  %13 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1300
  %14 = load i64, i64* @RDI_2296_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
  %15 = load i64, i64* @RSI_2280_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
  %16 = load i64, i64* @RDX_2264_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
  %17 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
  %18 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
  %19 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
  %20 = getelementptr i64, i64* %13, i32 1, !mcsema_real_eip !1300
  %21 = load i64, i64* %20, align 8, !mcsema_real_eip !1300
  %22 = getelementptr i64, i64* %13, i32 2, !mcsema_real_eip !1300
  %23 = load i64, i64* %22, align 8, !mcsema_real_eip !1300
  %24 = call i64 %12(i64 %14, i64 %15, i64 %16, i64 %17, i64 %18, i64 %19, i64 %21, i64 %23) #13, !mcsema_real_eip !1300
  store i64 %24, i64* @RAX_2216_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
  store i64 %1, i64* @RSP_2312_3074328, align 8, !alias.scope !1301, !noalias !1304, !mcsema_real_eip !1300
  ret %struct.Memory* %memory, !mcsema_real_eip !1300
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_11e3__GLOBAL__sub_I_main(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_11e3:
  %0 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1306
  %1 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1306
  %2 = add i64 %1, -8, !mcsema_real_eip !1306
  %3 = inttoptr i64 %2 to i64*, !mcsema_real_eip !1306
  store i64 %0, i64* %3, align 8, !mcsema_real_eip !1306
  store i64 %2, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1306
  store i64 65535, i64* @RSI_2280_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1306
  store i64 1, i64* @RDI_2296_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1306
  %4 = add i64 %2, -8, !mcsema_real_eip !1306
  %5 = getelementptr i64, i64* %3, i32 -1, !mcsema_real_eip !1306
  store i64 ptrtoint (i8* @data_11fa to i64), i64* %5, align 8, !mcsema_real_eip !1306
  store i64 %4, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1306
  %6 = call %struct.Memory* @sub_1196__Z41__static_initialization_and_destruction_0ii(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1307
  %7 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1307
  %8 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1307
  %9 = add i64 %8, 8, !mcsema_real_eip !1307
  %10 = load i64, i64* %7, align 8, !mcsema_real_eip !1307
  store i64 %10, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1307
  %11 = add i64 %9, 8, !mcsema_real_eip !1307
  store i64 %11, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1307
  ret %struct.Memory* %6, !mcsema_real_eip !1308
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1200___libc_csu_init(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1200:
  %0 = load i32, i32* @RDI_2296_3074310, align 4, !mcsema_real_eip !1309
  %1 = load i64, i64* @R15_2456_3074328, align 8, !mcsema_real_eip !1310
  %2 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1310
  %3 = add i64 %2, -8, !mcsema_real_eip !1310
  %4 = inttoptr i64 %3 to i64*, !mcsema_real_eip !1310
  store i64 %1, i64* %4, align 8, !mcsema_real_eip !1310
  store i8** @data_3d90, i8*** @R15_2456_3082870, align 8, !mcsema_real_eip !1310
  %5 = load i64, i64* @R14_2440_3074328, align 8, !mcsema_real_eip !1311
  %6 = add i64 %3, -8, !mcsema_real_eip !1311
  %7 = getelementptr i64, i64* %4, i32 -1, !mcsema_real_eip !1311
  store i64 %5, i64* %7, align 8, !mcsema_real_eip !1311
  %8 = load i64, i64* @RDX_2264_3074328, align 8, !mcsema_real_eip !1312
  store i64 %8, i64* @R14_2440_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1312
  %9 = load i64, i64* @R13_2424_3074328, align 8, !mcsema_real_eip !1313
  %10 = add i64 %6, -8, !mcsema_real_eip !1313
  %11 = getelementptr i64, i64* %7, i32 -1, !mcsema_real_eip !1313
  store i64 %9, i64* %11, align 8, !mcsema_real_eip !1313
  %12 = load i64, i64* @RSI_2280_3074328, align 8, !mcsema_real_eip !1314
  store i64 %12, i64* @R13_2424_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1314
  %13 = load i64, i64* @R12_2408_3074328, align 8, !mcsema_real_eip !1315
  %14 = add i64 %10, -8, !mcsema_real_eip !1315
  %15 = getelementptr i64, i64* %11, i32 -1, !mcsema_real_eip !1315
  store i64 %13, i64* %15, align 8, !mcsema_real_eip !1315
  %16 = zext i32 %0 to i64, !mcsema_real_eip !1316
  %17 = and i64 %16, 4294967295, !mcsema_real_eip !1316
  store i64 %17, i64* @R12_2408_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1316
  %18 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1317
  %19 = add i64 %14, -8, !mcsema_real_eip !1317
  %20 = getelementptr i64, i64* %15, i32 -1, !mcsema_real_eip !1317
  store i64 %18, i64* %20, align 8, !mcsema_real_eip !1317
  %21 = load i64, i64* @RBX_2232_3074328, align 8, !mcsema_real_eip !1318
  %22 = add i64 %19, -8, !mcsema_real_eip !1318
  %23 = getelementptr i64, i64* %20, i32 -1, !mcsema_real_eip !1318
  store i64 %21, i64* %23, align 8, !mcsema_real_eip !1318
  store i64 16, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1318
  %24 = sub i64 %22, 8, !mcsema_real_eip !1318
  %25 = inttoptr i64 %24 to i64*, !mcsema_real_eip !1318
  %26 = icmp ult i64 %22, 8, !mcsema_real_eip !1318
  %27 = zext i1 %26 to i8, !mcsema_real_eip !1318
  store i8 %27, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1318
  %28 = trunc i64 %24 to i32, !mcsema_real_eip !1318
  %29 = and i32 %28, 255, !mcsema_real_eip !1318
  %30 = call i32 @llvm.ctpop.i32(i32 %29) #13, !range !1235, !mcsema_real_eip !1318
  %31 = trunc i32 %30 to i8, !mcsema_real_eip !1318
  %32 = and i8 %31, 1, !mcsema_real_eip !1318
  %33 = xor i8 %32, 1, !mcsema_real_eip !1318
  store i8 %33, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1318
  %34 = xor i64 8, %22, !mcsema_real_eip !1318
  %35 = xor i64 %34, %24, !mcsema_real_eip !1318
  %36 = lshr i64 %35, 4, !mcsema_real_eip !1318
  %37 = trunc i64 %36 to i8, !mcsema_real_eip !1318
  %38 = and i8 %37, 1, !mcsema_real_eip !1318
  store i8 %38, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1318
  %39 = icmp eq i64 %24, 0, !mcsema_real_eip !1318
  %40 = zext i1 %39 to i8, !mcsema_real_eip !1318
  store i8 %40, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1318
  %41 = lshr i64 %24, 63, !mcsema_real_eip !1318
  %42 = trunc i64 %41 to i8, !mcsema_real_eip !1318
  store i8 %42, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1318
  %43 = lshr i64 %22, 63, !mcsema_real_eip !1318
  %44 = xor i64 %41, %43, !mcsema_real_eip !1318
  %45 = add nuw nsw i64 %44, %43, !mcsema_real_eip !1318
  %46 = icmp eq i64 %45, 2, !mcsema_real_eip !1318
  %47 = zext i1 %46 to i8, !mcsema_real_eip !1318
  store i8 %47, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1318
  %48 = add i64 %24, -8, !mcsema_real_eip !1318
  %49 = getelementptr i64, i64* %25, i32 -1, !mcsema_real_eip !1318
  store i64 ptrtoint (i8* @data_1231 to i64), i64* %49, align 8, !mcsema_real_eip !1318
  store i64 %48, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1318
  %50 = call %struct.Memory* @sub_1000__init_proc(%struct.State* @__mcsema_reg_state, i64 undef, %struct.Memory* %memory), !mcsema_real_eip !1319
  %51 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1319
  %52 = ashr i64 %51, 2, !mcsema_real_eip !1319
  %53 = ashr i64 %52, 1, !mcsema_real_eip !1319
  store i64 %53, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1319
  %54 = icmp eq i64 %53, 0, !mcsema_real_eip !1319
  br i1 %54, label %inst_1256, label %inst_1237, !mcsema_real_eip !1320

inst_1240:                                        ; preds = %inst_1237, %inst_1240
  %55 = phi i64 [ add (i64 ptrtoint (i8* @data_1237 to i64), i64 9), %inst_1237 ], [ %114, %inst_1240 ], !mcsema_real_eip !1321
  %56 = add i64 %55, 3, !mcsema_real_eip !1321
  %57 = load i64, i64* @R14_2440_3074328, align 8, !mcsema_real_eip !1321
  store i64 %57, i64* @RDX_2264_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1321
  %58 = add i64 %56, 3, !mcsema_real_eip !1322
  %59 = load i64, i64* @R13_2424_3074328, align 8, !mcsema_real_eip !1322
  store i64 %59, i64* @RSI_2280_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1322
  %60 = add i64 %58, 3, !mcsema_real_eip !1323
  %61 = load i32, i32* @R12_2408_3074310, align 4, !mcsema_real_eip !1323
  %62 = zext i32 %61 to i64, !mcsema_real_eip !1323
  %63 = and i64 %62, 4294967295, !mcsema_real_eip !1323
  store i64 %63, i64* @RDI_2296_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1323
  %64 = add i64 %60, 4, !mcsema_real_eip !1324
  %65 = load i64, i64* @R15_2456_3074328, align 8, !mcsema_real_eip !1324
  %66 = load i64, i64* @RBX_2232_3074328, align 8, !mcsema_real_eip !1324
  %67 = mul i64 %66, 8, !mcsema_real_eip !1324
  %68 = add i64 %67, %65, !mcsema_real_eip !1324
  %69 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1324
  %70 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249, !mcsema_real_eip !1324
  %71 = add i64 %70, -8, !mcsema_real_eip !1324
  %72 = inttoptr i64 %71 to i64*, !mcsema_real_eip !1324
  %73 = inttoptr i64 %68 to i64*, !mcsema_real_eip !1324
  %74 = load i64, i64* %73, align 8, !mcsema_real_eip !1324
  %75 = getelementptr i64, i64* %69, i32 -1, !mcsema_real_eip !1324
  store i64 %64, i64* %75, align 8, !mcsema_real_eip !1324
  store i64 %71, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1324
  store i64 %74, i64* @RIP_2472_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1324
  %76 = inttoptr i64 %74 to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*, !mcsema_real_eip !1324
  %77 = load i64, i64* @RCX_2248_3074328, align 8, !alias.scope !1325, !noalias !1328, !mcsema_real_eip !1324
  %78 = load i64, i64* @R8_2344_3074328, align 8, !alias.scope !1325, !noalias !1328, !mcsema_real_eip !1324
  %79 = load i64, i64* @R9_2360_3074328, align 8, !alias.scope !1325, !noalias !1328, !mcsema_real_eip !1324
  %80 = getelementptr i64, i64* %72, i32 1, !mcsema_real_eip !1324
  %81 = load i64, i64* %80, align 8, !mcsema_real_eip !1324
  %82 = getelementptr i64, i64* %72, i32 2, !mcsema_real_eip !1324
  %83 = load i64, i64* %82, align 8, !mcsema_real_eip !1324
  %84 = call i64 %76(i64 %63, i64 %59, i64 %57, i64 %77, i64 %78, i64 %79, i64 %81, i64 %83) #13, !mcsema_real_eip !1324
  store i64 %84, i64* @RAX_2216_3074328, align 8, !alias.scope !1325, !noalias !1328, !mcsema_real_eip !1324
  store i64 %70, i64* @RSP_2312_3074328, align 8, !alias.scope !1325, !noalias !1328, !mcsema_real_eip !1324
  %85 = load i64, i64* @RBX_2232_3074328, align 8, !mcsema_real_eip !1330
  %86 = add i64 1, %85, !mcsema_real_eip !1330
  store i64 %86, i64* @RBX_2232_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1330
  %87 = lshr i64 %86, 63, !mcsema_real_eip !1330
  %88 = load i64, i64* @RBP_2328_3074328, align 8, !mcsema_real_eip !1331
  %89 = sub i64 %88, %86, !mcsema_real_eip !1331
  %90 = icmp ult i64 %88, %86, !mcsema_real_eip !1331
  %91 = zext i1 %90 to i8, !mcsema_real_eip !1331
  store i8 %91, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1331
  %92 = trunc i64 %89 to i32, !mcsema_real_eip !1331
  %93 = and i32 %92, 255, !mcsema_real_eip !1331
  %94 = call i32 @llvm.ctpop.i32(i32 %93) #13, !range !1235, !mcsema_real_eip !1331
  %95 = trunc i32 %94 to i8, !mcsema_real_eip !1331
  %96 = and i8 %95, 1, !mcsema_real_eip !1331
  %97 = xor i8 %96, 1, !mcsema_real_eip !1331
  store i8 %97, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1331
  %98 = xor i64 %86, %88, !mcsema_real_eip !1331
  %99 = xor i64 %98, %89, !mcsema_real_eip !1331
  %100 = lshr i64 %99, 4, !mcsema_real_eip !1331
  %101 = trunc i64 %100 to i8, !mcsema_real_eip !1331
  %102 = and i8 %101, 1, !mcsema_real_eip !1331
  store i8 %102, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1331
  %103 = icmp eq i64 %89, 0, !mcsema_real_eip !1331
  %104 = zext i1 %103 to i8, !mcsema_real_eip !1331
  store i8 %104, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1331
  %105 = lshr i64 %89, 63, !mcsema_real_eip !1331
  %106 = trunc i64 %105 to i8, !mcsema_real_eip !1331
  store i8 %106, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1331
  %107 = lshr i64 %88, 63, !mcsema_real_eip !1331
  %108 = xor i64 %87, %107, !mcsema_real_eip !1331
  %109 = xor i64 %105, %107, !mcsema_real_eip !1331
  %110 = add nuw nsw i64 %109, %108, !mcsema_real_eip !1331
  %111 = icmp eq i64 %110, 2, !mcsema_real_eip !1331
  %112 = zext i1 %111 to i8, !mcsema_real_eip !1331
  store i8 %112, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1331
  %113 = icmp eq i8 %104, 0, !mcsema_real_eip !1331
  %114 = select i1 %113, i64 ptrtoint (i8* @data_1240 to i64), i64 ptrtoint (i8* @data_1256 to i64), !mcsema_real_eip !1331
  br i1 %113, label %inst_1240, label %inst_1256, !mcsema_real_eip !1332

inst_1256:                                        ; preds = %inst_1240, %inst_1200
  %115 = load i64*, i64** @RSP_2312_307bf40, align 8, !mcsema_real_eip !1332
  %116 = load i64, i64* @RSP_2312_3074328, align 8, !mcsema_real_eip !1332
  %117 = add i64 8, %116, !mcsema_real_eip !1332
  %118 = getelementptr i64, i64* %115, i32 1, !mcsema_real_eip !1332
  %119 = icmp ult i64 %117, %116, !mcsema_real_eip !1332
  %120 = icmp ult i64 %117, 8, !mcsema_real_eip !1332
  %121 = or i1 %119, %120, !mcsema_real_eip !1332
  %122 = zext i1 %121 to i8, !mcsema_real_eip !1332
  store i8 %122, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1332
  %123 = trunc i64 %117 to i32, !mcsema_real_eip !1332
  %124 = and i32 %123, 255, !mcsema_real_eip !1332
  %125 = call i32 @llvm.ctpop.i32(i32 %124) #13, !range !1235, !mcsema_real_eip !1332
  %126 = trunc i32 %125 to i8, !mcsema_real_eip !1332
  %127 = and i8 %126, 1, !mcsema_real_eip !1332
  %128 = xor i8 %127, 1, !mcsema_real_eip !1332
  store i8 %128, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1332
  %129 = xor i64 8, %116, !mcsema_real_eip !1332
  %130 = xor i64 %129, %117, !mcsema_real_eip !1332
  %131 = lshr i64 %130, 4, !mcsema_real_eip !1332
  %132 = trunc i64 %131 to i8, !mcsema_real_eip !1332
  %133 = and i8 %132, 1, !mcsema_real_eip !1332
  store i8 %133, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1332
  %134 = icmp eq i64 %117, 0, !mcsema_real_eip !1332
  %135 = zext i1 %134 to i8, !mcsema_real_eip !1332
  store i8 %135, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1332
  %136 = lshr i64 %117, 63, !mcsema_real_eip !1332
  %137 = trunc i64 %136 to i8, !mcsema_real_eip !1332
  store i8 %137, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1332
  %138 = lshr i64 %116, 63, !mcsema_real_eip !1332
  %139 = xor i64 %136, %138, !mcsema_real_eip !1332
  %140 = add nuw nsw i64 %139, %136, !mcsema_real_eip !1332
  %141 = icmp eq i64 %140, 2, !mcsema_real_eip !1332
  %142 = zext i1 %141 to i8, !mcsema_real_eip !1332
  store i8 %142, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1332
  %143 = add i64 %117, 8, !mcsema_real_eip !1332
  %144 = getelementptr i64, i64* %118, i32 1, !mcsema_real_eip !1332
  %145 = load i64, i64* %118, align 8, !mcsema_real_eip !1332
  store i64 %145, i64* @RBX_2232_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
  %146 = add i64 %143, 8, !mcsema_real_eip !1332
  %147 = getelementptr i64, i64* %144, i32 1, !mcsema_real_eip !1332
  %148 = load i64, i64* %144, align 8, !mcsema_real_eip !1332
  store i64 %148, i64* @RBP_2328_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
  %149 = add i64 %146, 8, !mcsema_real_eip !1332
  %150 = getelementptr i64, i64* %147, i32 1, !mcsema_real_eip !1332
  %151 = load i64, i64* %147, align 8, !mcsema_real_eip !1332
  store i64 %151, i64* @R12_2408_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
  %152 = add i64 %149, 8, !mcsema_real_eip !1332
  %153 = getelementptr i64, i64* %150, i32 1, !mcsema_real_eip !1332
  %154 = load i64, i64* %150, align 8, !mcsema_real_eip !1332
  store i64 %154, i64* @R13_2424_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
  %155 = add i64 %152, 8, !mcsema_real_eip !1332
  %156 = load i64, i64* %153, align 8, !mcsema_real_eip !1332
  store i64 %156, i64* @R14_2440_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
  %157 = add i64 %155, 8, !mcsema_real_eip !1332
  %158 = getelementptr i64, i64* %153, i32 1, !mcsema_real_eip !1332
  %159 = load i64, i64* %158, align 8, !mcsema_real_eip !1332
  store i64 %159, i64* @R15_2456_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
  %160 = add i64 %157, 8, !mcsema_real_eip !1332
  store i64 %160, i64* @RSP_2312_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1332
  ret %struct.Memory* %50, !mcsema_real_eip !1333

inst_1237:                                        ; preds = %inst_1200
  store i64 0, i64* @RBX_2232_3074328, align 8, !tbaa !1217, !mcsema_real_eip !1321
  store i8 0, i8* @CF_2065_30742e0, align 1, !tbaa !1221, !mcsema_real_eip !1321
  store i8 1, i8* @PF_2067_30742e0, align 1, !tbaa !1236, !mcsema_real_eip !1321
  store i8 1, i8* @ZF_2071_30742e0, align 1, !tbaa !1237, !mcsema_real_eip !1321
  store i8 0, i8* @SF_2073_30742e0, align 1, !tbaa !1238, !mcsema_real_eip !1321
  store i8 0, i8* @OF_2077_30742e0, align 1, !tbaa !1239, !mcsema_real_eip !1321
  store i8 0, i8* @AF_2069_30742e0, align 1, !tbaa !1240, !mcsema_real_eip !1321
  br label %inst_1240, !mcsema_real_eip !1321
}

; Function Attrs: noinline
define internal %struct.Memory* @sub_1270___libc_csu_fini(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #9 {
inst_1270:
  %0 = load i64, i64* @RSP_2312_3074328, align 8, !tbaa !1249
  %1 = add i64 %0, 8
  store i64 %1, i64* @RSP_2312_3074328, align 8, !tbaa !1217
  ret %struct.Memory* %memory
}

; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @_ITM_registerTMCloneTable(i64, i64) #7

; Function Attrs: noinline
define weak x86_64_sysvcc void @__gmon_start__() #10 !remill.function.type !1334 {
  ret void
}

; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @__cxa_finalize(i64) #7

; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @_ZNSt8ios_base4InitD1Ev(i64) #7

; Function Attrs: noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc void @__libc_start_main(i32 (i32, i8**, i8**)*, i32, i8**, i8*, i32 (i32, i8**, i8**)*, void ()*, void ()*, i32*) #10

; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @_ZNSt8ios_base4InitC1Ev(i64) #7

; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @_ITM_deregisterTMCloneTable(i64) #7

; Function Attrs: nobuiltin noinline
declare !remill.function.type !1334 extern_weak x86_64_sysvcc i64 @__cxa_atexit(i64, i64, i64) #7

; Function Attrs: alwaysinline inlinehint nounwind
define dso_local %struct.Memory* @__mcsema_detach_call_value(%struct.State* noalias nonnull %state, i64 %pc, %struct.Memory* noalias %memory) #11 !remill.function.type !1335 {
  %1 = inttoptr i64 %pc to i64 (i64, i64, i64, i64, i64, i64, i64, i64)*
  %2 = load i64*, i64** @RSP_2312_307bf40, align 8
  %3 = load i64, i64* @RSP_2312_3074328, align 8
  %4 = add i64 %3, 8
  %5 = load i64, i64* @RDI_2296_3074328, align 8
  %6 = load i64, i64* @RSI_2280_3074328, align 8
  %7 = load i64, i64* @RDX_2264_3074328, align 8
  %8 = load i64, i64* @RCX_2248_3074328, align 8
  %9 = load i64, i64* @R8_2344_3074328, align 8
  %10 = load i64, i64* @R9_2360_3074328, align 8
  %11 = getelementptr i64, i64* %2, i32 1
  %12 = load i64, i64* %11, align 8
  %13 = getelementptr i64, i64* %2, i32 2
  %14 = load i64, i64* %13, align 8
  %15 = call i64 %1(i64 %5, i64 %6, i64 %7, i64 %8, i64 %9, i64 %10, i64 %12, i64 %14)
  store i64 %15, i64* @RAX_2216_3074328, align 8
  store i64 %4, i64* @RSP_2312_3074328, align 8
  ret %struct.Memory* %memory
}

define %struct.State* @__mcsema_init_reg_state() {
entry:
  %0 = load volatile i64, i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 13, i32 0, i32 0), align 8
  %1 = icmp eq i64 %0, 0
  br i1 %1, label %is_null, label %end

is_null:                                          ; preds = %entry
  store i64 and (i64 ptrtoint (i8* getelementptr inbounds ([1048576 x i8], [1048576 x i8]* @__mcsema_stack, i32 0, i32 1048064) to i64), i64 -16), i64* getelementptr inbounds (%struct.State, %struct.State* @__mcsema_reg_state, i32 0, i32 6, i32 13, i32 0, i32 0), align 8
  call void @__mcsema_early_init()
  br label %end

end:                                              ; preds = %is_null, %entry
  ret %struct.State* @__mcsema_reg_state
}

define internal void @__mcsema_early_init() {
  %1 = load volatile i1, i1* @0, align 1
  br i1 %1, label %2, label %3

2:                                                ; preds = %0
  ret void

3:                                                ; preds = %0
  store volatile i1 true, i1* @0, align 1
  ret void
}

; Function Attrs: nobuiltin noinline
define x86_64_sysvcc i32 @main(i32 %param0, i8** %param1, i8** %param2) #7 !remill.function.type !1336 {
  %1 = call %struct.State* @__mcsema_init_reg_state()
  %2 = getelementptr inbounds %struct.State, %struct.State* %1, i32 0, i32 6, i32 11, i32 0, i32 0
  %EDI = bitcast i64* %2 to i32*, !remill_register !1337
  store i32 %param0, i32* %EDI, align 4
  %RSI = getelementptr inbounds %struct.State, %struct.State* %1, i32 0, i32 6, i32 9, i32 0, i32 0, !remill_register !1338
  %3 = ptrtoint i8** %param1 to i64
  store i64 %3, i64* %RSI, align 8
  %RDX = getelementptr inbounds %struct.State, %struct.State* %1, i32 0, i32 6, i32 7, i32 0, i32 0, !remill_register !1339
  %4 = ptrtoint i8** %param2 to i64
  store i64 %4, i64* %RDX, align 8
  %5 = call %struct.Memory* @sub_1169_main(%struct.State* %1, i64 4457, %struct.Memory* null)
  %RAX = getelementptr inbounds %struct.State, %struct.State* %1, i32 0, i32 6, i32 1, i32 0, i32 0, !remill_register !1340
  %6 = load i64, i64* %RAX, align 8
  %7 = trunc i64 %6 to i32
  ret i32 %7
}

; Function Attrs: nobuiltin noinline
define private i64 @_GLOBAL__sub_I_main(i64 %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7) #7 {
  %9 = call %struct.State* @__mcsema_init_reg_state()
  %RDI = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 11, i32 0, i32 0, !remill_register !1341
  store i64 %0, i64* %RDI, align 8
  %RSI = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 9, i32 0, i32 0, !remill_register !1338
  store i64 %1, i64* %RSI, align 8
  %RDX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 7, i32 0, i32 0, !remill_register !1339
  store i64 %2, i64* %RDX, align 8
  %RCX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 5, i32 0, i32 0, !remill_register !1342
  store i64 %3, i64* %RCX, align 8
  %R8 = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 17, i32 0, i32 0, !remill_register !1343
  store i64 %4, i64* %R8, align 8
  %R9 = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 19, i32 0, i32 0, !remill_register !1344
  store i64 %5, i64* %R9, align 8
  %RSP = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 13, i32 0, i32 0, !remill_register !1345
  %10 = load i64, i64* %RSP, align 8
  %11 = add i64 %10, 8
  %12 = inttoptr i64 %11 to i64*
  store i64 %6, i64* %12, align 8
  %13 = load i64, i64* %RSP, align 8
  %14 = add i64 %13, 16
  %15 = inttoptr i64 %14 to i64*
  store i64 %7, i64* %15, align 8
  %16 = call %struct.Memory* @sub_11e3__GLOBAL__sub_I_main(%struct.State* %9, i64 4579, %struct.Memory* null)
  %RAX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 1, i32 0, i32 0, !remill_register !1340
  %17 = load i64, i64* %RAX, align 8
  ret i64 %17
}

; Function Attrs: nobuiltin noinline
define private i64 @start(i64 %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7) #7 {
  %9 = call %struct.State* @__mcsema_init_reg_state()
  %RDI = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 11, i32 0, i32 0, !remill_register !1341
  store i64 %0, i64* %RDI, align 8
  %RSI = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 9, i32 0, i32 0, !remill_register !1338
  store i64 %1, i64* %RSI, align 8
  %RDX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 7, i32 0, i32 0, !remill_register !1339
  store i64 %2, i64* %RDX, align 8
  %RCX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 5, i32 0, i32 0, !remill_register !1342
  store i64 %3, i64* %RCX, align 8
  %R8 = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 17, i32 0, i32 0, !remill_register !1343
  store i64 %4, i64* %R8, align 8
  %R9 = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 19, i32 0, i32 0, !remill_register !1344
  store i64 %5, i64* %R9, align 8
  %RSP = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 13, i32 0, i32 0, !remill_register !1345
  %10 = load i64, i64* %RSP, align 8
  %11 = add i64 %10, 8
  %12 = inttoptr i64 %11 to i64*
  store i64 %6, i64* %12, align 8
  %13 = load i64, i64* %RSP, align 8
  %14 = add i64 %13, 16
  %15 = inttoptr i64 %14 to i64*
  store i64 %7, i64* %15, align 8
  %16 = call %struct.Memory* @sub_1080_start(%struct.State* %9, i64 4224, %struct.Memory* null)
  %RAX = getelementptr inbounds %struct.State, %struct.State* %9, i32 0, i32 6, i32 1, i32 0, i32 0, !remill_register !1340
  %17 = load i64, i64* %RAX, align 8
  ret i64 %17
}

define internal void @__mcsema_constructor() {
  call void @__libc_csu_init()
  ret void
}

define internal void @__mcsema_destructor() {
  call void @__libc_csu_fini()
  ret void
}

; Function Attrs: noinline optnone
define %struct.State* @__mcsema_debug_get_reg_state() #12 {
  ret %struct.State* @__mcsema_reg_state
}

attributes #0 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nofree nosync nounwind readnone speculatable willreturn }
attributes #2 = { noduplicate noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #3 = { noduplicate noinline nounwind optnone readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #4 = { nounwind readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #5 = { noduplicate noinline nounwind optnone readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #6 = { noduplicate noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #7 = { nobuiltin noinline }
attributes #8 = { noreturn }
attributes #9 = { noinline "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #10 = { noinline }
attributes #11 = { alwaysinline inlinehint nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #12 = { noinline optnone }
attributes #13 = { nounwind }

!llvm.ident = !{!0, !0, !0}
!llvm.module.flags = !{!1, !2, !3}
!llvm.dbg.cu = !{!4}

!0 = !{!"clang version 9.0.1 (https://github.com/trailofbits/vcpkg.git 4592a93cc4ca82f1963dba08413c43639662d7ae)"}
!1 = !{i32 1, !"wchar_size", i32 4}
!2 = !{i32 2, !"Dwarf Version", i32 4}
!3 = !{i32 2, !"Debug Info Version", i32 3}
!4 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !5, producer: "clang version 9.0.1 (https://github.com/trailofbits/vcpkg.git 4592a93cc4ca82f1963dba08413c43639662d7ae)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !6, imports: !7, nameTableKind: None)
!5 = !DIFile(filename: "/home/dkling/Project/LLVM/mc2/remill/lib/Arch/X86/Runtime/BasicBlock.cpp", directory: "/home/dkling/Project/LLVM/mc2/remill-build/lib/Arch/X86/Runtime")
!6 = !{}
!7 = !{!8, !13, !20, !24, !31, !35, !40, !42, !50, !54, !58, !72, !76, !80, !84, !88, !93, !97, !101, !105, !109, !117, !121, !125, !127, !131, !135, !140, !146, !150, !154, !156, !164, !168, !176, !178, !182, !186, !190, !194, !199, !204, !209, !210, !211, !212, !214, !215, !216, !217, !218, !219, !220, !276, !280, !297, !300, !305, !313, !318, !322, !326, !330, !334, !336, !338, !342, !348, !352, !358, !364, !366, !370, !374, !378, !382, !393, !395, !399, !403, !407, !409, !413, !417, !421, !423, !425, !429, !437, !441, !445, !449, !451, !457, !459, !465, !469, !473, !477, !481, !485, !489, !491, !493, !497, !501, !505, !507, !511, !515, !517, !519, !523, !527, !531, !535, !536, !537, !538, !539, !540, !541, !542, !543, !544, !545, !550, !553, !555, !557, !559, !561, !563, !565, !567, !569, !571, !573, !575, !577, !580, !583, !585, !587, !589, !591, !593, !595, !597, !599, !601, !603, !605, !607, !610, !612, !616, !620, !625, !629, !631, !633, !635, !637, !639, !641, !643, !645, !647, !649, !651, !653, !655, !659, !665, !670, !674, !676, !678, !680, !682, !689, !693, !697, !701, !705, !709, !714, !718, !720, !724, !730, !734, !739, !741, !743, !747, !751, !755, !757, !759, !761, !763, !767, !769, !771, !775, !779, !783, !787, !791, !793, !795, !799, !803, !807, !811, !813, !815, !819, !823, !824, !825, !826, !827, !828, !834, !836, !838, !842, !844, !846, !848, !850, !852, !854, !856, !861, !865, !867, !869, !874, !876, !878, !880, !882, !884, !886, !889, !891, !893, !897, !901, !903, !905, !907, !909, !911, !913, !915, !917, !919, !921, !925, !929, !931, !933, !935, !937, !939, !941, !943, !945, !947, !949, !951, !953, !955, !957, !959, !963, !967, !971, !973, !975, !977, !979, !981, !983, !985, !987, !989, !993, !997, !1001, !1003, !1005, !1007, !1011, !1015, !1019, !1021, !1023, !1025, !1027, !1029, !1031, !1033, !1035, !1037, !1039, !1041, !1043, !1047, !1051, !1055, !1057, !1059, !1061, !1063, !1067, !1071, !1073, !1075, !1077, !1079, !1081, !1083, !1087, !1091, !1093, !1095, !1097, !1099, !1103, !1107, !1111, !1113, !1115, !1117, !1119, !1121, !1123, !1127, !1131, !1135, !1137, !1141, !1145, !1147, !1149, !1151, !1153, !1155, !1157, !1162, !1164, !1167, !1172, !1174, !1180, !1182, !1184, !1186, !1191, !1193, !1199, !1201, !1203, !1204, !1205, !1206, !1207, !1208, !1209, !1210, !1211, !1212, !1213, !1214}
!8 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !9, entity: !10, file: !12, line: 58)
!9 = !DINamespace(name: "__gnu_debug", scope: null)
!10 = !DINamespace(name: "__debug", scope: !11)
!11 = !DINamespace(name: "std", scope: null)
!12 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/debug/debug.h", directory: "")
!13 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !14, file: !19, line: 52)
!14 = !DISubprogram(name: "abs", scope: !15, file: !15, line: 840, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!15 = !DIFile(filename: "/usr/include/stdlib.h", directory: "")
!16 = !DISubroutineType(types: !17)
!17 = !{!18, !18}
!18 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!19 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_abs.h", directory: "")
!20 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !21, file: !23, line: 127)
!21 = !DIDerivedType(tag: DW_TAG_typedef, name: "div_t", file: !15, line: 62, baseType: !22)
!22 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !15, line: 58, flags: DIFlagFwdDecl, identifier: "_ZTS5div_t")
!23 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cstdlib", directory: "")
!24 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !25, file: !23, line: 128)
!25 = !DIDerivedType(tag: DW_TAG_typedef, name: "ldiv_t", file: !15, line: 70, baseType: !26)
!26 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !15, line: 66, size: 128, flags: DIFlagTypePassByValue, elements: !27, identifier: "_ZTS6ldiv_t")
!27 = !{!28, !30}
!28 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !26, file: !15, line: 68, baseType: !29, size: 64)
!29 = !DIBasicType(name: "long int", size: 64, encoding: DW_ATE_signed)
!30 = !DIDerivedType(tag: DW_TAG_member, name: "rem", scope: !26, file: !15, line: 69, baseType: !29, size: 64, offset: 64)
!31 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !32, file: !23, line: 130)
!32 = !DISubprogram(name: "abort", scope: !15, file: !15, line: 591, type: !33, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!33 = !DISubroutineType(types: !34)
!34 = !{null}
!35 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !36, file: !23, line: 134)
!36 = !DISubprogram(name: "atexit", scope: !15, file: !15, line: 595, type: !37, flags: DIFlagPrototyped, spFlags: 0)
!37 = !DISubroutineType(types: !38)
!38 = !{!18, !39}
!39 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !33, size: 64)
!40 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !41, file: !23, line: 137)
!41 = !DISubprogram(name: "at_quick_exit", scope: !15, file: !15, line: 600, type: !37, flags: DIFlagPrototyped, spFlags: 0)
!42 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !43, file: !23, line: 140)
!43 = !DISubprogram(name: "atof", scope: !15, file: !15, line: 101, type: !44, flags: DIFlagPrototyped, spFlags: 0)
!44 = !DISubroutineType(types: !45)
!45 = !{!46, !47}
!46 = !DIBasicType(name: "double", size: 64, encoding: DW_ATE_float)
!47 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !48, size: 64)
!48 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !49)
!49 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
!50 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !51, file: !23, line: 141)
!51 = !DISubprogram(name: "atoi", scope: !15, file: !15, line: 104, type: !52, flags: DIFlagPrototyped, spFlags: 0)
!52 = !DISubroutineType(types: !53)
!53 = !{!18, !47}
!54 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !55, file: !23, line: 142)
!55 = !DISubprogram(name: "atol", scope: !15, file: !15, line: 107, type: !56, flags: DIFlagPrototyped, spFlags: 0)
!56 = !DISubroutineType(types: !57)
!57 = !{!29, !47}
!58 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !59, file: !23, line: 143)
!59 = !DISubprogram(name: "bsearch", scope: !15, file: !15, line: 820, type: !60, flags: DIFlagPrototyped, spFlags: 0)
!60 = !DISubroutineType(types: !61)
!61 = !{!62, !63, !63, !65, !65, !68}
!62 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64)
!63 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !64, size: 64)
!64 = !DIDerivedType(tag: DW_TAG_const_type, baseType: null)
!65 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", file: !66, line: 46, baseType: !67)
!66 = !DIFile(filename: "vcpkg_ubuntu-20.04_llvm-9_amd64/installed/x64-linux-rel/tools/llvm/lib/clang/9.0.1/include/stddef.h", directory: "/home/dkling/Project/LLVM/mc2")
!67 = !DIBasicType(name: "long unsigned int", size: 64, encoding: DW_ATE_unsigned)
!68 = !DIDerivedType(tag: DW_TAG_typedef, name: "__compar_fn_t", file: !15, line: 808, baseType: !69)
!69 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !70, size: 64)
!70 = !DISubroutineType(types: !71)
!71 = !{!18, !63, !63}
!72 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !73, file: !23, line: 144)
!73 = !DISubprogram(name: "calloc", scope: !15, file: !15, line: 542, type: !74, flags: DIFlagPrototyped, spFlags: 0)
!74 = !DISubroutineType(types: !75)
!75 = !{!62, !65, !65}
!76 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !77, file: !23, line: 145)
!77 = !DISubprogram(name: "div", scope: !15, file: !15, line: 852, type: !78, flags: DIFlagPrototyped, spFlags: 0)
!78 = !DISubroutineType(types: !79)
!79 = !{!21, !18, !18}
!80 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !81, file: !23, line: 146)
!81 = !DISubprogram(name: "exit", scope: !15, file: !15, line: 617, type: !82, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!82 = !DISubroutineType(types: !83)
!83 = !{null, !18}
!84 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !85, file: !23, line: 147)
!85 = !DISubprogram(name: "free", scope: !15, file: !15, line: 565, type: !86, flags: DIFlagPrototyped, spFlags: 0)
!86 = !DISubroutineType(types: !87)
!87 = !{null, !62}
!88 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !89, file: !23, line: 148)
!89 = !DISubprogram(name: "getenv", scope: !15, file: !15, line: 634, type: !90, flags: DIFlagPrototyped, spFlags: 0)
!90 = !DISubroutineType(types: !91)
!91 = !{!92, !47}
!92 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !49, size: 64)
!93 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !94, file: !23, line: 149)
!94 = !DISubprogram(name: "labs", scope: !15, file: !15, line: 841, type: !95, flags: DIFlagPrototyped, spFlags: 0)
!95 = !DISubroutineType(types: !96)
!96 = !{!29, !29}
!97 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !98, file: !23, line: 150)
!98 = !DISubprogram(name: "ldiv", scope: !15, file: !15, line: 854, type: !99, flags: DIFlagPrototyped, spFlags: 0)
!99 = !DISubroutineType(types: !100)
!100 = !{!25, !29, !29}
!101 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !102, file: !23, line: 151)
!102 = !DISubprogram(name: "malloc", scope: !15, file: !15, line: 539, type: !103, flags: DIFlagPrototyped, spFlags: 0)
!103 = !DISubroutineType(types: !104)
!104 = !{!62, !65}
!105 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !106, file: !23, line: 153)
!106 = !DISubprogram(name: "mblen", scope: !15, file: !15, line: 922, type: !107, flags: DIFlagPrototyped, spFlags: 0)
!107 = !DISubroutineType(types: !108)
!108 = !{!18, !47, !65}
!109 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !110, file: !23, line: 154)
!110 = !DISubprogram(name: "mbstowcs", scope: !15, file: !15, line: 933, type: !111, flags: DIFlagPrototyped, spFlags: 0)
!111 = !DISubroutineType(types: !112)
!112 = !{!65, !113, !116, !65}
!113 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !114)
!114 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !115, size: 64)
!115 = !DIBasicType(name: "wchar_t", size: 32, encoding: DW_ATE_signed)
!116 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !47)
!117 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !118, file: !23, line: 155)
!118 = !DISubprogram(name: "mbtowc", scope: !15, file: !15, line: 925, type: !119, flags: DIFlagPrototyped, spFlags: 0)
!119 = !DISubroutineType(types: !120)
!120 = !{!18, !113, !116, !65}
!121 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !122, file: !23, line: 157)
!122 = !DISubprogram(name: "qsort", scope: !15, file: !15, line: 830, type: !123, flags: DIFlagPrototyped, spFlags: 0)
!123 = !DISubroutineType(types: !124)
!124 = !{null, !62, !65, !65, !68}
!125 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !126, file: !23, line: 160)
!126 = !DISubprogram(name: "quick_exit", scope: !15, file: !15, line: 623, type: !82, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!127 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !128, file: !23, line: 163)
!128 = !DISubprogram(name: "rand", scope: !15, file: !15, line: 453, type: !129, flags: DIFlagPrototyped, spFlags: 0)
!129 = !DISubroutineType(types: !130)
!130 = !{!18}
!131 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !132, file: !23, line: 164)
!132 = !DISubprogram(name: "realloc", scope: !15, file: !15, line: 550, type: !133, flags: DIFlagPrototyped, spFlags: 0)
!133 = !DISubroutineType(types: !134)
!134 = !{!62, !62, !65}
!135 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !136, file: !23, line: 165)
!136 = !DISubprogram(name: "srand", scope: !15, file: !15, line: 455, type: !137, flags: DIFlagPrototyped, spFlags: 0)
!137 = !DISubroutineType(types: !138)
!138 = !{null, !139}
!139 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!140 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !141, file: !23, line: 166)
!141 = !DISubprogram(name: "strtod", scope: !15, file: !15, line: 117, type: !142, flags: DIFlagPrototyped, spFlags: 0)
!142 = !DISubroutineType(types: !143)
!143 = !{!46, !116, !144}
!144 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !145)
!145 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !92, size: 64)
!146 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !147, file: !23, line: 167)
!147 = !DISubprogram(name: "strtol", scope: !15, file: !15, line: 176, type: !148, flags: DIFlagPrototyped, spFlags: 0)
!148 = !DISubroutineType(types: !149)
!149 = !{!29, !116, !144, !18}
!150 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !151, file: !23, line: 168)
!151 = !DISubprogram(name: "strtoul", scope: !15, file: !15, line: 180, type: !152, flags: DIFlagPrototyped, spFlags: 0)
!152 = !DISubroutineType(types: !153)
!153 = !{!67, !116, !144, !18}
!154 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !155, file: !23, line: 169)
!155 = !DISubprogram(name: "system", scope: !15, file: !15, line: 784, type: !52, flags: DIFlagPrototyped, spFlags: 0)
!156 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !157, file: !23, line: 171)
!157 = !DISubprogram(name: "wcstombs", scope: !15, file: !15, line: 936, type: !158, flags: DIFlagPrototyped, spFlags: 0)
!158 = !DISubroutineType(types: !159)
!159 = !{!65, !160, !161, !65}
!160 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !92)
!161 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !162)
!162 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !163, size: 64)
!163 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !115)
!164 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !165, file: !23, line: 172)
!165 = !DISubprogram(name: "wctomb", scope: !15, file: !15, line: 929, type: !166, flags: DIFlagPrototyped, spFlags: 0)
!166 = !DISubroutineType(types: !167)
!167 = !{!18, !92, !115}
!168 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !170, file: !23, line: 200)
!169 = !DINamespace(name: "__gnu_cxx", scope: null)
!170 = !DIDerivedType(tag: DW_TAG_typedef, name: "lldiv_t", file: !15, line: 80, baseType: !171)
!171 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !15, line: 76, size: 128, flags: DIFlagTypePassByValue, elements: !172, identifier: "_ZTS7lldiv_t")
!172 = !{!173, !175}
!173 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !171, file: !15, line: 78, baseType: !174, size: 64)
!174 = !DIBasicType(name: "long long int", size: 64, encoding: DW_ATE_signed)
!175 = !DIDerivedType(tag: DW_TAG_member, name: "rem", scope: !171, file: !15, line: 79, baseType: !174, size: 64, offset: 64)
!176 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !177, file: !23, line: 206)
!177 = !DISubprogram(name: "_Exit", scope: !15, file: !15, line: 629, type: !82, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!178 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !179, file: !23, line: 210)
!179 = !DISubprogram(name: "llabs", scope: !15, file: !15, line: 844, type: !180, flags: DIFlagPrototyped, spFlags: 0)
!180 = !DISubroutineType(types: !181)
!181 = !{!174, !174}
!182 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !183, file: !23, line: 216)
!183 = !DISubprogram(name: "lldiv", scope: !15, file: !15, line: 858, type: !184, flags: DIFlagPrototyped, spFlags: 0)
!184 = !DISubroutineType(types: !185)
!185 = !{!170, !174, !174}
!186 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !187, file: !23, line: 227)
!187 = !DISubprogram(name: "atoll", scope: !15, file: !15, line: 112, type: !188, flags: DIFlagPrototyped, spFlags: 0)
!188 = !DISubroutineType(types: !189)
!189 = !{!174, !47}
!190 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !191, file: !23, line: 228)
!191 = !DISubprogram(name: "strtoll", scope: !15, file: !15, line: 200, type: !192, flags: DIFlagPrototyped, spFlags: 0)
!192 = !DISubroutineType(types: !193)
!193 = !{!174, !116, !144, !18}
!194 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !195, file: !23, line: 229)
!195 = !DISubprogram(name: "strtoull", scope: !15, file: !15, line: 205, type: !196, flags: DIFlagPrototyped, spFlags: 0)
!196 = !DISubroutineType(types: !197)
!197 = !{!198, !116, !144, !18}
!198 = !DIBasicType(name: "long long unsigned int", size: 64, encoding: DW_ATE_unsigned)
!199 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !200, file: !23, line: 231)
!200 = !DISubprogram(name: "strtof", scope: !15, file: !15, line: 123, type: !201, flags: DIFlagPrototyped, spFlags: 0)
!201 = !DISubroutineType(types: !202)
!202 = !{!203, !116, !144}
!203 = !DIBasicType(name: "float", size: 32, encoding: DW_ATE_float)
!204 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !205, file: !23, line: 232)
!205 = !DISubprogram(name: "strtold", scope: !15, file: !15, line: 126, type: !206, flags: DIFlagPrototyped, spFlags: 0)
!206 = !DISubroutineType(types: !207)
!207 = !{!208, !116, !144}
!208 = !DIBasicType(name: "long double", size: 128, encoding: DW_ATE_float)
!209 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !170, file: !23, line: 240)
!210 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !177, file: !23, line: 242)
!211 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !179, file: !23, line: 244)
!212 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !213, file: !23, line: 245)
!213 = !DISubprogram(name: "div", linkageName: "_ZN9__gnu_cxx3divExx", scope: !169, file: !23, line: 213, type: !184, flags: DIFlagPrototyped, spFlags: 0)
!214 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !183, file: !23, line: 246)
!215 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !187, file: !23, line: 248)
!216 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !200, file: !23, line: 249)
!217 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !191, file: !23, line: 250)
!218 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !195, file: !23, line: 251)
!219 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !205, file: !23, line: 252)
!220 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !221, file: !222, line: 57)
!221 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "exception_ptr", scope: !223, file: !222, line: 79, size: 64, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !224, identifier: "_ZTSNSt15__exception_ptr13exception_ptrE")
!222 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/exception_ptr.h", directory: "")
!223 = !DINamespace(name: "__exception_ptr", scope: !11)
!224 = !{!225, !226, !230, !233, !234, !239, !240, !244, !250, !254, !258, !261, !262, !265, !269}
!225 = !DIDerivedType(tag: DW_TAG_member, name: "_M_exception_object", scope: !221, file: !222, line: 81, baseType: !62, size: 64)
!226 = !DISubprogram(name: "exception_ptr", scope: !221, file: !222, line: 83, type: !227, scopeLine: 83, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: 0)
!227 = !DISubroutineType(types: !228)
!228 = !{null, !229, !62}
!229 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !221, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!230 = !DISubprogram(name: "_M_addref", linkageName: "_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv", scope: !221, file: !222, line: 85, type: !231, scopeLine: 85, flags: DIFlagPrototyped, spFlags: 0)
!231 = !DISubroutineType(types: !232)
!232 = !{null, !229}
!233 = !DISubprogram(name: "_M_release", linkageName: "_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv", scope: !221, file: !222, line: 86, type: !231, scopeLine: 86, flags: DIFlagPrototyped, spFlags: 0)
!234 = !DISubprogram(name: "_M_get", linkageName: "_ZNKSt15__exception_ptr13exception_ptr6_M_getEv", scope: !221, file: !222, line: 88, type: !235, scopeLine: 88, flags: DIFlagPrototyped, spFlags: 0)
!235 = !DISubroutineType(types: !236)
!236 = !{!62, !237}
!237 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !238, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!238 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !221)
!239 = !DISubprogram(name: "exception_ptr", scope: !221, file: !222, line: 96, type: !231, scopeLine: 96, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!240 = !DISubprogram(name: "exception_ptr", scope: !221, file: !222, line: 98, type: !241, scopeLine: 98, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!241 = !DISubroutineType(types: !242)
!242 = !{null, !229, !243}
!243 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !238, size: 64)
!244 = !DISubprogram(name: "exception_ptr", scope: !221, file: !222, line: 101, type: !245, scopeLine: 101, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!245 = !DISubroutineType(types: !246)
!246 = !{null, !229, !247}
!247 = !DIDerivedType(tag: DW_TAG_typedef, name: "nullptr_t", scope: !11, file: !248, line: 258, baseType: !249)
!248 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/c++config.h", directory: "")
!249 = !DIBasicType(tag: DW_TAG_unspecified_type, name: "decltype(nullptr)")
!250 = !DISubprogram(name: "exception_ptr", scope: !221, file: !222, line: 105, type: !251, scopeLine: 105, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!251 = !DISubroutineType(types: !252)
!252 = !{null, !229, !253}
!253 = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: !221, size: 64)
!254 = !DISubprogram(name: "operator=", linkageName: "_ZNSt15__exception_ptr13exception_ptraSERKS0_", scope: !221, file: !222, line: 118, type: !255, scopeLine: 118, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!255 = !DISubroutineType(types: !256)
!256 = !{!257, !229, !243}
!257 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !221, size: 64)
!258 = !DISubprogram(name: "operator=", linkageName: "_ZNSt15__exception_ptr13exception_ptraSEOS0_", scope: !221, file: !222, line: 122, type: !259, scopeLine: 122, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!259 = !DISubroutineType(types: !260)
!260 = !{!257, !229, !253}
!261 = !DISubprogram(name: "~exception_ptr", scope: !221, file: !222, line: 129, type: !231, scopeLine: 129, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!262 = !DISubprogram(name: "swap", linkageName: "_ZNSt15__exception_ptr13exception_ptr4swapERS0_", scope: !221, file: !222, line: 132, type: !263, scopeLine: 132, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!263 = !DISubroutineType(types: !264)
!264 = !{null, !229, !257}
!265 = !DISubprogram(name: "operator bool", linkageName: "_ZNKSt15__exception_ptr13exception_ptrcvbEv", scope: !221, file: !222, line: 144, type: !266, scopeLine: 144, flags: DIFlagPublic | DIFlagExplicit | DIFlagPrototyped, spFlags: 0)
!266 = !DISubroutineType(types: !267)
!267 = !{!268, !237}
!268 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
!269 = !DISubprogram(name: "__cxa_exception_type", linkageName: "_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv", scope: !221, file: !222, line: 153, type: !270, scopeLine: 153, flags: DIFlagPublic | DIFlagPrototyped, spFlags: 0)
!270 = !DISubroutineType(types: !271)
!271 = !{!272, !237}
!272 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !273, size: 64)
!273 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !274)
!274 = !DICompositeType(tag: DW_TAG_class_type, name: "type_info", scope: !11, file: !275, line: 88, flags: DIFlagFwdDecl)
!275 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/typeinfo", directory: "")
!276 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !223, entity: !277, file: !222, line: 73)
!277 = !DISubprogram(name: "rethrow_exception", linkageName: "_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE", scope: !11, file: !222, line: 69, type: !278, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: 0)
!278 = !DISubroutineType(types: !279)
!279 = !{null, !221}
!280 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !281, file: !296, line: 64)
!281 = !DIDerivedType(tag: DW_TAG_typedef, name: "mbstate_t", file: !282, line: 6, baseType: !283)
!282 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h", directory: "")
!283 = !DIDerivedType(tag: DW_TAG_typedef, name: "__mbstate_t", file: !284, line: 21, baseType: !285)
!284 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h", directory: "")
!285 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !284, line: 13, size: 64, flags: DIFlagTypePassByValue, elements: !286, identifier: "_ZTS11__mbstate_t")
!286 = !{!287, !288}
!287 = !DIDerivedType(tag: DW_TAG_member, name: "__count", scope: !285, file: !284, line: 15, baseType: !18, size: 32)
!288 = !DIDerivedType(tag: DW_TAG_member, name: "__value", scope: !285, file: !284, line: 20, baseType: !289, size: 32, offset: 32)
!289 = distinct !DICompositeType(tag: DW_TAG_union_type, scope: !285, file: !284, line: 16, size: 32, flags: DIFlagTypePassByValue, elements: !290, identifier: "_ZTSN11__mbstate_tUt_E")
!290 = !{!291, !292}
!291 = !DIDerivedType(tag: DW_TAG_member, name: "__wch", scope: !289, file: !284, line: 18, baseType: !139, size: 32)
!292 = !DIDerivedType(tag: DW_TAG_member, name: "__wchb", scope: !289, file: !284, line: 19, baseType: !293, size: 32)
!293 = !DICompositeType(tag: DW_TAG_array_type, baseType: !49, size: 32, elements: !294)
!294 = !{!295}
!295 = !DISubrange(count: 4, lowerBound: 0)
!296 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cwchar", directory: "")
!297 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !298, file: !296, line: 141)
!298 = !DIDerivedType(tag: DW_TAG_typedef, name: "wint_t", file: !299, line: 20, baseType: !139)
!299 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/wint_t.h", directory: "")
!300 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !301, file: !296, line: 143)
!301 = !DISubprogram(name: "btowc", scope: !302, file: !302, line: 284, type: !303, flags: DIFlagPrototyped, spFlags: 0)
!302 = !DIFile(filename: "/usr/include/wchar.h", directory: "")
!303 = !DISubroutineType(types: !304)
!304 = !{!298, !18}
!305 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !306, file: !296, line: 144)
!306 = !DISubprogram(name: "fgetwc", scope: !302, file: !302, line: 726, type: !307, flags: DIFlagPrototyped, spFlags: 0)
!307 = !DISubroutineType(types: !308)
!308 = !{!298, !309}
!309 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !310, size: 64)
!310 = !DIDerivedType(tag: DW_TAG_typedef, name: "__FILE", file: !311, line: 5, baseType: !312)
!311 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h", directory: "")
!312 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_IO_FILE", file: !311, line: 4, flags: DIFlagFwdDecl, identifier: "_ZTS8_IO_FILE")
!313 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !314, file: !296, line: 145)
!314 = !DISubprogram(name: "fgetws", scope: !302, file: !302, line: 755, type: !315, flags: DIFlagPrototyped, spFlags: 0)
!315 = !DISubroutineType(types: !316)
!316 = !{!114, !113, !18, !317}
!317 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !309)
!318 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !319, file: !296, line: 146)
!319 = !DISubprogram(name: "fputwc", scope: !302, file: !302, line: 740, type: !320, flags: DIFlagPrototyped, spFlags: 0)
!320 = !DISubroutineType(types: !321)
!321 = !{!298, !115, !309}
!322 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !323, file: !296, line: 147)
!323 = !DISubprogram(name: "fputws", scope: !302, file: !302, line: 762, type: !324, flags: DIFlagPrototyped, spFlags: 0)
!324 = !DISubroutineType(types: !325)
!325 = !{!18, !161, !317}
!326 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !327, file: !296, line: 148)
!327 = !DISubprogram(name: "fwide", scope: !302, file: !302, line: 573, type: !328, flags: DIFlagPrototyped, spFlags: 0)
!328 = !DISubroutineType(types: !329)
!329 = !{!18, !309, !18}
!330 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !331, file: !296, line: 149)
!331 = !DISubprogram(name: "fwprintf", scope: !302, file: !302, line: 580, type: !332, flags: DIFlagPrototyped, spFlags: 0)
!332 = !DISubroutineType(types: !333)
!333 = !{!18, !317, !161, null}
!334 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !335, file: !296, line: 150)
!335 = !DISubprogram(name: "fwscanf", linkageName: "__isoc99_fwscanf", scope: !302, file: !302, line: 640, type: !332, flags: DIFlagPrototyped, spFlags: 0)
!336 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !337, file: !296, line: 151)
!337 = !DISubprogram(name: "getwc", scope: !302, file: !302, line: 727, type: !307, flags: DIFlagPrototyped, spFlags: 0)
!338 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !339, file: !296, line: 152)
!339 = !DISubprogram(name: "getwchar", scope: !302, file: !302, line: 733, type: !340, flags: DIFlagPrototyped, spFlags: 0)
!340 = !DISubroutineType(types: !341)
!341 = !{!298}
!342 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !343, file: !296, line: 153)
!343 = !DISubprogram(name: "mbrlen", scope: !302, file: !302, line: 307, type: !344, flags: DIFlagPrototyped, spFlags: 0)
!344 = !DISubroutineType(types: !345)
!345 = !{!65, !116, !65, !346}
!346 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !347)
!347 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !281, size: 64)
!348 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !349, file: !296, line: 154)
!349 = !DISubprogram(name: "mbrtowc", scope: !302, file: !302, line: 296, type: !350, flags: DIFlagPrototyped, spFlags: 0)
!350 = !DISubroutineType(types: !351)
!351 = !{!65, !113, !116, !65, !346}
!352 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !353, file: !296, line: 155)
!353 = !DISubprogram(name: "mbsinit", scope: !302, file: !302, line: 292, type: !354, flags: DIFlagPrototyped, spFlags: 0)
!354 = !DISubroutineType(types: !355)
!355 = !{!18, !356}
!356 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !357, size: 64)
!357 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !281)
!358 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !359, file: !296, line: 156)
!359 = !DISubprogram(name: "mbsrtowcs", scope: !302, file: !302, line: 337, type: !360, flags: DIFlagPrototyped, spFlags: 0)
!360 = !DISubroutineType(types: !361)
!361 = !{!65, !113, !362, !65, !346}
!362 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !363)
!363 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !47, size: 64)
!364 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !365, file: !296, line: 157)
!365 = !DISubprogram(name: "putwc", scope: !302, file: !302, line: 741, type: !320, flags: DIFlagPrototyped, spFlags: 0)
!366 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !367, file: !296, line: 158)
!367 = !DISubprogram(name: "putwchar", scope: !302, file: !302, line: 747, type: !368, flags: DIFlagPrototyped, spFlags: 0)
!368 = !DISubroutineType(types: !369)
!369 = !{!298, !115}
!370 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !371, file: !296, line: 160)
!371 = !DISubprogram(name: "swprintf", scope: !302, file: !302, line: 590, type: !372, flags: DIFlagPrototyped, spFlags: 0)
!372 = !DISubroutineType(types: !373)
!373 = !{!18, !113, !65, !161, null}
!374 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !375, file: !296, line: 162)
!375 = !DISubprogram(name: "swscanf", linkageName: "__isoc99_swscanf", scope: !302, file: !302, line: 647, type: !376, flags: DIFlagPrototyped, spFlags: 0)
!376 = !DISubroutineType(types: !377)
!377 = !{!18, !161, !161, null}
!378 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !379, file: !296, line: 163)
!379 = !DISubprogram(name: "ungetwc", scope: !302, file: !302, line: 770, type: !380, flags: DIFlagPrototyped, spFlags: 0)
!380 = !DISubroutineType(types: !381)
!381 = !{!298, !298, !309}
!382 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !383, file: !296, line: 164)
!383 = !DISubprogram(name: "vfwprintf", scope: !302, file: !302, line: 598, type: !384, flags: DIFlagPrototyped, spFlags: 0)
!384 = !DISubroutineType(types: !385)
!385 = !{!18, !317, !161, !386}
!386 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !387, size: 64)
!387 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__va_list_tag", file: !5, size: 192, flags: DIFlagTypePassByValue, elements: !388, identifier: "_ZTS13__va_list_tag")
!388 = !{!389, !390, !391, !392}
!389 = !DIDerivedType(tag: DW_TAG_member, name: "gp_offset", scope: !387, file: !5, baseType: !139, size: 32)
!390 = !DIDerivedType(tag: DW_TAG_member, name: "fp_offset", scope: !387, file: !5, baseType: !139, size: 32, offset: 32)
!391 = !DIDerivedType(tag: DW_TAG_member, name: "overflow_arg_area", scope: !387, file: !5, baseType: !62, size: 64, offset: 64)
!392 = !DIDerivedType(tag: DW_TAG_member, name: "reg_save_area", scope: !387, file: !5, baseType: !62, size: 64, offset: 128)
!393 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !394, file: !296, line: 166)
!394 = !DISubprogram(name: "vfwscanf", linkageName: "__isoc99_vfwscanf", scope: !302, file: !302, line: 693, type: !384, flags: DIFlagPrototyped, spFlags: 0)
!395 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !396, file: !296, line: 169)
!396 = !DISubprogram(name: "vswprintf", scope: !302, file: !302, line: 611, type: !397, flags: DIFlagPrototyped, spFlags: 0)
!397 = !DISubroutineType(types: !398)
!398 = !{!18, !113, !65, !161, !386}
!399 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !400, file: !296, line: 172)
!400 = !DISubprogram(name: "vswscanf", linkageName: "__isoc99_vswscanf", scope: !302, file: !302, line: 700, type: !401, flags: DIFlagPrototyped, spFlags: 0)
!401 = !DISubroutineType(types: !402)
!402 = !{!18, !161, !161, !386}
!403 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !404, file: !296, line: 174)
!404 = !DISubprogram(name: "vwprintf", scope: !302, file: !302, line: 606, type: !405, flags: DIFlagPrototyped, spFlags: 0)
!405 = !DISubroutineType(types: !406)
!406 = !{!18, !161, !386}
!407 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !408, file: !296, line: 176)
!408 = !DISubprogram(name: "vwscanf", linkageName: "__isoc99_vwscanf", scope: !302, file: !302, line: 697, type: !405, flags: DIFlagPrototyped, spFlags: 0)
!409 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !410, file: !296, line: 178)
!410 = !DISubprogram(name: "wcrtomb", scope: !302, file: !302, line: 301, type: !411, flags: DIFlagPrototyped, spFlags: 0)
!411 = !DISubroutineType(types: !412)
!412 = !{!65, !160, !115, !346}
!413 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !414, file: !296, line: 179)
!414 = !DISubprogram(name: "wcscat", scope: !302, file: !302, line: 97, type: !415, flags: DIFlagPrototyped, spFlags: 0)
!415 = !DISubroutineType(types: !416)
!416 = !{!114, !113, !161}
!417 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !418, file: !296, line: 180)
!418 = !DISubprogram(name: "wcscmp", scope: !302, file: !302, line: 106, type: !419, flags: DIFlagPrototyped, spFlags: 0)
!419 = !DISubroutineType(types: !420)
!420 = !{!18, !162, !162}
!421 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !422, file: !296, line: 181)
!422 = !DISubprogram(name: "wcscoll", scope: !302, file: !302, line: 131, type: !419, flags: DIFlagPrototyped, spFlags: 0)
!423 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !424, file: !296, line: 182)
!424 = !DISubprogram(name: "wcscpy", scope: !302, file: !302, line: 87, type: !415, flags: DIFlagPrototyped, spFlags: 0)
!425 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !426, file: !296, line: 183)
!426 = !DISubprogram(name: "wcscspn", scope: !302, file: !302, line: 187, type: !427, flags: DIFlagPrototyped, spFlags: 0)
!427 = !DISubroutineType(types: !428)
!428 = !{!65, !162, !162}
!429 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !430, file: !296, line: 184)
!430 = !DISubprogram(name: "wcsftime", scope: !302, file: !302, line: 834, type: !431, flags: DIFlagPrototyped, spFlags: 0)
!431 = !DISubroutineType(types: !432)
!432 = !{!65, !113, !65, !161, !433}
!433 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !434)
!434 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !435, size: 64)
!435 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !436)
!436 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "tm", file: !302, line: 83, flags: DIFlagFwdDecl, identifier: "_ZTS2tm")
!437 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !438, file: !296, line: 185)
!438 = !DISubprogram(name: "wcslen", scope: !302, file: !302, line: 222, type: !439, flags: DIFlagPrototyped, spFlags: 0)
!439 = !DISubroutineType(types: !440)
!440 = !{!65, !162}
!441 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !442, file: !296, line: 186)
!442 = !DISubprogram(name: "wcsncat", scope: !302, file: !302, line: 101, type: !443, flags: DIFlagPrototyped, spFlags: 0)
!443 = !DISubroutineType(types: !444)
!444 = !{!114, !113, !161, !65}
!445 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !446, file: !296, line: 187)
!446 = !DISubprogram(name: "wcsncmp", scope: !302, file: !302, line: 109, type: !447, flags: DIFlagPrototyped, spFlags: 0)
!447 = !DISubroutineType(types: !448)
!448 = !{!18, !162, !162, !65}
!449 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !450, file: !296, line: 188)
!450 = !DISubprogram(name: "wcsncpy", scope: !302, file: !302, line: 92, type: !443, flags: DIFlagPrototyped, spFlags: 0)
!451 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !452, file: !296, line: 189)
!452 = !DISubprogram(name: "wcsrtombs", scope: !302, file: !302, line: 343, type: !453, flags: DIFlagPrototyped, spFlags: 0)
!453 = !DISubroutineType(types: !454)
!454 = !{!65, !160, !455, !65, !346}
!455 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !456)
!456 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !162, size: 64)
!457 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !458, file: !296, line: 190)
!458 = !DISubprogram(name: "wcsspn", scope: !302, file: !302, line: 191, type: !427, flags: DIFlagPrototyped, spFlags: 0)
!459 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !460, file: !296, line: 191)
!460 = !DISubprogram(name: "wcstod", scope: !302, file: !302, line: 377, type: !461, flags: DIFlagPrototyped, spFlags: 0)
!461 = !DISubroutineType(types: !462)
!462 = !{!46, !161, !463}
!463 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !464)
!464 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !114, size: 64)
!465 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !466, file: !296, line: 193)
!466 = !DISubprogram(name: "wcstof", scope: !302, file: !302, line: 382, type: !467, flags: DIFlagPrototyped, spFlags: 0)
!467 = !DISubroutineType(types: !468)
!468 = !{!203, !161, !463}
!469 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !470, file: !296, line: 195)
!470 = !DISubprogram(name: "wcstok", scope: !302, file: !302, line: 217, type: !471, flags: DIFlagPrototyped, spFlags: 0)
!471 = !DISubroutineType(types: !472)
!472 = !{!114, !113, !161, !463}
!473 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !474, file: !296, line: 196)
!474 = !DISubprogram(name: "wcstol", scope: !302, file: !302, line: 428, type: !475, flags: DIFlagPrototyped, spFlags: 0)
!475 = !DISubroutineType(types: !476)
!476 = !{!29, !161, !463, !18}
!477 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !478, file: !296, line: 197)
!478 = !DISubprogram(name: "wcstoul", scope: !302, file: !302, line: 433, type: !479, flags: DIFlagPrototyped, spFlags: 0)
!479 = !DISubroutineType(types: !480)
!480 = !{!67, !161, !463, !18}
!481 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !482, file: !296, line: 198)
!482 = !DISubprogram(name: "wcsxfrm", scope: !302, file: !302, line: 135, type: !483, flags: DIFlagPrototyped, spFlags: 0)
!483 = !DISubroutineType(types: !484)
!484 = !{!65, !113, !161, !65}
!485 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !486, file: !296, line: 199)
!486 = !DISubprogram(name: "wctob", scope: !302, file: !302, line: 288, type: !487, flags: DIFlagPrototyped, spFlags: 0)
!487 = !DISubroutineType(types: !488)
!488 = !{!18, !298}
!489 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !490, file: !296, line: 200)
!490 = !DISubprogram(name: "wmemcmp", scope: !302, file: !302, line: 258, type: !447, flags: DIFlagPrototyped, spFlags: 0)
!491 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !492, file: !296, line: 201)
!492 = !DISubprogram(name: "wmemcpy", scope: !302, file: !302, line: 262, type: !443, flags: DIFlagPrototyped, spFlags: 0)
!493 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !494, file: !296, line: 202)
!494 = !DISubprogram(name: "wmemmove", scope: !302, file: !302, line: 267, type: !495, flags: DIFlagPrototyped, spFlags: 0)
!495 = !DISubroutineType(types: !496)
!496 = !{!114, !114, !162, !65}
!497 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !498, file: !296, line: 203)
!498 = !DISubprogram(name: "wmemset", scope: !302, file: !302, line: 271, type: !499, flags: DIFlagPrototyped, spFlags: 0)
!499 = !DISubroutineType(types: !500)
!500 = !{!114, !114, !115, !65}
!501 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !502, file: !296, line: 204)
!502 = !DISubprogram(name: "wprintf", scope: !302, file: !302, line: 587, type: !503, flags: DIFlagPrototyped, spFlags: 0)
!503 = !DISubroutineType(types: !504)
!504 = !{!18, !161, null}
!505 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !506, file: !296, line: 205)
!506 = !DISubprogram(name: "wscanf", linkageName: "__isoc99_wscanf", scope: !302, file: !302, line: 644, type: !503, flags: DIFlagPrototyped, spFlags: 0)
!507 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !508, file: !296, line: 206)
!508 = !DISubprogram(name: "wcschr", scope: !302, file: !302, line: 164, type: !509, flags: DIFlagPrototyped, spFlags: 0)
!509 = !DISubroutineType(types: !510)
!510 = !{!114, !162, !115}
!511 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !512, file: !296, line: 207)
!512 = !DISubprogram(name: "wcspbrk", scope: !302, file: !302, line: 201, type: !513, flags: DIFlagPrototyped, spFlags: 0)
!513 = !DISubroutineType(types: !514)
!514 = !{!114, !162, !162}
!515 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !516, file: !296, line: 208)
!516 = !DISubprogram(name: "wcsrchr", scope: !302, file: !302, line: 174, type: !509, flags: DIFlagPrototyped, spFlags: 0)
!517 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !518, file: !296, line: 209)
!518 = !DISubprogram(name: "wcsstr", scope: !302, file: !302, line: 212, type: !513, flags: DIFlagPrototyped, spFlags: 0)
!519 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !520, file: !296, line: 210)
!520 = !DISubprogram(name: "wmemchr", scope: !302, file: !302, line: 253, type: !521, flags: DIFlagPrototyped, spFlags: 0)
!521 = !DISubroutineType(types: !522)
!522 = !{!114, !162, !115, !65}
!523 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !524, file: !296, line: 251)
!524 = !DISubprogram(name: "wcstold", scope: !302, file: !302, line: 384, type: !525, flags: DIFlagPrototyped, spFlags: 0)
!525 = !DISubroutineType(types: !526)
!526 = !{!208, !161, !463}
!527 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !528, file: !296, line: 260)
!528 = !DISubprogram(name: "wcstoll", scope: !302, file: !302, line: 441, type: !529, flags: DIFlagPrototyped, spFlags: 0)
!529 = !DISubroutineType(types: !530)
!530 = !{!174, !161, !463, !18}
!531 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !532, file: !296, line: 261)
!532 = !DISubprogram(name: "wcstoull", scope: !302, file: !302, line: 448, type: !533, flags: DIFlagPrototyped, spFlags: 0)
!533 = !DISubroutineType(types: !534)
!534 = !{!198, !161, !463, !18}
!535 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !524, file: !296, line: 267)
!536 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !528, file: !296, line: 268)
!537 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !532, file: !296, line: 269)
!538 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !466, file: !296, line: 283)
!539 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !394, file: !296, line: 286)
!540 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !400, file: !296, line: 289)
!541 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !408, file: !296, line: 292)
!542 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !524, file: !296, line: 296)
!543 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !528, file: !296, line: 297)
!544 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !532, file: !296, line: 298)
!545 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !546, file: !549, line: 47)
!546 = !DIDerivedType(tag: DW_TAG_typedef, name: "int8_t", file: !547, line: 224, baseType: !548)
!547 = !DIFile(filename: "vcpkg_ubuntu-20.04_llvm-9_amd64/installed/x64-linux-rel/tools/llvm/lib/clang/9.0.1/include/stdint.h", directory: "/home/dkling/Project/LLVM/mc2")
!548 = !DIBasicType(name: "signed char", size: 8, encoding: DW_ATE_signed_char)
!549 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cstdint", directory: "")
!550 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !551, file: !549, line: 48)
!551 = !DIDerivedType(tag: DW_TAG_typedef, name: "int16_t", file: !547, line: 205, baseType: !552)
!552 = !DIBasicType(name: "short", size: 16, encoding: DW_ATE_signed)
!553 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !554, file: !549, line: 49)
!554 = !DIDerivedType(tag: DW_TAG_typedef, name: "int32_t", file: !547, line: 167, baseType: !18)
!555 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !556, file: !549, line: 50)
!556 = !DIDerivedType(tag: DW_TAG_typedef, name: "int64_t", file: !547, line: 96, baseType: !29)
!557 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !558, file: !549, line: 52)
!558 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast8_t", file: !547, line: 234, baseType: !546)
!559 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !560, file: !549, line: 53)
!560 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast16_t", file: !547, line: 217, baseType: !551)
!561 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !562, file: !549, line: 54)
!562 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast32_t", file: !547, line: 186, baseType: !554)
!563 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !564, file: !549, line: 55)
!564 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_fast64_t", file: !547, line: 112, baseType: !556)
!565 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !566, file: !549, line: 57)
!566 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least8_t", file: !547, line: 232, baseType: !546)
!567 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !568, file: !549, line: 58)
!568 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least16_t", file: !547, line: 215, baseType: !551)
!569 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !570, file: !549, line: 59)
!570 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least32_t", file: !547, line: 184, baseType: !554)
!571 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !572, file: !549, line: 60)
!572 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_least64_t", file: !547, line: 110, baseType: !556)
!573 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !574, file: !549, line: 62)
!574 = !DIDerivedType(tag: DW_TAG_typedef, name: "intmax_t", file: !547, line: 262, baseType: !29)
!575 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !576, file: !549, line: 63)
!576 = !DIDerivedType(tag: DW_TAG_typedef, name: "intptr_t", file: !547, line: 249, baseType: !29)
!577 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !578, file: !549, line: 65)
!578 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !547, line: 226, baseType: !579)
!579 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
!580 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !581, file: !549, line: 66)
!581 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint16_t", file: !547, line: 207, baseType: !582)
!582 = !DIBasicType(name: "unsigned short", size: 16, encoding: DW_ATE_unsigned)
!583 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !584, file: !549, line: 67)
!584 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !547, line: 172, baseType: !139)
!585 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !586, file: !549, line: 68)
!586 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", file: !547, line: 98, baseType: !67)
!587 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !588, file: !549, line: 70)
!588 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast8_t", file: !547, line: 235, baseType: !578)
!589 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !590, file: !549, line: 71)
!590 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast16_t", file: !547, line: 218, baseType: !581)
!591 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !592, file: !549, line: 72)
!592 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast32_t", file: !547, line: 187, baseType: !584)
!593 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !594, file: !549, line: 73)
!594 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_fast64_t", file: !547, line: 113, baseType: !586)
!595 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !596, file: !549, line: 75)
!596 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least8_t", file: !547, line: 233, baseType: !578)
!597 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !598, file: !549, line: 76)
!598 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least16_t", file: !547, line: 216, baseType: !581)
!599 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !600, file: !549, line: 77)
!600 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least32_t", file: !547, line: 185, baseType: !584)
!601 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !602, file: !549, line: 78)
!602 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint_least64_t", file: !547, line: 111, baseType: !586)
!603 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !604, file: !549, line: 80)
!604 = !DIDerivedType(tag: DW_TAG_typedef, name: "uintmax_t", file: !547, line: 263, baseType: !67)
!605 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !606, file: !549, line: 81)
!606 = !DIDerivedType(tag: DW_TAG_typedef, name: "uintptr_t", file: !547, line: 256, baseType: !67)
!607 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !608, file: !609, line: 44)
!608 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", scope: !11, file: !248, line: 254, baseType: !67)
!609 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h", directory: "")
!610 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !611, file: !609, line: 45)
!611 = !DIDerivedType(tag: DW_TAG_typedef, name: "ptrdiff_t", scope: !11, file: !248, line: 255, baseType: !29)
!612 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !613, file: !615, line: 53)
!613 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "lconv", file: !614, line: 51, flags: DIFlagFwdDecl, identifier: "_ZTS5lconv")
!614 = !DIFile(filename: "/usr/include/locale.h", directory: "")
!615 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/clocale", directory: "")
!616 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !617, file: !615, line: 54)
!617 = !DISubprogram(name: "setlocale", scope: !614, file: !614, line: 122, type: !618, flags: DIFlagPrototyped, spFlags: 0)
!618 = !DISubroutineType(types: !619)
!619 = !{!92, !18, !47}
!620 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !621, file: !615, line: 55)
!621 = !DISubprogram(name: "localeconv", scope: !614, file: !614, line: 125, type: !622, flags: DIFlagPrototyped, spFlags: 0)
!622 = !DISubroutineType(types: !623)
!623 = !{!624}
!624 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !613, size: 64)
!625 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !626, file: !628, line: 64)
!626 = !DISubprogram(name: "isalnum", scope: !627, file: !627, line: 108, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!627 = !DIFile(filename: "/usr/include/ctype.h", directory: "")
!628 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cctype", directory: "")
!629 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !630, file: !628, line: 65)
!630 = !DISubprogram(name: "isalpha", scope: !627, file: !627, line: 109, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!631 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !632, file: !628, line: 66)
!632 = !DISubprogram(name: "iscntrl", scope: !627, file: !627, line: 110, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!633 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !634, file: !628, line: 67)
!634 = !DISubprogram(name: "isdigit", scope: !627, file: !627, line: 111, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!635 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !636, file: !628, line: 68)
!636 = !DISubprogram(name: "isgraph", scope: !627, file: !627, line: 113, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!637 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !638, file: !628, line: 69)
!638 = !DISubprogram(name: "islower", scope: !627, file: !627, line: 112, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!639 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !640, file: !628, line: 70)
!640 = !DISubprogram(name: "isprint", scope: !627, file: !627, line: 114, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!641 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !642, file: !628, line: 71)
!642 = !DISubprogram(name: "ispunct", scope: !627, file: !627, line: 115, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!643 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !644, file: !628, line: 72)
!644 = !DISubprogram(name: "isspace", scope: !627, file: !627, line: 116, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!645 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !646, file: !628, line: 73)
!646 = !DISubprogram(name: "isupper", scope: !627, file: !627, line: 117, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!647 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !648, file: !628, line: 74)
!648 = !DISubprogram(name: "isxdigit", scope: !627, file: !627, line: 118, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!649 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !650, file: !628, line: 75)
!650 = !DISubprogram(name: "tolower", scope: !627, file: !627, line: 122, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!651 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !652, file: !628, line: 76)
!652 = !DISubprogram(name: "toupper", scope: !627, file: !627, line: 125, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!653 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !654, file: !628, line: 87)
!654 = !DISubprogram(name: "isblank", scope: !627, file: !627, line: 130, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!655 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !656, file: !658, line: 98)
!656 = !DIDerivedType(tag: DW_TAG_typedef, name: "FILE", file: !657, line: 7, baseType: !312)
!657 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/FILE.h", directory: "")
!658 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cstdio", directory: "")
!659 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !660, file: !658, line: 99)
!660 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpos_t", file: !661, line: 84, baseType: !662)
!661 = !DIFile(filename: "/usr/include/stdio.h", directory: "")
!662 = !DIDerivedType(tag: DW_TAG_typedef, name: "__fpos_t", file: !663, line: 14, baseType: !664)
!663 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h", directory: "")
!664 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_G_fpos_t", file: !663, line: 10, flags: DIFlagFwdDecl, identifier: "_ZTS9_G_fpos_t")
!665 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !666, file: !658, line: 101)
!666 = !DISubprogram(name: "clearerr", scope: !661, file: !661, line: 757, type: !667, flags: DIFlagPrototyped, spFlags: 0)
!667 = !DISubroutineType(types: !668)
!668 = !{null, !669}
!669 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !656, size: 64)
!670 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !671, file: !658, line: 102)
!671 = !DISubprogram(name: "fclose", scope: !661, file: !661, line: 213, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!672 = !DISubroutineType(types: !673)
!673 = !{!18, !669}
!674 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !675, file: !658, line: 103)
!675 = !DISubprogram(name: "feof", scope: !661, file: !661, line: 759, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!676 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !677, file: !658, line: 104)
!677 = !DISubprogram(name: "ferror", scope: !661, file: !661, line: 761, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!678 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !679, file: !658, line: 105)
!679 = !DISubprogram(name: "fflush", scope: !661, file: !661, line: 218, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!680 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !681, file: !658, line: 106)
!681 = !DISubprogram(name: "fgetc", scope: !661, file: !661, line: 485, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!682 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !683, file: !658, line: 107)
!683 = !DISubprogram(name: "fgetpos", scope: !661, file: !661, line: 731, type: !684, flags: DIFlagPrototyped, spFlags: 0)
!684 = !DISubroutineType(types: !685)
!685 = !{!18, !686, !687}
!686 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !669)
!687 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !688)
!688 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !660, size: 64)
!689 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !690, file: !658, line: 108)
!690 = !DISubprogram(name: "fgets", scope: !661, file: !661, line: 564, type: !691, flags: DIFlagPrototyped, spFlags: 0)
!691 = !DISubroutineType(types: !692)
!692 = !{!92, !160, !18, !686}
!693 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !694, file: !658, line: 109)
!694 = !DISubprogram(name: "fopen", scope: !661, file: !661, line: 246, type: !695, flags: DIFlagPrototyped, spFlags: 0)
!695 = !DISubroutineType(types: !696)
!696 = !{!669, !116, !116}
!697 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !698, file: !658, line: 110)
!698 = !DISubprogram(name: "fprintf", scope: !661, file: !661, line: 326, type: !699, flags: DIFlagPrototyped, spFlags: 0)
!699 = !DISubroutineType(types: !700)
!700 = !{!18, !686, !116, null}
!701 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !702, file: !658, line: 111)
!702 = !DISubprogram(name: "fputc", scope: !661, file: !661, line: 521, type: !703, flags: DIFlagPrototyped, spFlags: 0)
!703 = !DISubroutineType(types: !704)
!704 = !{!18, !18, !669}
!705 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !706, file: !658, line: 112)
!706 = !DISubprogram(name: "fputs", scope: !661, file: !661, line: 626, type: !707, flags: DIFlagPrototyped, spFlags: 0)
!707 = !DISubroutineType(types: !708)
!708 = !{!18, !116, !686}
!709 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !710, file: !658, line: 113)
!710 = !DISubprogram(name: "fread", scope: !661, file: !661, line: 646, type: !711, flags: DIFlagPrototyped, spFlags: 0)
!711 = !DISubroutineType(types: !712)
!712 = !{!65, !713, !65, !65, !686}
!713 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !62)
!714 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !715, file: !658, line: 114)
!715 = !DISubprogram(name: "freopen", scope: !661, file: !661, line: 252, type: !716, flags: DIFlagPrototyped, spFlags: 0)
!716 = !DISubroutineType(types: !717)
!717 = !{!669, !116, !116, !686}
!718 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !719, file: !658, line: 115)
!719 = !DISubprogram(name: "fscanf", linkageName: "__isoc99_fscanf", scope: !661, file: !661, line: 407, type: !699, flags: DIFlagPrototyped, spFlags: 0)
!720 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !721, file: !658, line: 116)
!721 = !DISubprogram(name: "fseek", scope: !661, file: !661, line: 684, type: !722, flags: DIFlagPrototyped, spFlags: 0)
!722 = !DISubroutineType(types: !723)
!723 = !{!18, !669, !29, !18}
!724 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !725, file: !658, line: 117)
!725 = !DISubprogram(name: "fsetpos", scope: !661, file: !661, line: 736, type: !726, flags: DIFlagPrototyped, spFlags: 0)
!726 = !DISubroutineType(types: !727)
!727 = !{!18, !669, !728}
!728 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !729, size: 64)
!729 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !660)
!730 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !731, file: !658, line: 118)
!731 = !DISubprogram(name: "ftell", scope: !661, file: !661, line: 689, type: !732, flags: DIFlagPrototyped, spFlags: 0)
!732 = !DISubroutineType(types: !733)
!733 = !{!29, !669}
!734 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !735, file: !658, line: 119)
!735 = !DISubprogram(name: "fwrite", scope: !661, file: !661, line: 652, type: !736, flags: DIFlagPrototyped, spFlags: 0)
!736 = !DISubroutineType(types: !737)
!737 = !{!65, !738, !65, !65, !686}
!738 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !63)
!739 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !740, file: !658, line: 120)
!740 = !DISubprogram(name: "getc", scope: !661, file: !661, line: 486, type: !672, flags: DIFlagPrototyped, spFlags: 0)
!741 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !742, file: !658, line: 121)
!742 = !DISubprogram(name: "getchar", scope: !661, file: !661, line: 492, type: !129, flags: DIFlagPrototyped, spFlags: 0)
!743 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !744, file: !658, line: 124)
!744 = !DISubprogram(name: "gets", scope: !661, file: !661, line: 577, type: !745, flags: DIFlagPrototyped, spFlags: 0)
!745 = !DISubroutineType(types: !746)
!746 = !{!92, !92}
!747 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !748, file: !658, line: 126)
!748 = !DISubprogram(name: "perror", scope: !661, file: !661, line: 775, type: !749, flags: DIFlagPrototyped, spFlags: 0)
!749 = !DISubroutineType(types: !750)
!750 = !{null, !47}
!751 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !752, file: !658, line: 127)
!752 = !DISubprogram(name: "printf", scope: !661, file: !661, line: 332, type: !753, flags: DIFlagPrototyped, spFlags: 0)
!753 = !DISubroutineType(types: !754)
!754 = !{!18, !116, null}
!755 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !756, file: !658, line: 128)
!756 = !DISubprogram(name: "putc", scope: !661, file: !661, line: 522, type: !703, flags: DIFlagPrototyped, spFlags: 0)
!757 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !758, file: !658, line: 129)
!758 = !DISubprogram(name: "putchar", scope: !661, file: !661, line: 528, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!759 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !760, file: !658, line: 130)
!760 = !DISubprogram(name: "puts", scope: !661, file: !661, line: 632, type: !52, flags: DIFlagPrototyped, spFlags: 0)
!761 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !762, file: !658, line: 131)
!762 = !DISubprogram(name: "remove", scope: !661, file: !661, line: 146, type: !52, flags: DIFlagPrototyped, spFlags: 0)
!763 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !764, file: !658, line: 132)
!764 = !DISubprogram(name: "rename", scope: !661, file: !661, line: 148, type: !765, flags: DIFlagPrototyped, spFlags: 0)
!765 = !DISubroutineType(types: !766)
!766 = !{!18, !47, !47}
!767 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !768, file: !658, line: 133)
!768 = !DISubprogram(name: "rewind", scope: !661, file: !661, line: 694, type: !667, flags: DIFlagPrototyped, spFlags: 0)
!769 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !770, file: !658, line: 134)
!770 = !DISubprogram(name: "scanf", linkageName: "__isoc99_scanf", scope: !661, file: !661, line: 410, type: !753, flags: DIFlagPrototyped, spFlags: 0)
!771 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !772, file: !658, line: 135)
!772 = !DISubprogram(name: "setbuf", scope: !661, file: !661, line: 304, type: !773, flags: DIFlagPrototyped, spFlags: 0)
!773 = !DISubroutineType(types: !774)
!774 = !{null, !686, !160}
!775 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !776, file: !658, line: 136)
!776 = !DISubprogram(name: "setvbuf", scope: !661, file: !661, line: 308, type: !777, flags: DIFlagPrototyped, spFlags: 0)
!777 = !DISubroutineType(types: !778)
!778 = !{!18, !686, !160, !18, !65}
!779 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !780, file: !658, line: 137)
!780 = !DISubprogram(name: "sprintf", scope: !661, file: !661, line: 334, type: !781, flags: DIFlagPrototyped, spFlags: 0)
!781 = !DISubroutineType(types: !782)
!782 = !{!18, !160, !116, null}
!783 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !784, file: !658, line: 138)
!784 = !DISubprogram(name: "sscanf", linkageName: "__isoc99_sscanf", scope: !661, file: !661, line: 412, type: !785, flags: DIFlagPrototyped, spFlags: 0)
!785 = !DISubroutineType(types: !786)
!786 = !{!18, !116, !116, null}
!787 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !788, file: !658, line: 139)
!788 = !DISubprogram(name: "tmpfile", scope: !661, file: !661, line: 173, type: !789, flags: DIFlagPrototyped, spFlags: 0)
!789 = !DISubroutineType(types: !790)
!790 = !{!669}
!791 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !792, file: !658, line: 141)
!792 = !DISubprogram(name: "tmpnam", scope: !661, file: !661, line: 187, type: !745, flags: DIFlagPrototyped, spFlags: 0)
!793 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !794, file: !658, line: 143)
!794 = !DISubprogram(name: "ungetc", scope: !661, file: !661, line: 639, type: !703, flags: DIFlagPrototyped, spFlags: 0)
!795 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !796, file: !658, line: 144)
!796 = !DISubprogram(name: "vfprintf", scope: !661, file: !661, line: 341, type: !797, flags: DIFlagPrototyped, spFlags: 0)
!797 = !DISubroutineType(types: !798)
!798 = !{!18, !686, !116, !386}
!799 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !800, file: !658, line: 145)
!800 = !DISubprogram(name: "vprintf", scope: !661, file: !661, line: 347, type: !801, flags: DIFlagPrototyped, spFlags: 0)
!801 = !DISubroutineType(types: !802)
!802 = !{!18, !116, !386}
!803 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !804, file: !658, line: 146)
!804 = !DISubprogram(name: "vsprintf", scope: !661, file: !661, line: 349, type: !805, flags: DIFlagPrototyped, spFlags: 0)
!805 = !DISubroutineType(types: !806)
!806 = !{!18, !160, !116, !386}
!807 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !808, file: !658, line: 175)
!808 = !DISubprogram(name: "snprintf", scope: !661, file: !661, line: 354, type: !809, flags: DIFlagPrototyped, spFlags: 0)
!809 = !DISubroutineType(types: !810)
!810 = !{!18, !160, !65, !116, null}
!811 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !812, file: !658, line: 176)
!812 = !DISubprogram(name: "vfscanf", linkageName: "__isoc99_vfscanf", scope: !661, file: !661, line: 451, type: !797, flags: DIFlagPrototyped, spFlags: 0)
!813 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !814, file: !658, line: 177)
!814 = !DISubprogram(name: "vscanf", linkageName: "__isoc99_vscanf", scope: !661, file: !661, line: 456, type: !801, flags: DIFlagPrototyped, spFlags: 0)
!815 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !816, file: !658, line: 178)
!816 = !DISubprogram(name: "vsnprintf", scope: !661, file: !661, line: 358, type: !817, flags: DIFlagPrototyped, spFlags: 0)
!817 = !DISubroutineType(types: !818)
!818 = !{!18, !160, !65, !116, !386}
!819 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !169, entity: !820, file: !658, line: 179)
!820 = !DISubprogram(name: "vsscanf", linkageName: "__isoc99_vsscanf", scope: !661, file: !661, line: 459, type: !821, flags: DIFlagPrototyped, spFlags: 0)
!821 = !DISubroutineType(types: !822)
!822 = !{!18, !116, !116, !386}
!823 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !808, file: !658, line: 185)
!824 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !812, file: !658, line: 186)
!825 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !814, file: !658, line: 187)
!826 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !816, file: !658, line: 188)
!827 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !820, file: !658, line: 189)
!828 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !829, file: !833, line: 83)
!829 = !DISubprogram(name: "acos", scope: !830, file: !830, line: 53, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!830 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/mathcalls.h", directory: "")
!831 = !DISubroutineType(types: !832)
!832 = !{!46, !46}
!833 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cmath", directory: "")
!834 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !835, file: !833, line: 102)
!835 = !DISubprogram(name: "asin", scope: !830, file: !830, line: 55, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!836 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !837, file: !833, line: 121)
!837 = !DISubprogram(name: "atan", scope: !830, file: !830, line: 57, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!838 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !839, file: !833, line: 140)
!839 = !DISubprogram(name: "atan2", scope: !830, file: !830, line: 59, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!840 = !DISubroutineType(types: !841)
!841 = !{!46, !46, !46}
!842 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !843, file: !833, line: 161)
!843 = !DISubprogram(name: "ceil", scope: !830, file: !830, line: 159, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!844 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !845, file: !833, line: 180)
!845 = !DISubprogram(name: "cos", scope: !830, file: !830, line: 62, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!846 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !847, file: !833, line: 199)
!847 = !DISubprogram(name: "cosh", scope: !830, file: !830, line: 71, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!848 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !849, file: !833, line: 218)
!849 = !DISubprogram(name: "exp", scope: !830, file: !830, line: 95, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!850 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !851, file: !833, line: 237)
!851 = !DISubprogram(name: "fabs", scope: !830, file: !830, line: 162, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!852 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !853, file: !833, line: 256)
!853 = !DISubprogram(name: "floor", scope: !830, file: !830, line: 165, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!854 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !855, file: !833, line: 275)
!855 = !DISubprogram(name: "fmod", scope: !830, file: !830, line: 168, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!856 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !857, file: !833, line: 296)
!857 = !DISubprogram(name: "frexp", scope: !830, file: !830, line: 98, type: !858, flags: DIFlagPrototyped, spFlags: 0)
!858 = !DISubroutineType(types: !859)
!859 = !{!46, !46, !860}
!860 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !18, size: 64)
!861 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !862, file: !833, line: 315)
!862 = !DISubprogram(name: "ldexp", scope: !830, file: !830, line: 101, type: !863, flags: DIFlagPrototyped, spFlags: 0)
!863 = !DISubroutineType(types: !864)
!864 = !{!46, !46, !18}
!865 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !866, file: !833, line: 334)
!866 = !DISubprogram(name: "log", scope: !830, file: !830, line: 104, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!867 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !868, file: !833, line: 353)
!868 = !DISubprogram(name: "log10", scope: !830, file: !830, line: 107, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!869 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !870, file: !833, line: 372)
!870 = !DISubprogram(name: "modf", scope: !830, file: !830, line: 110, type: !871, flags: DIFlagPrototyped, spFlags: 0)
!871 = !DISubroutineType(types: !872)
!872 = !{!46, !46, !873}
!873 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !46, size: 64)
!874 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !875, file: !833, line: 384)
!875 = !DISubprogram(name: "pow", scope: !830, file: !830, line: 140, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!876 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !877, file: !833, line: 421)
!877 = !DISubprogram(name: "sin", scope: !830, file: !830, line: 64, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!878 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !879, file: !833, line: 440)
!879 = !DISubprogram(name: "sinh", scope: !830, file: !830, line: 73, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!880 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !881, file: !833, line: 459)
!881 = !DISubprogram(name: "sqrt", scope: !830, file: !830, line: 143, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!882 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !883, file: !833, line: 478)
!883 = !DISubprogram(name: "tan", scope: !830, file: !830, line: 66, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!884 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !885, file: !833, line: 497)
!885 = !DISubprogram(name: "tanh", scope: !830, file: !830, line: 75, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!886 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !887, file: !833, line: 1065)
!887 = !DIDerivedType(tag: DW_TAG_typedef, name: "double_t", file: !888, line: 150, baseType: !46)
!888 = !DIFile(filename: "/usr/include/math.h", directory: "")
!889 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !890, file: !833, line: 1066)
!890 = !DIDerivedType(tag: DW_TAG_typedef, name: "float_t", file: !888, line: 149, baseType: !203)
!891 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !892, file: !833, line: 1069)
!892 = !DISubprogram(name: "acosh", scope: !830, file: !830, line: 85, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!893 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !894, file: !833, line: 1070)
!894 = !DISubprogram(name: "acoshf", scope: !830, file: !830, line: 85, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!895 = !DISubroutineType(types: !896)
!896 = !{!203, !203}
!897 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !898, file: !833, line: 1071)
!898 = !DISubprogram(name: "acoshl", scope: !830, file: !830, line: 85, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!899 = !DISubroutineType(types: !900)
!900 = !{!208, !208}
!901 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !902, file: !833, line: 1073)
!902 = !DISubprogram(name: "asinh", scope: !830, file: !830, line: 87, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!903 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !904, file: !833, line: 1074)
!904 = !DISubprogram(name: "asinhf", scope: !830, file: !830, line: 87, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!905 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !906, file: !833, line: 1075)
!906 = !DISubprogram(name: "asinhl", scope: !830, file: !830, line: 87, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!907 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !908, file: !833, line: 1077)
!908 = !DISubprogram(name: "atanh", scope: !830, file: !830, line: 89, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!909 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !910, file: !833, line: 1078)
!910 = !DISubprogram(name: "atanhf", scope: !830, file: !830, line: 89, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!911 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !912, file: !833, line: 1079)
!912 = !DISubprogram(name: "atanhl", scope: !830, file: !830, line: 89, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!913 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !914, file: !833, line: 1081)
!914 = !DISubprogram(name: "cbrt", scope: !830, file: !830, line: 152, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!915 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !916, file: !833, line: 1082)
!916 = !DISubprogram(name: "cbrtf", scope: !830, file: !830, line: 152, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!917 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !918, file: !833, line: 1083)
!918 = !DISubprogram(name: "cbrtl", scope: !830, file: !830, line: 152, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!919 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !920, file: !833, line: 1085)
!920 = !DISubprogram(name: "copysign", scope: !830, file: !830, line: 196, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!921 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !922, file: !833, line: 1086)
!922 = !DISubprogram(name: "copysignf", scope: !830, file: !830, line: 196, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!923 = !DISubroutineType(types: !924)
!924 = !{!203, !203, !203}
!925 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !926, file: !833, line: 1087)
!926 = !DISubprogram(name: "copysignl", scope: !830, file: !830, line: 196, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!927 = !DISubroutineType(types: !928)
!928 = !{!208, !208, !208}
!929 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !930, file: !833, line: 1089)
!930 = !DISubprogram(name: "erf", scope: !830, file: !830, line: 228, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!931 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !932, file: !833, line: 1090)
!932 = !DISubprogram(name: "erff", scope: !830, file: !830, line: 228, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!933 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !934, file: !833, line: 1091)
!934 = !DISubprogram(name: "erfl", scope: !830, file: !830, line: 228, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!935 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !936, file: !833, line: 1093)
!936 = !DISubprogram(name: "erfc", scope: !830, file: !830, line: 229, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!937 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !938, file: !833, line: 1094)
!938 = !DISubprogram(name: "erfcf", scope: !830, file: !830, line: 229, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!939 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !940, file: !833, line: 1095)
!940 = !DISubprogram(name: "erfcl", scope: !830, file: !830, line: 229, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!941 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !942, file: !833, line: 1097)
!942 = !DISubprogram(name: "exp2", scope: !830, file: !830, line: 130, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!943 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !944, file: !833, line: 1098)
!944 = !DISubprogram(name: "exp2f", scope: !830, file: !830, line: 130, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!945 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !946, file: !833, line: 1099)
!946 = !DISubprogram(name: "exp2l", scope: !830, file: !830, line: 130, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!947 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !948, file: !833, line: 1101)
!948 = !DISubprogram(name: "expm1", scope: !830, file: !830, line: 119, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!949 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !950, file: !833, line: 1102)
!950 = !DISubprogram(name: "expm1f", scope: !830, file: !830, line: 119, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!951 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !952, file: !833, line: 1103)
!952 = !DISubprogram(name: "expm1l", scope: !830, file: !830, line: 119, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!953 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !954, file: !833, line: 1105)
!954 = !DISubprogram(name: "fdim", scope: !830, file: !830, line: 326, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!955 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !956, file: !833, line: 1106)
!956 = !DISubprogram(name: "fdimf", scope: !830, file: !830, line: 326, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!957 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !958, file: !833, line: 1107)
!958 = !DISubprogram(name: "fdiml", scope: !830, file: !830, line: 326, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!959 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !960, file: !833, line: 1109)
!960 = !DISubprogram(name: "fma", scope: !830, file: !830, line: 335, type: !961, flags: DIFlagPrototyped, spFlags: 0)
!961 = !DISubroutineType(types: !962)
!962 = !{!46, !46, !46, !46}
!963 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !964, file: !833, line: 1110)
!964 = !DISubprogram(name: "fmaf", scope: !830, file: !830, line: 335, type: !965, flags: DIFlagPrototyped, spFlags: 0)
!965 = !DISubroutineType(types: !966)
!966 = !{!203, !203, !203, !203}
!967 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !968, file: !833, line: 1111)
!968 = !DISubprogram(name: "fmal", scope: !830, file: !830, line: 335, type: !969, flags: DIFlagPrototyped, spFlags: 0)
!969 = !DISubroutineType(types: !970)
!970 = !{!208, !208, !208, !208}
!971 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !972, file: !833, line: 1113)
!972 = !DISubprogram(name: "fmax", scope: !830, file: !830, line: 329, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!973 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !974, file: !833, line: 1114)
!974 = !DISubprogram(name: "fmaxf", scope: !830, file: !830, line: 329, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!975 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !976, file: !833, line: 1115)
!976 = !DISubprogram(name: "fmaxl", scope: !830, file: !830, line: 329, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!977 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !978, file: !833, line: 1117)
!978 = !DISubprogram(name: "fmin", scope: !830, file: !830, line: 332, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!979 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !980, file: !833, line: 1118)
!980 = !DISubprogram(name: "fminf", scope: !830, file: !830, line: 332, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!981 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !982, file: !833, line: 1119)
!982 = !DISubprogram(name: "fminl", scope: !830, file: !830, line: 332, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!983 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !984, file: !833, line: 1121)
!984 = !DISubprogram(name: "hypot", scope: !830, file: !830, line: 147, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!985 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !986, file: !833, line: 1122)
!986 = !DISubprogram(name: "hypotf", scope: !830, file: !830, line: 147, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!987 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !988, file: !833, line: 1123)
!988 = !DISubprogram(name: "hypotl", scope: !830, file: !830, line: 147, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!989 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !990, file: !833, line: 1125)
!990 = !DISubprogram(name: "ilogb", scope: !830, file: !830, line: 280, type: !991, flags: DIFlagPrototyped, spFlags: 0)
!991 = !DISubroutineType(types: !992)
!992 = !{!18, !46}
!993 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !994, file: !833, line: 1126)
!994 = !DISubprogram(name: "ilogbf", scope: !830, file: !830, line: 280, type: !995, flags: DIFlagPrototyped, spFlags: 0)
!995 = !DISubroutineType(types: !996)
!996 = !{!18, !203}
!997 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !998, file: !833, line: 1127)
!998 = !DISubprogram(name: "ilogbl", scope: !830, file: !830, line: 280, type: !999, flags: DIFlagPrototyped, spFlags: 0)
!999 = !DISubroutineType(types: !1000)
!1000 = !{!18, !208}
!1001 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1002, file: !833, line: 1129)
!1002 = !DISubprogram(name: "lgamma", scope: !830, file: !830, line: 230, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1003 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1004, file: !833, line: 1130)
!1004 = !DISubprogram(name: "lgammaf", scope: !830, file: !830, line: 230, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1005 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1006, file: !833, line: 1131)
!1006 = !DISubprogram(name: "lgammal", scope: !830, file: !830, line: 230, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1007 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1008, file: !833, line: 1134)
!1008 = !DISubprogram(name: "llrint", scope: !830, file: !830, line: 316, type: !1009, flags: DIFlagPrototyped, spFlags: 0)
!1009 = !DISubroutineType(types: !1010)
!1010 = !{!174, !46}
!1011 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1012, file: !833, line: 1135)
!1012 = !DISubprogram(name: "llrintf", scope: !830, file: !830, line: 316, type: !1013, flags: DIFlagPrototyped, spFlags: 0)
!1013 = !DISubroutineType(types: !1014)
!1014 = !{!174, !203}
!1015 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1016, file: !833, line: 1136)
!1016 = !DISubprogram(name: "llrintl", scope: !830, file: !830, line: 316, type: !1017, flags: DIFlagPrototyped, spFlags: 0)
!1017 = !DISubroutineType(types: !1018)
!1018 = !{!174, !208}
!1019 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1020, file: !833, line: 1138)
!1020 = !DISubprogram(name: "llround", scope: !830, file: !830, line: 322, type: !1009, flags: DIFlagPrototyped, spFlags: 0)
!1021 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1022, file: !833, line: 1139)
!1022 = !DISubprogram(name: "llroundf", scope: !830, file: !830, line: 322, type: !1013, flags: DIFlagPrototyped, spFlags: 0)
!1023 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1024, file: !833, line: 1140)
!1024 = !DISubprogram(name: "llroundl", scope: !830, file: !830, line: 322, type: !1017, flags: DIFlagPrototyped, spFlags: 0)
!1025 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1026, file: !833, line: 1143)
!1026 = !DISubprogram(name: "log1p", scope: !830, file: !830, line: 122, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1027 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1028, file: !833, line: 1144)
!1028 = !DISubprogram(name: "log1pf", scope: !830, file: !830, line: 122, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1029 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1030, file: !833, line: 1145)
!1030 = !DISubprogram(name: "log1pl", scope: !830, file: !830, line: 122, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1031 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1032, file: !833, line: 1147)
!1032 = !DISubprogram(name: "log2", scope: !830, file: !830, line: 133, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1033 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1034, file: !833, line: 1148)
!1034 = !DISubprogram(name: "log2f", scope: !830, file: !830, line: 133, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1035 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1036, file: !833, line: 1149)
!1036 = !DISubprogram(name: "log2l", scope: !830, file: !830, line: 133, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1037 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1038, file: !833, line: 1151)
!1038 = !DISubprogram(name: "logb", scope: !830, file: !830, line: 125, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1039 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1040, file: !833, line: 1152)
!1040 = !DISubprogram(name: "logbf", scope: !830, file: !830, line: 125, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1041 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1042, file: !833, line: 1153)
!1042 = !DISubprogram(name: "logbl", scope: !830, file: !830, line: 125, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1043 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1044, file: !833, line: 1155)
!1044 = !DISubprogram(name: "lrint", scope: !830, file: !830, line: 314, type: !1045, flags: DIFlagPrototyped, spFlags: 0)
!1045 = !DISubroutineType(types: !1046)
!1046 = !{!29, !46}
!1047 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1048, file: !833, line: 1156)
!1048 = !DISubprogram(name: "lrintf", scope: !830, file: !830, line: 314, type: !1049, flags: DIFlagPrototyped, spFlags: 0)
!1049 = !DISubroutineType(types: !1050)
!1050 = !{!29, !203}
!1051 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1052, file: !833, line: 1157)
!1052 = !DISubprogram(name: "lrintl", scope: !830, file: !830, line: 314, type: !1053, flags: DIFlagPrototyped, spFlags: 0)
!1053 = !DISubroutineType(types: !1054)
!1054 = !{!29, !208}
!1055 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1056, file: !833, line: 1159)
!1056 = !DISubprogram(name: "lround", scope: !830, file: !830, line: 320, type: !1045, flags: DIFlagPrototyped, spFlags: 0)
!1057 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1058, file: !833, line: 1160)
!1058 = !DISubprogram(name: "lroundf", scope: !830, file: !830, line: 320, type: !1049, flags: DIFlagPrototyped, spFlags: 0)
!1059 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1060, file: !833, line: 1161)
!1060 = !DISubprogram(name: "lroundl", scope: !830, file: !830, line: 320, type: !1053, flags: DIFlagPrototyped, spFlags: 0)
!1061 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1062, file: !833, line: 1163)
!1062 = !DISubprogram(name: "nan", scope: !830, file: !830, line: 201, type: !44, flags: DIFlagPrototyped, spFlags: 0)
!1063 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1064, file: !833, line: 1164)
!1064 = !DISubprogram(name: "nanf", scope: !830, file: !830, line: 201, type: !1065, flags: DIFlagPrototyped, spFlags: 0)
!1065 = !DISubroutineType(types: !1066)
!1066 = !{!203, !47}
!1067 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1068, file: !833, line: 1165)
!1068 = !DISubprogram(name: "nanl", scope: !830, file: !830, line: 201, type: !1069, flags: DIFlagPrototyped, spFlags: 0)
!1069 = !DISubroutineType(types: !1070)
!1070 = !{!208, !47}
!1071 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1072, file: !833, line: 1167)
!1072 = !DISubprogram(name: "nearbyint", scope: !830, file: !830, line: 294, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1073 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1074, file: !833, line: 1168)
!1074 = !DISubprogram(name: "nearbyintf", scope: !830, file: !830, line: 294, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1075 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1076, file: !833, line: 1169)
!1076 = !DISubprogram(name: "nearbyintl", scope: !830, file: !830, line: 294, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1077 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1078, file: !833, line: 1171)
!1078 = !DISubprogram(name: "nextafter", scope: !830, file: !830, line: 259, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!1079 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1080, file: !833, line: 1172)
!1080 = !DISubprogram(name: "nextafterf", scope: !830, file: !830, line: 259, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!1081 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1082, file: !833, line: 1173)
!1082 = !DISubprogram(name: "nextafterl", scope: !830, file: !830, line: 259, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!1083 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1084, file: !833, line: 1175)
!1084 = !DISubprogram(name: "nexttoward", scope: !830, file: !830, line: 261, type: !1085, flags: DIFlagPrototyped, spFlags: 0)
!1085 = !DISubroutineType(types: !1086)
!1086 = !{!46, !46, !208}
!1087 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1088, file: !833, line: 1176)
!1088 = !DISubprogram(name: "nexttowardf", scope: !830, file: !830, line: 261, type: !1089, flags: DIFlagPrototyped, spFlags: 0)
!1089 = !DISubroutineType(types: !1090)
!1090 = !{!203, !203, !208}
!1091 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1092, file: !833, line: 1177)
!1092 = !DISubprogram(name: "nexttowardl", scope: !830, file: !830, line: 261, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!1093 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1094, file: !833, line: 1179)
!1094 = !DISubprogram(name: "remainder", scope: !830, file: !830, line: 272, type: !840, flags: DIFlagPrototyped, spFlags: 0)
!1095 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1096, file: !833, line: 1180)
!1096 = !DISubprogram(name: "remainderf", scope: !830, file: !830, line: 272, type: !923, flags: DIFlagPrototyped, spFlags: 0)
!1097 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1098, file: !833, line: 1181)
!1098 = !DISubprogram(name: "remainderl", scope: !830, file: !830, line: 272, type: !927, flags: DIFlagPrototyped, spFlags: 0)
!1099 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1100, file: !833, line: 1183)
!1100 = !DISubprogram(name: "remquo", scope: !830, file: !830, line: 307, type: !1101, flags: DIFlagPrototyped, spFlags: 0)
!1101 = !DISubroutineType(types: !1102)
!1102 = !{!46, !46, !46, !860}
!1103 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1104, file: !833, line: 1184)
!1104 = !DISubprogram(name: "remquof", scope: !830, file: !830, line: 307, type: !1105, flags: DIFlagPrototyped, spFlags: 0)
!1105 = !DISubroutineType(types: !1106)
!1106 = !{!203, !203, !203, !860}
!1107 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1108, file: !833, line: 1185)
!1108 = !DISubprogram(name: "remquol", scope: !830, file: !830, line: 307, type: !1109, flags: DIFlagPrototyped, spFlags: 0)
!1109 = !DISubroutineType(types: !1110)
!1110 = !{!208, !208, !208, !860}
!1111 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1112, file: !833, line: 1187)
!1112 = !DISubprogram(name: "rint", scope: !830, file: !830, line: 256, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1113 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1114, file: !833, line: 1188)
!1114 = !DISubprogram(name: "rintf", scope: !830, file: !830, line: 256, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1115 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1116, file: !833, line: 1189)
!1116 = !DISubprogram(name: "rintl", scope: !830, file: !830, line: 256, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1117 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1118, file: !833, line: 1191)
!1118 = !DISubprogram(name: "round", scope: !830, file: !830, line: 298, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1119 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1120, file: !833, line: 1192)
!1120 = !DISubprogram(name: "roundf", scope: !830, file: !830, line: 298, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1121 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1122, file: !833, line: 1193)
!1122 = !DISubprogram(name: "roundl", scope: !830, file: !830, line: 298, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1123 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1124, file: !833, line: 1195)
!1124 = !DISubprogram(name: "scalbln", scope: !830, file: !830, line: 290, type: !1125, flags: DIFlagPrototyped, spFlags: 0)
!1125 = !DISubroutineType(types: !1126)
!1126 = !{!46, !46, !29}
!1127 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1128, file: !833, line: 1196)
!1128 = !DISubprogram(name: "scalblnf", scope: !830, file: !830, line: 290, type: !1129, flags: DIFlagPrototyped, spFlags: 0)
!1129 = !DISubroutineType(types: !1130)
!1130 = !{!203, !203, !29}
!1131 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1132, file: !833, line: 1197)
!1132 = !DISubprogram(name: "scalblnl", scope: !830, file: !830, line: 290, type: !1133, flags: DIFlagPrototyped, spFlags: 0)
!1133 = !DISubroutineType(types: !1134)
!1134 = !{!208, !208, !29}
!1135 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1136, file: !833, line: 1199)
!1136 = !DISubprogram(name: "scalbn", scope: !830, file: !830, line: 276, type: !863, flags: DIFlagPrototyped, spFlags: 0)
!1137 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1138, file: !833, line: 1200)
!1138 = !DISubprogram(name: "scalbnf", scope: !830, file: !830, line: 276, type: !1139, flags: DIFlagPrototyped, spFlags: 0)
!1139 = !DISubroutineType(types: !1140)
!1140 = !{!203, !203, !18}
!1141 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1142, file: !833, line: 1201)
!1142 = !DISubprogram(name: "scalbnl", scope: !830, file: !830, line: 276, type: !1143, flags: DIFlagPrototyped, spFlags: 0)
!1143 = !DISubroutineType(types: !1144)
!1144 = !{!208, !208, !18}
!1145 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1146, file: !833, line: 1203)
!1146 = !DISubprogram(name: "tgamma", scope: !830, file: !830, line: 235, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1147 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1148, file: !833, line: 1204)
!1148 = !DISubprogram(name: "tgammaf", scope: !830, file: !830, line: 235, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1149 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1150, file: !833, line: 1205)
!1150 = !DISubprogram(name: "tgammal", scope: !830, file: !830, line: 235, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1151 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1152, file: !833, line: 1207)
!1152 = !DISubprogram(name: "trunc", scope: !830, file: !830, line: 302, type: !831, flags: DIFlagPrototyped, spFlags: 0)
!1153 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1154, file: !833, line: 1208)
!1154 = !DISubprogram(name: "truncf", scope: !830, file: !830, line: 302, type: !895, flags: DIFlagPrototyped, spFlags: 0)
!1155 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1156, file: !833, line: 1209)
!1156 = !DISubprogram(name: "truncl", scope: !830, file: !830, line: 302, type: !899, flags: DIFlagPrototyped, spFlags: 0)
!1157 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1158, file: !1161, line: 58)
!1158 = !DIDerivedType(tag: DW_TAG_typedef, name: "fenv_t", file: !1159, line: 94, baseType: !1160)
!1159 = !DIFile(filename: "/usr/include/x86_64-linux-gnu/bits/fenv.h", directory: "")
!1160 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !1159, line: 75, flags: DIFlagFwdDecl, identifier: "_ZTS6fenv_t")
!1161 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/fenv.h", directory: "")
!1162 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1163, file: !1161, line: 59)
!1163 = !DIDerivedType(tag: DW_TAG_typedef, name: "fexcept_t", file: !1159, line: 68, baseType: !582)
!1164 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1165, file: !1161, line: 62)
!1165 = !DISubprogram(name: "feclearexcept", scope: !1166, file: !1166, line: 71, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!1166 = !DIFile(filename: "/usr/include/fenv.h", directory: "")
!1167 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1168, file: !1161, line: 63)
!1168 = !DISubprogram(name: "fegetexceptflag", scope: !1166, file: !1166, line: 75, type: !1169, flags: DIFlagPrototyped, spFlags: 0)
!1169 = !DISubroutineType(types: !1170)
!1170 = !{!18, !1171, !18}
!1171 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !1163, size: 64)
!1172 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1173, file: !1161, line: 64)
!1173 = !DISubprogram(name: "feraiseexcept", scope: !1166, file: !1166, line: 78, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!1174 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1175, file: !1161, line: 65)
!1175 = !DISubprogram(name: "fesetexceptflag", scope: !1166, file: !1166, line: 88, type: !1176, flags: DIFlagPrototyped, spFlags: 0)
!1176 = !DISubroutineType(types: !1177)
!1177 = !{!18, !1178, !18}
!1178 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !1179, size: 64)
!1179 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !1163)
!1180 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1181, file: !1161, line: 66)
!1181 = !DISubprogram(name: "fetestexcept", scope: !1166, file: !1166, line: 92, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!1182 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1183, file: !1161, line: 68)
!1183 = !DISubprogram(name: "fegetround", scope: !1166, file: !1166, line: 104, type: !129, flags: DIFlagPrototyped, spFlags: 0)
!1184 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1185, file: !1161, line: 69)
!1185 = !DISubprogram(name: "fesetround", scope: !1166, file: !1166, line: 107, type: !16, flags: DIFlagPrototyped, spFlags: 0)
!1186 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1187, file: !1161, line: 71)
!1187 = !DISubprogram(name: "fegetenv", scope: !1166, file: !1166, line: 114, type: !1188, flags: DIFlagPrototyped, spFlags: 0)
!1188 = !DISubroutineType(types: !1189)
!1189 = !{!18, !1190}
!1190 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !1158, size: 64)
!1191 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1192, file: !1161, line: 72)
!1192 = !DISubprogram(name: "feholdexcept", scope: !1166, file: !1166, line: 119, type: !1188, flags: DIFlagPrototyped, spFlags: 0)
!1193 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1194, file: !1161, line: 73)
!1194 = !DISubprogram(name: "fesetenv", scope: !1166, file: !1166, line: 123, type: !1195, flags: DIFlagPrototyped, spFlags: 0)
!1195 = !DISubroutineType(types: !1196)
!1196 = !{!18, !1197}
!1197 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !1198, size: 64)
!1198 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !1158)
!1199 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1200, file: !1161, line: 74)
!1200 = !DISubprogram(name: "feupdateenv", scope: !1166, file: !1166, line: 128, type: !1195, flags: DIFlagPrototyped, spFlags: 0)
!1201 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1158, file: !1202, line: 61)
!1202 = !DIFile(filename: "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/cfenv", directory: "")
!1203 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1163, file: !1202, line: 62)
!1204 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1165, file: !1202, line: 65)
!1205 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1168, file: !1202, line: 66)
!1206 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1173, file: !1202, line: 67)
!1207 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1175, file: !1202, line: 68)
!1208 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1181, file: !1202, line: 69)
!1209 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1183, file: !1202, line: 71)
!1210 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1185, file: !1202, line: 72)
!1211 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1187, file: !1202, line: 74)
!1212 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1192, file: !1202, line: 75)
!1213 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1194, file: !1202, line: 76)
!1214 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !11, entity: !1200, file: !1202, line: 77)
!1215 = !{!"base.helper.semantics"}
!1216 = !{i64 4100}
!1217 = !{!1218, !1218, i64 0}
!1218 = !{!"long", !1219, i64 0}
!1219 = !{!"omnipotent char", !1220, i64 0}
!1220 = !{!"Simple C++ TBAA"}
!1221 = !{!1222, !1219, i64 2065}
!1222 = !{!"_ZTS5State", !1219, i64 16, !1223, i64 2064, !1219, i64 2080, !1224, i64 2088, !1226, i64 2112, !1228, i64 2208, !1229, i64 2480, !1230, i64 2608, !1231, i64 2736, !1219, i64 2760, !1219, i64 2768, !1232, i64 3280}
!1223 = !{!"_ZTS10ArithFlags", !1219, i64 0, !1219, i64 1, !1219, i64 2, !1219, i64 3, !1219, i64 4, !1219, i64 5, !1219, i64 6, !1219, i64 7, !1219, i64 8, !1219, i64 9, !1219, i64 10, !1219, i64 11, !1219, i64 12, !1219, i64 13, !1219, i64 14, !1219, i64 15}
!1224 = !{!"_ZTS8Segments", !1225, i64 0, !1219, i64 2, !1225, i64 4, !1219, i64 6, !1225, i64 8, !1219, i64 10, !1225, i64 12, !1219, i64 14, !1225, i64 16, !1219, i64 18, !1225, i64 20, !1219, i64 22}
!1225 = !{!"short", !1219, i64 0}
!1226 = !{!"_ZTS12AddressSpace", !1218, i64 0, !1227, i64 8, !1218, i64 16, !1227, i64 24, !1218, i64 32, !1227, i64 40, !1218, i64 48, !1227, i64 56, !1218, i64 64, !1227, i64 72, !1218, i64 80, !1227, i64 88}
!1227 = !{!"_ZTS3Reg", !1219, i64 0}
!1228 = !{!"_ZTS3GPR", !1218, i64 0, !1227, i64 8, !1218, i64 16, !1227, i64 24, !1218, i64 32, !1227, i64 40, !1218, i64 48, !1227, i64 56, !1218, i64 64, !1227, i64 72, !1218, i64 80, !1227, i64 88, !1218, i64 96, !1227, i64 104, !1218, i64 112, !1227, i64 120, !1218, i64 128, !1227, i64 136, !1218, i64 144, !1227, i64 152, !1218, i64 160, !1227, i64 168, !1218, i64 176, !1227, i64 184, !1218, i64 192, !1227, i64 200, !1218, i64 208, !1227, i64 216, !1218, i64 224, !1227, i64 232, !1218, i64 240, !1227, i64 248, !1218, i64 256, !1227, i64 264}
!1229 = !{!"_ZTS8X87Stack", !1219, i64 0}
!1230 = !{!"_ZTS3MMX", !1219, i64 0}
!1231 = !{!"_ZTS14FPUStatusFlags", !1219, i64 0, !1219, i64 1, !1219, i64 2, !1219, i64 3, !1219, i64 4, !1219, i64 5, !1219, i64 6, !1219, i64 7, !1219, i64 8, !1219, i64 9, !1219, i64 10, !1219, i64 11, !1219, i64 12, !1219, i64 13, !1219, i64 14, !1219, i64 15, !1219, i64 16, !1219, i64 17, !1219, i64 18, !1219, i64 19, !1219, i64 20}
!1232 = !{!"_ZTS13SegmentCaches", !1233, i64 0, !1233, i64 16, !1233, i64 32, !1233, i64 48, !1233, i64 64, !1233, i64 80}
!1233 = !{!"_ZTS13SegmentShadow", !1219, i64 0, !1234, i64 8, !1234, i64 12}
!1234 = !{!"int", !1219, i64 0}
!1235 = !{i32 0, i32 9}
!1236 = !{!1222, !1219, i64 2067}
!1237 = !{!1222, !1219, i64 2071}
!1238 = !{!1222, !1219, i64 2073}
!1239 = !{!1222, !1219, i64 2077}
!1240 = !{!1222, !1219, i64 2069}
!1241 = !{i64 4116}
!1242 = !{i64 4118}
!1243 = !{!1244}
!1244 = distinct !{!1244, !1245, !"__mcsema_detach_call_value: %state"}
!1245 = distinct !{!1245, !"__mcsema_detach_call_value"}
!1246 = !{!1247}
!1247 = distinct !{!1247, !1245, !"__mcsema_detach_call_value: %memory"}
!1248 = !{i64 4461}
!1249 = !{!1219, !1219, i64 0}
!1250 = !{i64 4465}
!1251 = !{i64 4472}
!1252 = !{i64 4479}
!1253 = !{i64 4485}
!1254 = !{i64 4497}
!1255 = !{i64 4159}
!1256 = !{i64 4175}
!1257 = !{i64 4502}
!1258 = !{i64 4506}
!1259 = !{i64 4514}
!1260 = !{i64 4517}
!1261 = !{i64 4526}
!1262 = !{i64 4535}
!1263 = !{i64 4547}
!1264 = !{i64 4576}
!1265 = !{i64 4187}
!1266 = !{!1267}
!1267 = distinct !{!1267, !1268, !"__mcsema_detach_call_value: %state"}
!1268 = distinct !{!1268, !"__mcsema_detach_call_value"}
!1269 = !{!1270}
!1270 = distinct !{!1270, !1268, !"__mcsema_detach_call_value: %memory"}
!1271 = !{i64 4203}
!1272 = !{!1273}
!1273 = distinct !{!1273, !1274, !"__mcsema_detach_call_value: %state"}
!1274 = distinct !{!1274, !"__mcsema_detach_call_value"}
!1275 = !{!1276}
!1276 = distinct !{!1276, !1274, !"__mcsema_detach_call_value: %memory"}
!1277 = !{i64 4219}
!1278 = !{!1279}
!1279 = distinct !{!1279, !1280, !"__mcsema_detach_call_value: %state"}
!1280 = distinct !{!1280, !"__mcsema_detach_call_value"}
!1281 = !{!1282}
!1282 = distinct !{!1282, !1280, !"__mcsema_detach_call_value: %memory"}
!1283 = !{i64 4230}
!1284 = !{i64 4241}
!1285 = !{!1286}
!1286 = distinct !{!1286, !1287, !"__mcsema_detach_call_value: %state"}
!1287 = distinct !{!1287, !"__mcsema_detach_call_value"}
!1288 = !{!1289}
!1289 = distinct !{!1289, !1287, !"__mcsema_detach_call_value: %memory"}
!1290 = !{i64 4313}
!1291 = !{i64 4732}
!1292 = !{i64 4377}
!1293 = !{i64 4397}
!1294 = !{i64 4423}
!1295 = !{i64 4428}
!1296 = !{i64 4437}
!1297 = !{i64 4441}
!1298 = !{i64 4411}
!1299 = !{i64 4418}
!1300 = !{i64 4141}
!1301 = !{!1302}
!1302 = distinct !{!1302, !1303, !"__mcsema_detach_call_value: %state"}
!1303 = distinct !{!1303, !"__mcsema_detach_call_value"}
!1304 = !{!1305}
!1305 = distinct !{!1305, !1303, !"__mcsema_detach_call_value: %memory"}
!1306 = !{i64 4583}
!1307 = !{i64 4602}
!1308 = !{i64 4604}
!1309 = !{i64 4608}
!1310 = !{i64 4612}
!1311 = !{i64 4621}
!1312 = !{i64 4623}
!1313 = !{i64 4626}
!1314 = !{i64 4628}
!1315 = !{i64 4631}
!1316 = !{i64 4633}
!1317 = !{i64 4636}
!1318 = !{i64 4644}
!1319 = !{i64 4657}
!1320 = !{i64 4663}
!1321 = !{i64 4672}
!1322 = !{i64 4675}
!1323 = !{i64 4678}
!1324 = !{i64 4681}
!1325 = !{!1326}
!1326 = distinct !{!1326, !1327, !"__mcsema_detach_call_value: %state"}
!1327 = distinct !{!1327, !"__mcsema_detach_call_value"}
!1328 = !{!1329}
!1329 = distinct !{!1329, !1327, !"__mcsema_detach_call_value: %memory"}
!1330 = !{i64 4685}
!1331 = !{i64 4689}
!1332 = !{i64 4694}
!1333 = !{i64 4709}
!1334 = !{!"base.external.cfgexternal"}
!1335 = !{!"base.helper.mcsema"}
!1336 = !{!"base.entrypoint"}
!1337 = !{[4 x i8] c"EDI\00"}
!1338 = !{[4 x i8] c"RSI\00"}
!1339 = !{[4 x i8] c"RDX\00"}
!1340 = !{[4 x i8] c"RAX\00"}
!1341 = !{[4 x i8] c"RDI\00"}
!1342 = !{[4 x i8] c"RCX\00"}
!1343 = !{[3 x i8] c"R8\00"}
!1344 = !{[3 x i8] c"R9\00"}
!1345 = !{[4 x i8] c"RSP\00"}

@pgoodman
Copy link
Collaborator

That is very long :-P Do you have Binary Ninja? If you, you should try anvill.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants