; ModuleID = 'mcsema/test.proposed.inline.ll' source_filename = "llvm-link" target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-linux-gnu-elf" %__bss_start_type = type <{ [8 x i8] }> %G_0x62d784_type = type <{ [4 x i8] }> %G_0x62d788_type = type <{ [4 x i8] }> %G_0x62d78c_type = type <{ [4 x i8] }> %G_0x62d790_type = type <{ [4 x i8] }> %G_0x62d79c_type = type <{ [4 x i8] }> %G_0x62d7a0_type = type <{ [4 x i8] }> %G_0x62d7a4_type = type <{ [4 x i8] }> %G_0x62d7a8_type = type <{ [4 x i8] }> %G_0x62d7ac_type = type <{ [4 x i8] }> %G_0x62d7b0_type = type <{ [4 x i8] }> %G_0x62d7c4_type = type <{ [4 x i8] }> %G_0x62d7c8_type = type <{ [4 x i8] }> %G_0x62d7cc_type = type <{ [4 x i8] }> %G_0x62d7d0_type = type <{ [4 x i8] }> %G_0x62d7dc_type = type <{ [4 x i8] }> %G_0x62d7e0_type = type <{ [4 x i8] }> %G_0x62d7e4_type = type <{ [4 x i8] }> %G_0x62d7e8_type = type <{ [4 x i8] }> %G_0x62d7ec_type = type <{ [4 x i8] }> %G_0x62d7f0_type = type <{ [4 x i8] }> %G_0x85f154_type = type <{ [1 x i8] }> %G_0x86bd60_type = type <{ [4 x i8] }> %G_0x86bd74_type = type <{ [4 x i8] }> %G_0x86bd78_type = type <{ [4 x i8] }> %G_0x86bd90_type = type <{ [4 x i8] }> %G_0x886a60_type = type <{ [4 x i8] }> %G_0x886b84_type = type <{ [1 x i8] }> %G__0x427d10_type = type <{ [8 x i8] }> %G__0x42873b_type = type <{ [8 x i8] }> %G__0x428778_type = type <{ [8 x i8] }> %G__0x42877b_type = type <{ [8 x i8] }> %G__0x42877d_type = type <{ [8 x i8] }> %G__0x428810_type = type <{ [8 x i8] }> %G__0x428816_type = type <{ [8 x i8] }> %G__0x428851_type = type <{ [8 x i8] }> %G__0x428855_type = type <{ [8 x i8] }> %G__0x42888d_type = type <{ [8 x i8] }> %G__0x428890_type = type <{ [8 x i8] }> %G__0x4288af_type = type <{ [8 x i8] }> %G__0x4288b4_type = type <{ [8 x i8] }> %G__0x4288b9_type = type <{ [8 x i8] }> %G__0x4288dc_type = type <{ [8 x i8] }> %G__0x4288e1_type = type <{ [8 x i8] }> %G__0x428905_type = type <{ [8 x i8] }> %G__0x42890b_type = type <{ [8 x i8] }> %G__0x42892e_type = type <{ [8 x i8] }> %G__0x42893d_type = type <{ [8 x i8] }> %G__0x428942_type = type <{ [8 x i8] }> %G__0x42895d_type = type <{ [8 x i8] }> %G__0x42896b_type = type <{ [8 x i8] }> %G__0x428971_type = type <{ [8 x i8] }> %G__0x428973_type = type <{ [8 x i8] }> %G__0x428996_type = type <{ [8 x i8] }> %G__0x428997_type = type <{ [8 x i8] }> %G__0x428998_type = type <{ [8 x i8] }> %G__0x42899a_type = type <{ [4 x i8] }> %G__0x4289a0_type = type <{ [4 x i8] }> %G__0x4289d1_type = type <{ [4 x i8] }> %G__0x4289fd_type = type <{ [8 x i8] }> %G__0x428a1a_type = type <{ [8 x i8] }> %G__0x428a37_type = type <{ [8 x i8] }> %G__0x428a52_type = type <{ [8 x i8] }> %G__0x428a6e_type = type <{ [8 x i8] }> %G__0x428a89_type = type <{ [8 x i8] }> %G__0x428aa8_type = type <{ [8 x i8] }> %G__0x428ac4_type = type <{ [8 x i8] }> %G__0x428ae6_type = type <{ [8 x i8] }> %G__0x428ae7_type = type <{ [8 x i8] }> %G__0x428ae8_type = type <{ [8 x i8] }> %G__0x428aea_type = type <{ [4 x i8] }> %G__0x428b1f_type = type <{ [4 x i8] }> %G__0x428b53_type = type <{ [4 x i8] }> %G__0x428b82_type = type <{ [8 x i8] }> %G__0x428b84_type = type <{ [8 x i8] }> %G__0x428b94_type = type <{ [8 x i8] }> %G__0x428b9a_type = type <{ [8 x i8] }> %G__0x428b9f_type = type <{ [8 x i8] }> %G__0x428ba1_type = type <{ [8 x i8] }> %G__0x428baa_type = type <{ [8 x i8] }> %G__0x428be1_type = type <{ [8 x i8] }> %G__0x428bfb_type = type <{ [8 x i8] }> %G__0x428c00_type = type <{ [8 x i8] }> %G__0x428c1b_type = type <{ [8 x i8] }> %G__0x428c1e_type = type <{ [8 x i8] }> %G__0x428c21_type = type <{ [8 x i8] }> %G__0x428c27_type = type <{ [8 x i8] }> %G__0x428c41_type = type <{ [8 x i8] }> %G__0x428c49_type = type <{ [8 x i8] }> %G__0x428ca0_type = type <{ [8 x i8] }> %G__0x4294da_type = type <{ [8 x i8] }> %G__0x429aeb_type = type <{ [8 x i8] }> %G__0x429b31_type = type <{ [8 x i8] }> %G__0x429b3b_type = type <{ [8 x i8] }> %G__0x429b45_type = type <{ [8 x i8] }> %G__0x429b59_type = type <{ [8 x i8] }> %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 } %struct.Memory = type opaque @__bss_start = local_unnamed_addr global %__bss_start_type zeroinitializer @G_0x62d784 = local_unnamed_addr global %G_0x62d784_type zeroinitializer @G_0x62d788 = local_unnamed_addr global %G_0x62d788_type zeroinitializer @G_0x62d78c = local_unnamed_addr global %G_0x62d78c_type zeroinitializer @G_0x62d790 = local_unnamed_addr global %G_0x62d790_type zeroinitializer @G_0x62d79c = local_unnamed_addr global %G_0x62d79c_type zeroinitializer @G_0x62d7a0 = local_unnamed_addr global %G_0x62d7a0_type zeroinitializer @G_0x62d7a4 = local_unnamed_addr global %G_0x62d7a4_type zeroinitializer @G_0x62d7a8 = local_unnamed_addr global %G_0x62d7a8_type zeroinitializer @G_0x62d7ac = local_unnamed_addr global %G_0x62d7ac_type zeroinitializer @G_0x62d7b0 = local_unnamed_addr global %G_0x62d7b0_type zeroinitializer @G_0x62d7c4 = local_unnamed_addr global %G_0x62d7c4_type zeroinitializer @G_0x62d7c8 = local_unnamed_addr global %G_0x62d7c8_type zeroinitializer @G_0x62d7cc = local_unnamed_addr global %G_0x62d7cc_type zeroinitializer @G_0x62d7d0 = local_unnamed_addr global %G_0x62d7d0_type zeroinitializer @G_0x62d7dc = local_unnamed_addr global %G_0x62d7dc_type zeroinitializer @G_0x62d7e0 = local_unnamed_addr global %G_0x62d7e0_type zeroinitializer @G_0x62d7e4 = local_unnamed_addr global %G_0x62d7e4_type zeroinitializer @G_0x62d7e8 = local_unnamed_addr global %G_0x62d7e8_type zeroinitializer @G_0x62d7ec = local_unnamed_addr global %G_0x62d7ec_type zeroinitializer @G_0x62d7f0 = local_unnamed_addr global %G_0x62d7f0_type zeroinitializer @G_0x85f154 = local_unnamed_addr global %G_0x85f154_type zeroinitializer @G_0x86bd60 = local_unnamed_addr global %G_0x86bd60_type zeroinitializer @G_0x86bd74 = local_unnamed_addr global %G_0x86bd74_type zeroinitializer @G_0x86bd78 = local_unnamed_addr global %G_0x86bd78_type zeroinitializer @G_0x86bd90 = local_unnamed_addr global %G_0x86bd90_type zeroinitializer @G_0x886a60 = local_unnamed_addr global %G_0x886a60_type zeroinitializer @G_0x886b84 = local_unnamed_addr global %G_0x886b84_type zeroinitializer @G__0x427d10 = global %G__0x427d10_type zeroinitializer @G__0x42873b = global %G__0x42873b_type zeroinitializer @G__0x428778 = global %G__0x428778_type zeroinitializer @G__0x42877b = global %G__0x42877b_type zeroinitializer @G__0x42877d = global %G__0x42877d_type zeroinitializer @G__0x428810 = global %G__0x428810_type zeroinitializer @G__0x428816 = global %G__0x428816_type zeroinitializer @G__0x428851 = global %G__0x428851_type zeroinitializer @G__0x428855 = global %G__0x428855_type zeroinitializer @G__0x42888d = global %G__0x42888d_type zeroinitializer @G__0x428890 = global %G__0x428890_type zeroinitializer @G__0x4288af = global %G__0x4288af_type zeroinitializer @G__0x4288b4 = global %G__0x4288b4_type zeroinitializer @G__0x4288b9 = global %G__0x4288b9_type zeroinitializer @G__0x4288dc = global %G__0x4288dc_type zeroinitializer @G__0x4288e1 = global %G__0x4288e1_type zeroinitializer @G__0x428905 = global %G__0x428905_type zeroinitializer @G__0x42890b = global %G__0x42890b_type zeroinitializer @G__0x42892e = global %G__0x42892e_type zeroinitializer @G__0x42893d = global %G__0x42893d_type zeroinitializer @G__0x428942 = global %G__0x428942_type zeroinitializer @G__0x42895d = global %G__0x42895d_type zeroinitializer @G__0x42896b = global %G__0x42896b_type zeroinitializer @G__0x428971 = global %G__0x428971_type zeroinitializer @G__0x428973 = global %G__0x428973_type zeroinitializer @G__0x428996 = global %G__0x428996_type zeroinitializer @G__0x428997 = global %G__0x428997_type zeroinitializer @G__0x428998 = global %G__0x428998_type zeroinitializer @G__0x42899a = global %G__0x42899a_type zeroinitializer @G__0x4289a0 = global %G__0x4289a0_type zeroinitializer @G__0x4289d1 = global %G__0x4289d1_type zeroinitializer @G__0x4289fd = global %G__0x4289fd_type zeroinitializer @G__0x428a1a = global %G__0x428a1a_type zeroinitializer @G__0x428a37 = global %G__0x428a37_type zeroinitializer @G__0x428a52 = global %G__0x428a52_type zeroinitializer @G__0x428a6e = global %G__0x428a6e_type zeroinitializer @G__0x428a89 = global %G__0x428a89_type zeroinitializer @G__0x428aa8 = global %G__0x428aa8_type zeroinitializer @G__0x428ac4 = global %G__0x428ac4_type zeroinitializer @G__0x428ae6 = global %G__0x428ae6_type zeroinitializer @G__0x428ae7 = global %G__0x428ae7_type zeroinitializer @G__0x428ae8 = global %G__0x428ae8_type zeroinitializer @G__0x428aea = global %G__0x428aea_type zeroinitializer @G__0x428b1f = global %G__0x428b1f_type zeroinitializer @G__0x428b53 = global %G__0x428b53_type zeroinitializer @G__0x428b82 = global %G__0x428b82_type zeroinitializer @G__0x428b84 = global %G__0x428b84_type zeroinitializer @G__0x428b94 = global %G__0x428b94_type zeroinitializer @G__0x428b9a = global %G__0x428b9a_type zeroinitializer @G__0x428b9f = global %G__0x428b9f_type zeroinitializer @G__0x428ba1 = global %G__0x428ba1_type zeroinitializer @G__0x428baa = global %G__0x428baa_type zeroinitializer @G__0x428be1 = global %G__0x428be1_type zeroinitializer @G__0x428bfb = global %G__0x428bfb_type zeroinitializer @G__0x428c00 = global %G__0x428c00_type zeroinitializer @G__0x428c1b = global %G__0x428c1b_type zeroinitializer @G__0x428c1e = global %G__0x428c1e_type zeroinitializer @G__0x428c21 = global %G__0x428c21_type zeroinitializer @G__0x428c27 = global %G__0x428c27_type zeroinitializer @G__0x428c41 = global %G__0x428c41_type zeroinitializer @G__0x428c49 = global %G__0x428c49_type zeroinitializer @G__0x428ca0 = global %G__0x428ca0_type zeroinitializer @G__0x4294da = global %G__0x4294da_type zeroinitializer @G__0x429aeb = global %G__0x429aeb_type zeroinitializer @G__0x429b31 = global %G__0x429b31_type zeroinitializer @G__0x429b3b = global %G__0x429b3b_type zeroinitializer @G__0x429b45 = global %G__0x429b45_type zeroinitializer @G__0x429b59 = global %G__0x429b59_type zeroinitializer ; Function Attrs: nounwind readnone declare i32 @llvm.ctpop.i32(i32) #0 declare extern_weak x86_64_sysvcc i64 @memcpy(i64, i64, i64) declare extern_weak x86_64_sysvcc i64 @printf(i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64) declare extern_weak x86_64_sysvcc i64 @strcpy(i64, i64) declare extern_weak x86_64_sysvcc i64 @strncmp(i64, i64, i64) declare %struct.Memory* @__remill_function_call(%struct.State* dereferenceable(3376), i64, %struct.Memory*) local_unnamed_addr declare %struct.Memory* @sub_400df0.strstr_plt(%struct.State* noalias dereferenceable(3376), i64, %struct.Memory* noalias readnone returned) local_unnamed_addr declare %struct.Memory* @sub_410160.ResetHandValue(%struct.State* noalias dereferenceable(3376), i64, %struct.Memory* noalias readnone returned) local_unnamed_addr ; Function Attrs: alwaysinline define %struct.Memory* @HandlePtell(%struct.State* noalias, i64, %struct.Memory* noalias) local_unnamed_addr #1 { entry: %3 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 6, i32 33, i32 0, i32 0 %RBP.i = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 6, i32 15, i32 0, i32 0 %4 = load i64, i64* %RBP.i, align 8 %5 = add i64 %1, 1 store i64 %5, i64* %3, align 8 %6 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 6, i32 13, i32 0, i32 0 %7 = load i64, i64* %6, align 8 %8 = add i64 %7, -8 %9 = inttoptr i64 %8 to i64* store i64 %4, i64* %9, align 8 %10 = load i64, i64* %3, align 8 store i64 %8, i64* %RBP.i, align 8 %11 = add i64 %7, -296 store i64 %11, i64* %6, align 8 %12 = icmp ult i64 %8, 288 %13 = zext i1 %12 to i8 %14 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 2, i32 1 store i8 %13, i8* %14, align 1 %15 = trunc i64 %11 to i32 %16 = and i32 %15, 255 %17 = tail call i32 @llvm.ctpop.i32(i32 %16) %18 = trunc i32 %17 to i8 %19 = and i8 %18, 1 %20 = xor i8 %19, 1 %21 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 2, i32 3 store i8 %20, i8* %21, align 1 %22 = xor i64 %8, %11 %23 = lshr i64 %22, 4 %24 = trunc i64 %23 to i8 %25 = and i8 %24, 1 %26 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 2, i32 5 store i8 %25, i8* %26, align 1 %27 = icmp eq i64 %11, 0 %28 = zext i1 %27 to i8 %29 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 2, i32 7 store i8 %28, i8* %29, align 1 %30 = lshr i64 %11, 63 %31 = trunc i64 %30 to i8 %32 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 2, i32 9 store i8 %31, i8* %32, align 1 %33 = lshr i64 %8, 63 %34 = xor i64 %30, %33 %35 = add nuw nsw i64 %34, %33 %36 = icmp eq i64 %35, 2 %37 = zext i1 %36 to i8 %38 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 2, i32 13 store i8 %37, i8* %38, align 1 %RSI.i = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 6, i32 9, i32 0, i32 0 store i64 ptrtoint (%G__0x428778_type* @G__0x428778 to i64), i64* %RSI.i, align 8 %39 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 6, i32 1, i32 0 %RAX.i66 = getelementptr inbounds %union.anon, %union.anon* %39, i64 0, i32 0 %EAX.i76 = bitcast %union.anon* %39 to i32* %RDX.i = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 6, i32 7, i32 0, i32 0 store i64 4, i64* %RDX.i, align 8 %RCX.i96 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 6, i32 5, i32 0, i32 0 store i64 ptrtoint (%G__0x427d10_type* @G__0x427d10 to i64), i64* %RCX.i96, align 8 store i64 80, i64* %RAX.i66, align 8 %40 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 6, i32 17, i32 0, i32 0 store i64 80, i64* %40, align 8 %R9.i = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 6, i32 19, i32 0, i32 0 %41 = add i64 %7, -104 store i64 %41, i64* %R9.i, align 8 %RDI.i190 = getelementptr inbounds %struct.State, %struct.State* %0, i64 0, i32 6, i32 11, i32 0, i32 0 %42 = add i64 %7, -16 %43 = load i64, i64* %RDI.i190, align 8 %44 = add i64 %10, 53 store i64 %44, i64* %3, align 8 %45 = inttoptr i64 %42 to i64* store i64 %43, i64* %45, align 8 %46 = load i64, i64* %RBP.i, align 8 %47 = add i64 %46, -12 %48 = load i64, i64* %3, align 8 %49 = add i64 %48, 7 store i64 %49, i64* %3, align 8 %50 = inttoptr i64 %47 to i32* store i32 0, i32* %50, align 4 %51 = load i64, i64* %R9.i, align 8 %52 = load i64, i64* %3, align 8 store i64 %51, i64* %RDI.i190, align 8 %53 = load i64, i64* %RBP.i, align 8 %54 = add i64 %53, -104 %55 = load i64, i64* %RSI.i, align 8 %56 = add i64 %52, 7 store i64 %56, i64* %3, align 8 %57 = inttoptr i64 %54 to i64* store i64 %55, i64* %57, align 8 %58 = load i64, i64* %RCX.i96, align 8 %59 = load i64, i64* %3, align 8 store i64 %58, i64* %RSI.i, align 8 %60 = load i64, i64* %RBP.i, align 8 %61 = add i64 %60, -112 %62 = load i64, i64* %RDX.i, align 8 %63 = add i64 %59, 7 store i64 %63, i64* %3, align 8 %64 = inttoptr i64 %61 to i64* store i64 %62, i64* %64, align 8 %65 = load i64, i64* %40, align 8 %66 = load i64, i64* %3, align 8 store i64 %65, i64* %RDX.i, align 8 %67 = add i64 %66, -62939 %68 = add i64 %66, 8 %69 = load i64, i64* %6, align 8 %70 = add i64 %69, -8 %71 = inttoptr i64 %70 to i64* store i64 %68, i64* %71, align 8 store i64 %70, i64* %6, align 8 store i64 %67, i64* %3, align 8 %72 = tail call %struct.Memory* @__remill_function_call(%struct.State* %0, i64 ptrtoint (i64 (i64, i64, i64)* @memcpy to i64), %struct.Memory* %2) %73 = load i64, i64* %RBP.i, align 8 %74 = add i64 %73, -8 %75 = load i64, i64* %3, align 8 %76 = add i64 %75, 4 store i64 %76, i64* %3, align 8 %77 = inttoptr i64 %74 to i64* %78 = load i64, i64* %77, align 8 %79 = add i64 %78, 6 store i64 %79, i64* %RCX.i96, align 8 %80 = icmp ugt i64 %78, -7 %81 = zext i1 %80 to i8 store i8 %81, i8* %14, align 1 %82 = trunc i64 %79 to i32 %83 = and i32 %82, 255 %84 = tail call i32 @llvm.ctpop.i32(i32 %83) %85 = trunc i32 %84 to i8 %86 = and i8 %85, 1 %87 = xor i8 %86, 1 store i8 %87, i8* %21, align 1 %88 = xor i64 %79, %78 %89 = lshr i64 %88, 4 %90 = trunc i64 %89 to i8 %91 = and i8 %90, 1 store i8 %91, i8* %26, align 1 %92 = icmp eq i64 %79, 0 %93 = zext i1 %92 to i8 store i8 %93, i8* %29, align 1 %94 = lshr i64 %79, 63 %95 = trunc i64 %94 to i8 store i8 %95, i8* %32, align 1 %96 = lshr i64 %78, 63 %97 = xor i64 %94, %96 %98 = add nuw nsw i64 %97, %94 %99 = icmp eq i64 %98, 2 %100 = zext i1 %99 to i8 store i8 %100, i8* %38, align 1 store i64 %79, i64* %RDI.i190, align 8 %101 = add i64 %73, -104 %102 = add i64 %75, 15 store i64 %102, i64* %3, align 8 %103 = inttoptr i64 %101 to i64* %104 = load i64, i64* %103, align 8 store i64 %104, i64* %RSI.i, align 8 %105 = add i64 %73, -112 %106 = add i64 %75, 19 store i64 %106, i64* %3, align 8 %107 = inttoptr i64 %105 to i64* %108 = load i64, i64* %107, align 8 store i64 %108, i64* %RDX.i, align 8 %109 = add i64 %75, -63171 %110 = add i64 %75, 24 %111 = load i64, i64* %6, align 8 %112 = add i64 %111, -8 %113 = inttoptr i64 %112 to i64* store i64 %110, i64* %113, align 8 store i64 %112, i64* %6, align 8 store i64 %109, i64* %3, align 8 %114 = tail call %struct.Memory* @__remill_function_call(%struct.State* %0, i64 ptrtoint (i64 (i64, i64, i64)* @strncmp to i64), %struct.Memory* %72) %115 = load i32, i32* %EAX.i76, align 4 %116 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %117 = and i32 %115, 255 %118 = tail call i32 @llvm.ctpop.i32(i32 %117) %119 = trunc i32 %118 to i8 %120 = and i8 %119, 1 %121 = xor i8 %120, 1 store i8 %121, i8* %21, align 1 store i8 0, i8* %26, align 1 %122 = icmp eq i32 %115, 0 %123 = zext i1 %122 to i8 store i8 %123, i8* %29, align 1 %124 = lshr i32 %115, 31 %125 = trunc i32 %124 to i8 store i8 %125, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v = select i1 %122, i64 9, i64 34 %126 = add i64 %116, %.v store i64 %126, i64* %3, align 8 br i1 %122, label %block_410344, label %block_.L_41035d block_410344: ; preds = %entry store i64 ptrtoint (%G__0x42877d_type* @G__0x42877d to i64), i64* %RDI.i190, align 8 %AL.i1079 = bitcast %union.anon* %39 to i8* store i8 0, i8* %AL.i1079, align 1 %127 = add i64 %126, -63124 %128 = add i64 %126, 17 %129 = load i64, i64* %6, align 8 %130 = add i64 %129, -8 %131 = inttoptr i64 %130 to i64* store i64 %128, i64* %131, align 8 store i64 %130, i64* %6, align 8 store i64 %127, i64* %3, align 8 %132 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %114) %133 = load i64, i64* %RBP.i, align 8 %134 = add i64 %133, -116 %135 = load i32, i32* %EAX.i76, align 4 %136 = load i64, i64* %3, align 8 %137 = add i64 %136, 3 store i64 %137, i64* %3, align 8 %138 = inttoptr i64 %134 to i32* store i32 %135, i32* %138, align 4 %139 = load i64, i64* %3, align 8 %140 = add i64 %139, 5399 br label %block_.L_41186f block_.L_41035d: ; preds = %entry %141 = load i32, i32* bitcast (%G_0x85f154_type* @G_0x85f154 to i32*), align 8 %142 = add i32 %141, -1 %143 = icmp eq i32 %141, 0 %144 = zext i1 %143 to i8 store i8 %144, i8* %14, align 1 %145 = and i32 %142, 255 %146 = tail call i32 @llvm.ctpop.i32(i32 %145) %147 = trunc i32 %146 to i8 %148 = and i8 %147, 1 %149 = xor i8 %148, 1 store i8 %149, i8* %21, align 1 %150 = xor i32 %142, %141 %151 = lshr i32 %150, 4 %152 = trunc i32 %151 to i8 %153 = and i8 %152, 1 store i8 %153, i8* %26, align 1 %154 = icmp eq i32 %142, 0 %155 = zext i1 %154 to i8 store i8 %155, i8* %29, align 1 %156 = lshr i32 %142, 31 %157 = trunc i32 %156 to i8 store i8 %157, i8* %32, align 1 %158 = lshr i32 %141, 31 %159 = xor i32 %156, %158 %160 = add nuw nsw i32 %159, %158 %161 = icmp eq i32 %160, 2 %162 = zext i1 %161 to i8 store i8 %162, i8* %38, align 1 %.v118 = select i1 %154, i64 81, i64 14 %163 = add i64 %126, %.v118 store i64 %163, i64* %3, align 8 br i1 %154, label %block_.L_4103ae, label %block_41036b block_41036b: ; preds = %block_.L_41035d store i64 ptrtoint (%G__0x428810_type* @G__0x428810 to i64), i64* %RSI.i, align 8 store i64 5, i64* %RAX.i66, align 8 store i64 5, i64* %RDX.i, align 8 %164 = load i64, i64* %RBP.i, align 8 %165 = add i64 %164, -8 %166 = add i64 %163, 21 store i64 %166, i64* %3, align 8 %167 = inttoptr i64 %165 to i64* %168 = load i64, i64* %167, align 8 %169 = add i64 %168, 6 store i64 %169, i64* %RCX.i96, align 8 %170 = icmp ugt i64 %168, -7 %171 = zext i1 %170 to i8 store i8 %171, i8* %14, align 1 %172 = trunc i64 %169 to i32 %173 = and i32 %172, 255 %174 = tail call i32 @llvm.ctpop.i32(i32 %173) %175 = trunc i32 %174 to i8 %176 = and i8 %175, 1 %177 = xor i8 %176, 1 store i8 %177, i8* %21, align 1 %178 = xor i64 %169, %168 %179 = lshr i64 %178, 4 %180 = trunc i64 %179 to i8 %181 = and i8 %180, 1 store i8 %181, i8* %26, align 1 %182 = icmp eq i64 %169, 0 %183 = zext i1 %182 to i8 store i8 %183, i8* %29, align 1 %184 = lshr i64 %169, 63 %185 = trunc i64 %184 to i8 store i8 %185, i8* %32, align 1 %186 = lshr i64 %168, 63 %187 = xor i64 %184, %186 %188 = add nuw nsw i64 %187, %184 %189 = icmp eq i64 %188, 2 %190 = zext i1 %189 to i8 store i8 %190, i8* %38, align 1 store i64 %169, i64* %RDI.i190, align 8 %191 = add i64 %163, -63243 %192 = add i64 %163, 33 %193 = load i64, i64* %6, align 8 %194 = add i64 %193, -8 %195 = inttoptr i64 %194 to i64* store i64 %192, i64* %195, align 8 store i64 %194, i64* %6, align 8 store i64 %191, i64* %3, align 8 %196 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64)* @strncmp to i64), %struct.Memory* %114) %197 = load i32, i32* %EAX.i76, align 4 %198 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %199 = and i32 %197, 255 %200 = tail call i32 @llvm.ctpop.i32(i32 %199) %201 = trunc i32 %200 to i8 %202 = and i8 %201, 1 %203 = xor i8 %202, 1 store i8 %203, i8* %21, align 1 store i8 0, i8* %26, align 1 %204 = icmp eq i32 %197, 0 %205 = zext i1 %204 to i8 store i8 %205, i8* %29, align 1 %206 = lshr i32 %197, 31 %207 = trunc i32 %206 to i8 store i8 %207, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v119 = select i1 %204, i64 34, i64 9 %208 = add i64 %198, %.v119 store i64 %208, i64* %3, align 8 br i1 %204, label %block_.L_4103ae, label %block_410395 block_410395: ; preds = %block_41036b store i64 ptrtoint (%G__0x428816_type* @G__0x428816 to i64), i64* %RDI.i190, align 8 %AL.i1856 = bitcast %union.anon* %39 to i8* store i8 0, i8* %AL.i1856, align 1 %209 = add i64 %208, -63205 %210 = add i64 %208, 17 %211 = load i64, i64* %6, align 8 %212 = add i64 %211, -8 %213 = inttoptr i64 %212 to i64* store i64 %210, i64* %213, align 8 store i64 %212, i64* %6, align 8 store i64 %209, i64* %3, align 8 %214 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %196) %215 = load i64, i64* %RBP.i, align 8 %216 = add i64 %215, -120 %217 = load i32, i32* %EAX.i76, align 4 %218 = load i64, i64* %3, align 8 %219 = add i64 %218, 3 store i64 %219, i64* %3, align 8 %220 = inttoptr i64 %216 to i32* store i32 %217, i32* %220, align 4 %221 = load i64, i64* %3, align 8 %222 = add i64 %221, 5318 br label %block_.L_41186f block_.L_4103ae: ; preds = %block_41036b, %block_.L_41035d %223 = phi i64 [ %163, %block_.L_41035d ], [ %208, %block_41036b ] %MEMORY.0 = phi %struct.Memory* [ %114, %block_.L_41035d ], [ %196, %block_41036b ] store i64 ptrtoint (%G__0x428851_type* @G__0x428851 to i64), i64* %RSI.i, align 8 store i64 3, i64* %RAX.i66, align 8 store i64 3, i64* %RDX.i, align 8 %224 = load i64, i64* %RBP.i, align 8 %225 = add i64 %224, -8 %226 = add i64 %223, 21 store i64 %226, i64* %3, align 8 %227 = inttoptr i64 %225 to i64* %228 = load i64, i64* %227, align 8 %229 = add i64 %228, 6 store i64 %229, i64* %RCX.i96, align 8 %230 = icmp ugt i64 %228, -7 %231 = zext i1 %230 to i8 store i8 %231, i8* %14, align 1 %232 = trunc i64 %229 to i32 %233 = and i32 %232, 255 %234 = tail call i32 @llvm.ctpop.i32(i32 %233) %235 = trunc i32 %234 to i8 %236 = and i8 %235, 1 %237 = xor i8 %236, 1 store i8 %237, i8* %21, align 1 %238 = xor i64 %229, %228 %239 = lshr i64 %238, 4 %240 = trunc i64 %239 to i8 %241 = and i8 %240, 1 store i8 %241, i8* %26, align 1 %242 = icmp eq i64 %229, 0 %243 = zext i1 %242 to i8 store i8 %243, i8* %29, align 1 %244 = lshr i64 %229, 63 %245 = trunc i64 %244 to i8 store i8 %245, i8* %32, align 1 %246 = lshr i64 %228, 63 %247 = xor i64 %244, %246 %248 = add nuw nsw i64 %247, %244 %249 = icmp eq i64 %248, 2 %250 = zext i1 %249 to i8 store i8 %250, i8* %38, align 1 store i64 %229, i64* %RDI.i190, align 8 %251 = add i64 %223, -63310 %252 = add i64 %223, 33 %253 = load i64, i64* %6, align 8 %254 = add i64 %253, -8 %255 = inttoptr i64 %254 to i64* store i64 %252, i64* %255, align 8 store i64 %254, i64* %6, align 8 store i64 %251, i64* %3, align 8 %256 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64)* @strncmp to i64), %struct.Memory* %MEMORY.0) %257 = load i32, i32* %EAX.i76, align 4 %258 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %259 = and i32 %257, 255 %260 = tail call i32 @llvm.ctpop.i32(i32 %259) %261 = trunc i32 %260 to i8 %262 = and i8 %261, 1 %263 = xor i8 %262, 1 store i8 %263, i8* %21, align 1 store i8 0, i8* %26, align 1 %264 = icmp eq i32 %257, 0 %265 = zext i1 %264 to i8 store i8 %265, i8* %29, align 1 %266 = lshr i32 %257, 31 %267 = trunc i32 %266 to i8 store i8 %267, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v120 = select i1 %264, i64 9, i64 56 %268 = add i64 %258, %.v120 %269 = add i64 %268, 10 store i64 %269, i64* %3, align 8 br i1 %264, label %block_4103d8, label %block_.L_410407 block_4103d8: ; preds = %block_.L_4103ae store i64 ptrtoint (%G__0x428855_type* @G__0x428855 to i64), i64* %RDI.i190, align 8 %AL.i2038 = bitcast %union.anon* %39 to i8* store i8 0, i8* %AL.i2038, align 1 %270 = add i64 %268, -63272 %271 = add i64 %268, 17 %272 = load i64, i64* %6, align 8 %273 = add i64 %272, -8 %274 = inttoptr i64 %273 to i64* store i64 %271, i64* %274, align 8 store i64 %273, i64* %6, align 8 store i64 %270, i64* %3, align 8 %275 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %256) %276 = load i64, i64* %3, align 8 store i32 1, i32* bitcast (%G_0x86bd90_type* @G_0x86bd90 to i32*), align 8 store i32 0, i32* bitcast (%G_0x86bd60_type* @G_0x86bd60 to i32*), align 8 %277 = load i64, i64* %RBP.i, align 8 %278 = add i64 %277, -124 %279 = load i32, i32* %EAX.i76, align 4 %280 = add i64 %276, 25 store i64 %280, i64* %3, align 8 %281 = inttoptr i64 %278 to i32* store i32 %279, i32* %281, align 4 %282 = load i64, i64* %3, align 8 %283 = add i64 %282, 5224 br label %block_.L_41186a block_.L_410407: ; preds = %block_.L_4103ae store i64 ptrtoint (%G__0x42888d_type* @G__0x42888d to i64), i64* %RSI.i, align 8 store i64 2, i64* %RAX.i66, align 8 store i64 2, i64* %RDX.i, align 8 %284 = load i64, i64* %RBP.i, align 8 %285 = add i64 %284, -8 %286 = add i64 %268, 21 store i64 %286, i64* %3, align 8 %287 = inttoptr i64 %285 to i64* %288 = load i64, i64* %287, align 8 %289 = add i64 %288, 6 store i64 %289, i64* %RCX.i96, align 8 %290 = icmp ugt i64 %288, -7 %291 = zext i1 %290 to i8 store i8 %291, i8* %14, align 1 %292 = trunc i64 %289 to i32 %293 = and i32 %292, 255 %294 = tail call i32 @llvm.ctpop.i32(i32 %293) %295 = trunc i32 %294 to i8 %296 = and i8 %295, 1 %297 = xor i8 %296, 1 store i8 %297, i8* %21, align 1 %298 = xor i64 %289, %288 %299 = lshr i64 %298, 4 %300 = trunc i64 %299 to i8 %301 = and i8 %300, 1 store i8 %301, i8* %26, align 1 %302 = icmp eq i64 %289, 0 %303 = zext i1 %302 to i8 store i8 %303, i8* %29, align 1 %304 = lshr i64 %289, 63 %305 = trunc i64 %304 to i8 store i8 %305, i8* %32, align 1 %306 = lshr i64 %288, 63 %307 = xor i64 %304, %306 %308 = add nuw nsw i64 %307, %304 %309 = icmp eq i64 %308, 2 %310 = zext i1 %309 to i8 store i8 %310, i8* %38, align 1 store i64 %289, i64* %RDI.i190, align 8 %311 = add i64 %268, -63399 %312 = add i64 %268, 33 %313 = load i64, i64* %6, align 8 %314 = add i64 %313, -8 %315 = inttoptr i64 %314 to i64* store i64 %312, i64* %315, align 8 store i64 %314, i64* %6, align 8 store i64 %311, i64* %3, align 8 %316 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64)* @strncmp to i64), %struct.Memory* %256) %317 = load i32, i32* %EAX.i76, align 4 %318 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %319 = and i32 %317, 255 %320 = tail call i32 @llvm.ctpop.i32(i32 %319) %321 = trunc i32 %320 to i8 %322 = and i8 %321, 1 %323 = xor i8 %322, 1 store i8 %323, i8* %21, align 1 store i8 0, i8* %26, align 1 %324 = icmp eq i32 %317, 0 %325 = zext i1 %324 to i8 store i8 %325, i8* %29, align 1 %326 = lshr i32 %317, 31 %327 = trunc i32 %326 to i8 store i8 %327, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v121 = select i1 %324, i64 51, i64 9 %328 = add i64 %318, %.v121 store i64 %328, i64* %3, align 8 br i1 %324, label %block_.L_41045b, label %block_410431 block_410431: ; preds = %block_.L_410407 store i64 ptrtoint (%G__0x4294da_type* @G__0x4294da to i64), i64* %RSI.i, align 8 store i64 4, i64* %RAX.i66, align 8 store i64 4, i64* %RDX.i, align 8 %329 = load i64, i64* %RBP.i, align 8 %330 = add i64 %329, -8 %331 = add i64 %328, 21 store i64 %331, i64* %3, align 8 %332 = inttoptr i64 %330 to i64* %333 = load i64, i64* %332, align 8 %334 = add i64 %333, 6 store i64 %334, i64* %RCX.i96, align 8 %335 = icmp ugt i64 %333, -7 %336 = zext i1 %335 to i8 store i8 %336, i8* %14, align 1 %337 = trunc i64 %334 to i32 %338 = and i32 %337, 255 %339 = tail call i32 @llvm.ctpop.i32(i32 %338) %340 = trunc i32 %339 to i8 %341 = and i8 %340, 1 %342 = xor i8 %341, 1 store i8 %342, i8* %21, align 1 %343 = xor i64 %334, %333 %344 = lshr i64 %343, 4 %345 = trunc i64 %344 to i8 %346 = and i8 %345, 1 store i8 %346, i8* %26, align 1 %347 = icmp eq i64 %334, 0 %348 = zext i1 %347 to i8 store i8 %348, i8* %29, align 1 %349 = lshr i64 %334, 63 %350 = trunc i64 %349 to i8 store i8 %350, i8* %32, align 1 %351 = lshr i64 %333, 63 %352 = xor i64 %349, %351 %353 = add nuw nsw i64 %352, %349 %354 = icmp eq i64 %353, 2 %355 = zext i1 %354 to i8 store i8 %355, i8* %38, align 1 store i64 %334, i64* %RDI.i190, align 8 %356 = add i64 %328, -63441 %357 = add i64 %328, 33 %358 = load i64, i64* %6, align 8 %359 = add i64 %358, -8 %360 = inttoptr i64 %359 to i64* store i64 %357, i64* %360, align 8 store i64 %359, i64* %6, align 8 store i64 %356, i64* %3, align 8 %361 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64)* @strncmp to i64), %struct.Memory* %316) %362 = load i32, i32* %EAX.i76, align 4 %363 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %364 = and i32 %362, 255 %365 = tail call i32 @llvm.ctpop.i32(i32 %364) %366 = trunc i32 %365 to i8 %367 = and i8 %366, 1 %368 = xor i8 %367, 1 store i8 %368, i8* %21, align 1 store i8 0, i8* %26, align 1 %369 = icmp eq i32 %362, 0 %370 = zext i1 %369 to i8 store i8 %370, i8* %29, align 1 %371 = lshr i32 %362, 31 %372 = trunc i32 %371 to i8 store i8 %372, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v122 = select i1 %369, i64 9, i64 56 %373 = add i64 %363, %.v122 store i64 %373, i64* %3, align 8 br i1 %369, label %block_.L_41045b, label %block_.L_41048a block_.L_41045b: ; preds = %block_410431, %block_.L_410407 %374 = phi i64 [ %328, %block_.L_410407 ], [ %373, %block_410431 ] %MEMORY.1 = phi %struct.Memory* [ %316, %block_.L_410407 ], [ %361, %block_410431 ] store i64 ptrtoint (%G__0x428890_type* @G__0x428890 to i64), i64* %RDI.i190, align 8 %AL.i1983 = bitcast %union.anon* %39 to i8* store i8 0, i8* %AL.i1983, align 1 %375 = add i64 %374, -63403 %376 = add i64 %374, 17 %377 = load i64, i64* %6, align 8 %378 = add i64 %377, -8 %379 = inttoptr i64 %378 to i64* store i64 %376, i64* %379, align 8 store i64 %378, i64* %6, align 8 store i64 %375, i64* %3, align 8 %380 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %MEMORY.1) %381 = load i64, i64* %3, align 8 store i32 0, i32* bitcast (%G_0x86bd90_type* @G_0x86bd90 to i32*), align 8 store i32 4, i32* bitcast (%G_0x86bd60_type* @G_0x86bd60 to i32*), align 8 %382 = load i64, i64* %RBP.i, align 8 %383 = add i64 %382, -128 %384 = load i32, i32* %EAX.i76, align 4 %385 = add i64 %381, 25 store i64 %385, i64* %3, align 8 %386 = inttoptr i64 %383 to i32* store i32 %384, i32* %386, align 4 %387 = load i64, i64* %3, align 8 %388 = add i64 %387, 5088 br label %block_.L_411865 block_.L_41048a: ; preds = %block_410431 store i64 ptrtoint (%G__0x4288af_type* @G__0x4288af to i64), i64* %RSI.i, align 8 store i64 4, i64* %RAX.i66, align 8 store i64 4, i64* %RDX.i, align 8 %389 = load i64, i64* %RBP.i, align 8 %390 = add i64 %389, -8 %391 = add i64 %373, 21 store i64 %391, i64* %3, align 8 %392 = inttoptr i64 %390 to i64* %393 = load i64, i64* %392, align 8 %394 = add i64 %393, 6 store i64 %394, i64* %RCX.i96, align 8 %395 = icmp ugt i64 %393, -7 %396 = zext i1 %395 to i8 store i8 %396, i8* %14, align 1 %397 = trunc i64 %394 to i32 %398 = and i32 %397, 255 %399 = tail call i32 @llvm.ctpop.i32(i32 %398) %400 = trunc i32 %399 to i8 %401 = and i8 %400, 1 %402 = xor i8 %401, 1 store i8 %402, i8* %21, align 1 %403 = xor i64 %394, %393 %404 = lshr i64 %403, 4 %405 = trunc i64 %404 to i8 %406 = and i8 %405, 1 store i8 %406, i8* %26, align 1 %407 = icmp eq i64 %394, 0 %408 = zext i1 %407 to i8 store i8 %408, i8* %29, align 1 %409 = lshr i64 %394, 63 %410 = trunc i64 %409 to i8 store i8 %410, i8* %32, align 1 %411 = lshr i64 %393, 63 %412 = xor i64 %409, %411 %413 = add nuw nsw i64 %412, %409 %414 = icmp eq i64 %413, 2 %415 = zext i1 %414 to i8 store i8 %415, i8* %38, align 1 store i64 %394, i64* %RDI.i190, align 8 %416 = add i64 %373, -63530 %417 = add i64 %373, 33 %418 = load i64, i64* %6, align 8 %419 = add i64 %418, -8 %420 = inttoptr i64 %419 to i64* store i64 %417, i64* %420, align 8 store i64 %419, i64* %6, align 8 store i64 %416, i64* %3, align 8 %421 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64)* @strncmp to i64), %struct.Memory* %361) %422 = load i32, i32* %EAX.i76, align 4 %423 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %424 = and i32 %422, 255 %425 = tail call i32 @llvm.ctpop.i32(i32 %424) %426 = trunc i32 %425 to i8 %427 = and i8 %426, 1 %428 = xor i8 %427, 1 store i8 %428, i8* %21, align 1 store i8 0, i8* %26, align 1 %429 = icmp eq i32 %422, 0 %430 = zext i1 %429 to i8 store i8 %430, i8* %29, align 1 %431 = lshr i32 %422, 31 %432 = trunc i32 %431 to i8 store i8 %432, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v123 = select i1 %429, i64 51, i64 9 %433 = add i64 %423, %.v123 store i64 %433, i64* %3, align 8 br i1 %429, label %block_.L_4104de, label %block_4104b4 block_4104b4: ; preds = %block_.L_41048a store i64 ptrtoint (%G__0x4288b4_type* @G__0x4288b4 to i64), i64* %RSI.i, align 8 store i64 4, i64* %RAX.i66, align 8 store i64 4, i64* %RDX.i, align 8 %434 = load i64, i64* %RBP.i, align 8 %435 = add i64 %434, -8 %436 = add i64 %433, 21 store i64 %436, i64* %3, align 8 %437 = inttoptr i64 %435 to i64* %438 = load i64, i64* %437, align 8 %439 = add i64 %438, 6 store i64 %439, i64* %RCX.i96, align 8 %440 = icmp ugt i64 %438, -7 %441 = zext i1 %440 to i8 store i8 %441, i8* %14, align 1 %442 = trunc i64 %439 to i32 %443 = and i32 %442, 255 %444 = tail call i32 @llvm.ctpop.i32(i32 %443) %445 = trunc i32 %444 to i8 %446 = and i8 %445, 1 %447 = xor i8 %446, 1 store i8 %447, i8* %21, align 1 %448 = xor i64 %439, %438 %449 = lshr i64 %448, 4 %450 = trunc i64 %449 to i8 %451 = and i8 %450, 1 store i8 %451, i8* %26, align 1 %452 = icmp eq i64 %439, 0 %453 = zext i1 %452 to i8 store i8 %453, i8* %29, align 1 %454 = lshr i64 %439, 63 %455 = trunc i64 %454 to i8 store i8 %455, i8* %32, align 1 %456 = lshr i64 %438, 63 %457 = xor i64 %454, %456 %458 = add nuw nsw i64 %457, %454 %459 = icmp eq i64 %458, 2 %460 = zext i1 %459 to i8 store i8 %460, i8* %38, align 1 store i64 %439, i64* %RDI.i190, align 8 %461 = add i64 %433, -63572 %462 = add i64 %433, 33 %463 = load i64, i64* %6, align 8 %464 = add i64 %463, -8 %465 = inttoptr i64 %464 to i64* store i64 %462, i64* %465, align 8 store i64 %464, i64* %6, align 8 store i64 %461, i64* %3, align 8 %466 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64)* @strncmp to i64), %struct.Memory* %421) %467 = load i32, i32* %EAX.i76, align 4 %468 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %469 = and i32 %467, 255 %470 = tail call i32 @llvm.ctpop.i32(i32 %469) %471 = trunc i32 %470 to i8 %472 = and i8 %471, 1 %473 = xor i8 %472, 1 store i8 %473, i8* %21, align 1 store i8 0, i8* %26, align 1 %474 = icmp eq i32 %467, 0 %475 = zext i1 %474 to i8 store i8 %475, i8* %29, align 1 %476 = lshr i32 %467, 31 %477 = trunc i32 %476 to i8 store i8 %477, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v124 = select i1 %474, i64 9, i64 59 %478 = add i64 %468, %.v124 store i64 %478, i64* %3, align 8 br i1 %474, label %block_.L_4104de, label %block_.L_410510 block_.L_4104de: ; preds = %block_4104b4, %block_.L_41048a %479 = phi i64 [ %433, %block_.L_41048a ], [ %478, %block_4104b4 ] %MEMORY.2 = phi %struct.Memory* [ %421, %block_.L_41048a ], [ %466, %block_4104b4 ] store i64 ptrtoint (%G__0x4288b9_type* @G__0x4288b9 to i64), i64* %RDI.i190, align 8 %AL.i1926 = bitcast %union.anon* %39 to i8* store i8 0, i8* %AL.i1926, align 1 %480 = add i64 %479, -63534 %481 = add i64 %479, 17 %482 = load i64, i64* %6, align 8 %483 = add i64 %482, -8 %484 = inttoptr i64 %483 to i64* store i64 %481, i64* %484, align 8 store i64 %483, i64* %6, align 8 store i64 %480, i64* %3, align 8 %485 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %MEMORY.2) %486 = load i64, i64* %3, align 8 store i32 1, i32* bitcast (%G_0x886a60_type* @G_0x886a60 to i32*), align 8 store i32 0, i32* bitcast (%G_0x86bd90_type* @G_0x86bd90 to i32*), align 8 %487 = load i64, i64* %RBP.i, align 8 %488 = add i64 %487, -132 %489 = load i32, i32* %EAX.i76, align 4 %490 = add i64 %486, 28 store i64 %490, i64* %3, align 8 %491 = inttoptr i64 %488 to i32* store i32 %489, i32* %491, align 4 %492 = load i64, i64* %3, align 8 %493 = add i64 %492, 4949 br label %block_.L_411860 block_.L_410510: ; preds = %block_4104b4 store i64 ptrtoint (%G__0x4288dc_type* @G__0x4288dc to i64), i64* %RSI.i, align 8 store i64 4, i64* %RAX.i66, align 8 store i64 4, i64* %RDX.i, align 8 %494 = load i64, i64* %RBP.i, align 8 %495 = add i64 %494, -8 %496 = add i64 %478, 21 store i64 %496, i64* %3, align 8 %497 = inttoptr i64 %495 to i64* %498 = load i64, i64* %497, align 8 %499 = add i64 %498, 6 store i64 %499, i64* %RCX.i96, align 8 %500 = icmp ugt i64 %498, -7 %501 = zext i1 %500 to i8 store i8 %501, i8* %14, align 1 %502 = trunc i64 %499 to i32 %503 = and i32 %502, 255 %504 = tail call i32 @llvm.ctpop.i32(i32 %503) %505 = trunc i32 %504 to i8 %506 = and i8 %505, 1 %507 = xor i8 %506, 1 store i8 %507, i8* %21, align 1 %508 = xor i64 %499, %498 %509 = lshr i64 %508, 4 %510 = trunc i64 %509 to i8 %511 = and i8 %510, 1 store i8 %511, i8* %26, align 1 %512 = icmp eq i64 %499, 0 %513 = zext i1 %512 to i8 store i8 %513, i8* %29, align 1 %514 = lshr i64 %499, 63 %515 = trunc i64 %514 to i8 store i8 %515, i8* %32, align 1 %516 = lshr i64 %498, 63 %517 = xor i64 %514, %516 %518 = add nuw nsw i64 %517, %514 %519 = icmp eq i64 %518, 2 %520 = zext i1 %519 to i8 store i8 %520, i8* %38, align 1 store i64 %499, i64* %RDI.i190, align 8 %521 = add i64 %478, -63664 %522 = add i64 %478, 33 %523 = load i64, i64* %6, align 8 %524 = add i64 %523, -8 %525 = inttoptr i64 %524 to i64* store i64 %522, i64* %525, align 8 store i64 %524, i64* %6, align 8 store i64 %521, i64* %3, align 8 %526 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64)* @strncmp to i64), %struct.Memory* %466) %527 = load i32, i32* %EAX.i76, align 4 %528 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %529 = and i32 %527, 255 %530 = tail call i32 @llvm.ctpop.i32(i32 %529) %531 = trunc i32 %530 to i8 %532 = and i8 %531, 1 %533 = xor i8 %532, 1 store i8 %533, i8* %21, align 1 store i8 0, i8* %26, align 1 %534 = icmp eq i32 %527, 0 %535 = zext i1 %534 to i8 store i8 %535, i8* %29, align 1 %536 = lshr i32 %527, 31 %537 = trunc i32 %536 to i8 store i8 %537, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v125 = select i1 %534, i64 9, i64 59 %538 = add i64 %528, %.v125 %539 = add i64 %538, 10 store i64 %539, i64* %3, align 8 br i1 %534, label %block_41053a, label %block_.L_41056c block_41053a: ; preds = %block_.L_410510 store i64 ptrtoint (%G__0x4288e1_type* @G__0x4288e1 to i64), i64* %RDI.i190, align 8 %AL.i1893 = bitcast %union.anon* %39 to i8* store i8 0, i8* %AL.i1893, align 1 %540 = add i64 %538, -63626 %541 = add i64 %538, 17 %542 = load i64, i64* %6, align 8 %543 = add i64 %542, -8 %544 = inttoptr i64 %543 to i64* store i64 %541, i64* %544, align 8 store i64 %543, i64* %6, align 8 store i64 %540, i64* %3, align 8 %545 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %526) %546 = load i64, i64* %3, align 8 store i32 0, i32* bitcast (%G_0x886a60_type* @G_0x886a60 to i32*), align 8 store i32 0, i32* bitcast (%G_0x86bd90_type* @G_0x86bd90 to i32*), align 8 %547 = load i64, i64* %RBP.i, align 8 %548 = add i64 %547, -136 %549 = load i32, i32* %EAX.i76, align 4 %550 = add i64 %546, 28 store i64 %550, i64* %3, align 8 %551 = inttoptr i64 %548 to i32* store i32 %549, i32* %551, align 4 %552 = load i64, i64* %3, align 8 %553 = add i64 %552, 4852 br label %block_.L_41185b block_.L_41056c: ; preds = %block_.L_410510 store i64 ptrtoint (%G__0x428905_type* @G__0x428905 to i64), i64* %RSI.i, align 8 store i64 5, i64* %RAX.i66, align 8 store i64 5, i64* %RDX.i, align 8 %554 = load i64, i64* %RBP.i, align 8 %555 = add i64 %554, -8 %556 = add i64 %538, 21 store i64 %556, i64* %3, align 8 %557 = inttoptr i64 %555 to i64* %558 = load i64, i64* %557, align 8 %559 = add i64 %558, 6 store i64 %559, i64* %RCX.i96, align 8 %560 = icmp ugt i64 %558, -7 %561 = zext i1 %560 to i8 store i8 %561, i8* %14, align 1 %562 = trunc i64 %559 to i32 %563 = and i32 %562, 255 %564 = tail call i32 @llvm.ctpop.i32(i32 %563) %565 = trunc i32 %564 to i8 %566 = and i8 %565, 1 %567 = xor i8 %566, 1 store i8 %567, i8* %21, align 1 %568 = xor i64 %559, %558 %569 = lshr i64 %568, 4 %570 = trunc i64 %569 to i8 %571 = and i8 %570, 1 store i8 %571, i8* %26, align 1 %572 = icmp eq i64 %559, 0 %573 = zext i1 %572 to i8 store i8 %573, i8* %29, align 1 %574 = lshr i64 %559, 63 %575 = trunc i64 %574 to i8 store i8 %575, i8* %32, align 1 %576 = lshr i64 %558, 63 %577 = xor i64 %574, %576 %578 = add nuw nsw i64 %577, %574 %579 = icmp eq i64 %578, 2 %580 = zext i1 %579 to i8 store i8 %580, i8* %38, align 1 store i64 %559, i64* %RDI.i190, align 8 %581 = add i64 %538, -63756 %582 = add i64 %538, 33 %583 = load i64, i64* %6, align 8 %584 = add i64 %583, -8 %585 = inttoptr i64 %584 to i64* store i64 %582, i64* %585, align 8 store i64 %584, i64* %6, align 8 store i64 %581, i64* %3, align 8 %586 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64)* @strncmp to i64), %struct.Memory* %526) %587 = load i32, i32* %EAX.i76, align 4 %588 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %589 = and i32 %587, 255 %590 = tail call i32 @llvm.ctpop.i32(i32 %589) %591 = trunc i32 %590 to i8 %592 = and i8 %591, 1 %593 = xor i8 %592, 1 store i8 %593, i8* %21, align 1 store i8 0, i8* %26, align 1 %594 = icmp eq i32 %587, 0 %595 = zext i1 %594 to i8 store i8 %595, i8* %29, align 1 %596 = lshr i32 %587, 31 %597 = trunc i32 %596 to i8 store i8 %597, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v126 = select i1 %594, i64 9, i64 60 %598 = add i64 %588, %.v126 %599 = add i64 %598, 10 store i64 %599, i64* %3, align 8 br i1 %594, label %block_410596, label %block_.L_4105c9 block_410596: ; preds = %block_.L_41056c store i64 ptrtoint (%G__0x42890b_type* @G__0x42890b to i64), i64* %RDI.i190, align 8 %AL.i1859 = bitcast %union.anon* %39 to i8* store i8 0, i8* %AL.i1859, align 1 %600 = add i64 %598, -63718 %601 = add i64 %598, 17 %602 = load i64, i64* %6, align 8 %603 = add i64 %602, -8 %604 = inttoptr i64 %603 to i64* store i64 %601, i64* %604, align 8 store i64 %603, i64* %6, align 8 store i64 %600, i64* %3, align 8 %605 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %586) %606 = load i64, i64* %3, align 8 store i64 ptrtoint (%G__0x42892e_type* @G__0x42892e to i64), i64* %RDI.i190, align 8 %607 = load i64, i64* %RBP.i, align 8 %608 = add i64 %607, -140 %609 = load i32, i32* %EAX.i76, align 4 %610 = add i64 %606, 16 store i64 %610, i64* %3, align 8 %611 = inttoptr i64 %608 to i32* store i32 %609, i32* %611, align 4 %612 = load i64, i64* %3, align 8 store i8 0, i8* %AL.i1859, align 1 %613 = add i64 %612, -63751 %614 = add i64 %612, 7 %615 = load i64, i64* %6, align 8 %616 = add i64 %615, -8 %617 = inttoptr i64 %616 to i64* store i64 %614, i64* %617, align 8 store i64 %616, i64* %6, align 8 store i64 %613, i64* %3, align 8 %618 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %605) %619 = load i64, i64* %RBP.i, align 8 %620 = add i64 %619, -144 %621 = load i32, i32* %EAX.i76, align 4 %622 = load i64, i64* %3, align 8 %623 = add i64 %622, 6 store i64 %623, i64* %3, align 8 %624 = inttoptr i64 %620 to i32* store i32 %621, i32* %624, align 4 %625 = load i64, i64* %3, align 8 %626 = add i64 %625, 4754 br label %block_.L_411856 block_.L_4105c9: ; preds = %block_.L_41056c store i64 ptrtoint (%G__0x42893d_type* @G__0x42893d to i64), i64* %RSI.i, align 8 store i64 4, i64* %RAX.i66, align 8 store i64 4, i64* %RDX.i, align 8 %627 = load i64, i64* %RBP.i, align 8 %628 = add i64 %627, -8 %629 = add i64 %598, 21 store i64 %629, i64* %3, align 8 %630 = inttoptr i64 %628 to i64* %631 = load i64, i64* %630, align 8 %632 = add i64 %631, 6 store i64 %632, i64* %RCX.i96, align 8 %633 = icmp ugt i64 %631, -7 %634 = zext i1 %633 to i8 store i8 %634, i8* %14, align 1 %635 = trunc i64 %632 to i32 %636 = and i32 %635, 255 %637 = tail call i32 @llvm.ctpop.i32(i32 %636) %638 = trunc i32 %637 to i8 %639 = and i8 %638, 1 %640 = xor i8 %639, 1 store i8 %640, i8* %21, align 1 %641 = xor i64 %632, %631 %642 = lshr i64 %641, 4 %643 = trunc i64 %642 to i8 %644 = and i8 %643, 1 store i8 %644, i8* %26, align 1 %645 = icmp eq i64 %632, 0 %646 = zext i1 %645 to i8 store i8 %646, i8* %29, align 1 %647 = lshr i64 %632, 63 %648 = trunc i64 %647 to i8 store i8 %648, i8* %32, align 1 %649 = lshr i64 %631, 63 %650 = xor i64 %647, %649 %651 = add nuw nsw i64 %650, %647 %652 = icmp eq i64 %651, 2 %653 = zext i1 %652 to i8 store i8 %653, i8* %38, align 1 store i64 %632, i64* %RDI.i190, align 8 %654 = add i64 %598, -63849 %655 = add i64 %598, 33 %656 = load i64, i64* %6, align 8 %657 = add i64 %656, -8 %658 = inttoptr i64 %657 to i64* store i64 %655, i64* %658, align 8 store i64 %657, i64* %6, align 8 store i64 %654, i64* %3, align 8 %659 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64)* @strncmp to i64), %struct.Memory* %586) %660 = load i32, i32* %EAX.i76, align 4 %661 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %662 = and i32 %660, 255 %663 = tail call i32 @llvm.ctpop.i32(i32 %662) %664 = trunc i32 %663 to i8 %665 = and i8 %664, 1 %666 = xor i8 %665, 1 store i8 %666, i8* %21, align 1 store i8 0, i8* %26, align 1 %667 = icmp eq i32 %660, 0 %668 = zext i1 %667 to i8 store i8 %668, i8* %29, align 1 %669 = lshr i32 %660, 31 %670 = trunc i32 %669 to i8 store i8 %670, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v127 = select i1 %667, i64 9, i64 60 %671 = add i64 %661, %.v127 %672 = add i64 %671, 10 store i64 %672, i64* %3, align 8 br i1 %667, label %block_4105f3, label %block_.L_410626 block_4105f3: ; preds = %block_.L_4105c9 store i64 ptrtoint (%G__0x428942_type* @G__0x428942 to i64), i64* %RDI.i190, align 8 %AL.i1818 = bitcast %union.anon* %39 to i8* store i8 0, i8* %AL.i1818, align 1 %673 = add i64 %671, -63811 %674 = add i64 %671, 17 %675 = load i64, i64* %6, align 8 %676 = add i64 %675, -8 %677 = inttoptr i64 %676 to i64* store i64 %674, i64* %677, align 8 store i64 %676, i64* %6, align 8 store i64 %673, i64* %3, align 8 %678 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %659) %679 = load i64, i64* %3, align 8 store i64 ptrtoint (%G__0x42895d_type* @G__0x42895d to i64), i64* %RDI.i190, align 8 %680 = load i64, i64* %RBP.i, align 8 %681 = add i64 %680, -148 %682 = load i32, i32* %EAX.i76, align 4 %683 = add i64 %679, 16 store i64 %683, i64* %3, align 8 %684 = inttoptr i64 %681 to i32* store i32 %682, i32* %684, align 4 %685 = load i64, i64* %3, align 8 store i8 0, i8* %AL.i1818, align 1 %686 = add i64 %685, -63844 %687 = add i64 %685, 7 %688 = load i64, i64* %6, align 8 %689 = add i64 %688, -8 %690 = inttoptr i64 %689 to i64* store i64 %687, i64* %690, align 8 store i64 %689, i64* %6, align 8 store i64 %686, i64* %3, align 8 %691 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %678) %692 = load i64, i64* %RBP.i, align 8 %693 = add i64 %692, -152 %694 = load i32, i32* %EAX.i76, align 4 %695 = load i64, i64* %3, align 8 %696 = add i64 %695, 6 store i64 %696, i64* %3, align 8 %697 = inttoptr i64 %693 to i32* store i32 %694, i32* %697, align 4 %698 = load i64, i64* %3, align 8 %699 = add i64 %698, 4656 br label %block_.L_411851 block_.L_410626: ; preds = %block_.L_4105c9 store i64 ptrtoint (%G__0x428998_type* @G__0x428998 to i64), i64* %RSI.i, align 8 store i64 1, i64* %RAX.i66, align 8 store i64 1, i64* %RDX.i, align 8 %700 = load i64, i64* %RBP.i, align 8 %701 = add i64 %700, -8 %702 = add i64 %671, 21 store i64 %702, i64* %3, align 8 %703 = inttoptr i64 %701 to i64* %704 = load i64, i64* %703, align 8 %705 = add i64 %704, 6 store i64 %705, i64* %RCX.i96, align 8 %706 = icmp ugt i64 %704, -7 %707 = zext i1 %706 to i8 store i8 %707, i8* %14, align 1 %708 = trunc i64 %705 to i32 %709 = and i32 %708, 255 %710 = tail call i32 @llvm.ctpop.i32(i32 %709) %711 = trunc i32 %710 to i8 %712 = and i8 %711, 1 %713 = xor i8 %712, 1 store i8 %713, i8* %21, align 1 %714 = xor i64 %705, %704 %715 = lshr i64 %714, 4 %716 = trunc i64 %715 to i8 %717 = and i8 %716, 1 store i8 %717, i8* %26, align 1 %718 = icmp eq i64 %705, 0 %719 = zext i1 %718 to i8 store i8 %719, i8* %29, align 1 %720 = lshr i64 %705, 63 %721 = trunc i64 %720 to i8 store i8 %721, i8* %32, align 1 %722 = lshr i64 %704, 63 %723 = xor i64 %720, %722 %724 = add nuw nsw i64 %723, %720 %725 = icmp eq i64 %724, 2 %726 = zext i1 %725 to i8 store i8 %726, i8* %38, align 1 store i64 %705, i64* %RDI.i190, align 8 %727 = add i64 %671, -63942 %728 = add i64 %671, 33 %729 = load i64, i64* %6, align 8 %730 = add i64 %729, -8 %731 = inttoptr i64 %730 to i64* store i64 %728, i64* %731, align 8 store i64 %730, i64* %6, align 8 store i64 %727, i64* %3, align 8 %732 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64)* @strncmp to i64), %struct.Memory* %659) %733 = load i32, i32* %EAX.i76, align 4 %734 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %735 = and i32 %733, 255 %736 = tail call i32 @llvm.ctpop.i32(i32 %735) %737 = trunc i32 %736 to i8 %738 = and i8 %737, 1 %739 = xor i8 %738, 1 store i8 %739, i8* %21, align 1 store i8 0, i8* %26, align 1 %740 = icmp eq i32 %733, 0 %741 = zext i1 %740 to i8 store i8 %741, i8* %29, align 1 %742 = lshr i32 %733, 31 %743 = trunc i32 %742 to i8 store i8 %743, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v128 = select i1 %740, i64 9, i64 1864 %744 = add i64 %734, %.v128 %745 = add i64 %744, 10 store i64 %745, i64* %3, align 8 br i1 %740, label %block_410650, label %block_.L_410d8f block_410650: ; preds = %block_.L_410626 store i64 ptrtoint (%G__0x42896b_type* @G__0x42896b to i64), i64* %RSI.i, align 8 %746 = load i64, i64* %RBP.i, align 8 %747 = add i64 %746, -8 %748 = add i64 %744, 14 store i64 %748, i64* %3, align 8 %749 = inttoptr i64 %747 to i64* %750 = load i64, i64* %749, align 8 %751 = add i64 %750, 6 store i64 %751, i64* %RAX.i66, align 8 %752 = icmp ugt i64 %750, -7 %753 = zext i1 %752 to i8 store i8 %753, i8* %14, align 1 %754 = trunc i64 %751 to i32 %755 = and i32 %754, 255 %756 = tail call i32 @llvm.ctpop.i32(i32 %755) %757 = trunc i32 %756 to i8 %758 = and i8 %757, 1 %759 = xor i8 %758, 1 store i8 %759, i8* %21, align 1 %760 = xor i64 %751, %750 %761 = lshr i64 %760, 4 %762 = trunc i64 %761 to i8 %763 = and i8 %762, 1 store i8 %763, i8* %26, align 1 %764 = icmp eq i64 %751, 0 %765 = zext i1 %764 to i8 store i8 %765, i8* %29, align 1 %766 = lshr i64 %751, 63 %767 = trunc i64 %766 to i8 store i8 %767, i8* %32, align 1 %768 = lshr i64 %750, 63 %769 = xor i64 %766, %768 %770 = add nuw nsw i64 %769, %766 %771 = icmp eq i64 %770, 2 %772 = zext i1 %771 to i8 store i8 %772, i8* %38, align 1 store i64 %751, i64* %RDI.i190, align 8 %773 = add i64 %744, -63584 %774 = add i64 %744, 26 %775 = load i64, i64* %6, align 8 %776 = add i64 %775, -8 %777 = inttoptr i64 %776 to i64* store i64 %774, i64* %777, align 8 store i64 %776, i64* %6, align 8 store i64 %773, i64* %3, align 8 %call2_410665 = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %773, %struct.Memory* %732) %778 = load i64, i64* %RAX.i66, align 8 %779 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %780 = trunc i64 %778 to i32 %781 = and i32 %780, 255 %782 = tail call i32 @llvm.ctpop.i32(i32 %781) %783 = trunc i32 %782 to i8 %784 = and i8 %783, 1 %785 = xor i8 %784, 1 store i8 %785, i8* %21, align 1 store i8 0, i8* %26, align 1 %786 = icmp eq i64 %778, 0 %787 = zext i1 %786 to i8 store i8 %787, i8* %29, align 1 %788 = lshr i64 %778, 63 %789 = trunc i64 %788 to i8 store i8 %789, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v173 = select i1 %786, i64 10, i64 262 %790 = add i64 %779, %.v173 store i64 %790, i64* %3, align 8 br i1 %786, label %block_410674, label %block_.L_410770 block_410674: ; preds = %block_410650 store i64 ptrtoint (%G__0x429b31_type* @G__0x429b31 to i64), i64* %RSI.i, align 8 %791 = load i64, i64* %RBP.i, align 8 %792 = add i64 %791, -8 %793 = add i64 %790, 14 store i64 %793, i64* %3, align 8 %794 = inttoptr i64 %792 to i64* %795 = load i64, i64* %794, align 8 %796 = add i64 %795, 6 store i64 %796, i64* %RAX.i66, align 8 %797 = icmp ugt i64 %795, -7 %798 = zext i1 %797 to i8 store i8 %798, i8* %14, align 1 %799 = trunc i64 %796 to i32 %800 = and i32 %799, 255 %801 = tail call i32 @llvm.ctpop.i32(i32 %800) %802 = trunc i32 %801 to i8 %803 = and i8 %802, 1 %804 = xor i8 %803, 1 store i8 %804, i8* %21, align 1 %805 = xor i64 %796, %795 %806 = lshr i64 %805, 4 %807 = trunc i64 %806 to i8 %808 = and i8 %807, 1 store i8 %808, i8* %26, align 1 %809 = icmp eq i64 %796, 0 %810 = zext i1 %809 to i8 store i8 %810, i8* %29, align 1 %811 = lshr i64 %796, 63 %812 = trunc i64 %811 to i8 store i8 %812, i8* %32, align 1 %813 = lshr i64 %795, 63 %814 = xor i64 %811, %813 %815 = add nuw nsw i64 %814, %811 %816 = icmp eq i64 %815, 2 %817 = zext i1 %816 to i8 store i8 %817, i8* %38, align 1 store i64 %796, i64* %RDI.i190, align 8 %818 = add i64 %790, -63620 %819 = add i64 %790, 26 %820 = load i64, i64* %6, align 8 %821 = add i64 %820, -8 %822 = inttoptr i64 %821 to i64* store i64 %819, i64* %822, align 8 store i64 %821, i64* %6, align 8 store i64 %818, i64* %3, align 8 %call2_410689 = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %818, %struct.Memory* %call2_410665) %823 = load i64, i64* %RAX.i66, align 8 %824 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %825 = trunc i64 %823 to i32 %826 = and i32 %825, 255 %827 = tail call i32 @llvm.ctpop.i32(i32 %826) %828 = trunc i32 %827 to i8 %829 = and i8 %828, 1 %830 = xor i8 %829, 1 store i8 %830, i8* %21, align 1 store i8 0, i8* %26, align 1 %831 = icmp eq i64 %823, 0 %832 = zext i1 %831 to i8 store i8 %832, i8* %29, align 1 %833 = lshr i64 %823, 63 %834 = trunc i64 %833 to i8 store i8 %834, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v192 = select i1 %831, i64 10, i64 443 %835 = add i64 %824, %.v192 store i64 %835, i64* %3, align 8 br i1 %831, label %block_410698, label %block_.L_410849 block_410698: ; preds = %block_410674 store i64 ptrtoint (%G__0x429b45_type* @G__0x429b45 to i64), i64* %RSI.i, align 8 %836 = load i64, i64* %RBP.i, align 8 %837 = add i64 %836, -8 %838 = add i64 %835, 14 store i64 %838, i64* %3, align 8 %839 = inttoptr i64 %837 to i64* %840 = load i64, i64* %839, align 8 %841 = add i64 %840, 6 store i64 %841, i64* %RAX.i66, align 8 %842 = icmp ugt i64 %840, -7 %843 = zext i1 %842 to i8 store i8 %843, i8* %14, align 1 %844 = trunc i64 %841 to i32 %845 = and i32 %844, 255 %846 = tail call i32 @llvm.ctpop.i32(i32 %845) %847 = trunc i32 %846 to i8 %848 = and i8 %847, 1 %849 = xor i8 %848, 1 store i8 %849, i8* %21, align 1 %850 = xor i64 %841, %840 %851 = lshr i64 %850, 4 %852 = trunc i64 %851 to i8 %853 = and i8 %852, 1 store i8 %853, i8* %26, align 1 %854 = icmp eq i64 %841, 0 %855 = zext i1 %854 to i8 store i8 %855, i8* %29, align 1 %856 = lshr i64 %841, 63 %857 = trunc i64 %856 to i8 store i8 %857, i8* %32, align 1 %858 = lshr i64 %840, 63 %859 = xor i64 %856, %858 %860 = add nuw nsw i64 %859, %856 %861 = icmp eq i64 %860, 2 %862 = zext i1 %861 to i8 store i8 %862, i8* %38, align 1 store i64 %841, i64* %RDI.i190, align 8 %863 = add i64 %835, -63656 %864 = add i64 %835, 26 %865 = load i64, i64* %6, align 8 %866 = add i64 %865, -8 %867 = inttoptr i64 %866 to i64* store i64 %864, i64* %867, align 8 store i64 %866, i64* %6, align 8 store i64 %863, i64* %3, align 8 %call2_4106ad = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %863, %struct.Memory* %call2_410689) %868 = load i64, i64* %RAX.i66, align 8 %869 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %870 = trunc i64 %868 to i32 %871 = and i32 %870, 255 %872 = tail call i32 @llvm.ctpop.i32(i32 %871) %873 = trunc i32 %872 to i8 %874 = and i8 %873, 1 %875 = xor i8 %874, 1 store i8 %875, i8* %21, align 1 store i8 0, i8* %26, align 1 %876 = icmp eq i64 %868, 0 %877 = zext i1 %876 to i8 store i8 %877, i8* %29, align 1 %878 = lshr i64 %868, 63 %879 = trunc i64 %878 to i8 store i8 %879, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v196 = select i1 %876, i64 10, i64 407 %880 = add i64 %869, %.v196 store i64 %880, i64* %3, align 8 br i1 %876, label %block_4106bc, label %block_.L_410849 block_4106bc: ; preds = %block_410698 store i64 ptrtoint (%G__0x42877b_type* @G__0x42877b to i64), i64* %RSI.i, align 8 %881 = load i64, i64* %RBP.i, align 8 %882 = add i64 %881, -8 %883 = add i64 %880, 14 store i64 %883, i64* %3, align 8 %884 = inttoptr i64 %882 to i64* %885 = load i64, i64* %884, align 8 %886 = add i64 %885, 6 store i64 %886, i64* %RAX.i66, align 8 %887 = icmp ugt i64 %885, -7 %888 = zext i1 %887 to i8 store i8 %888, i8* %14, align 1 %889 = trunc i64 %886 to i32 %890 = and i32 %889, 255 %891 = tail call i32 @llvm.ctpop.i32(i32 %890) %892 = trunc i32 %891 to i8 %893 = and i8 %892, 1 %894 = xor i8 %893, 1 store i8 %894, i8* %21, align 1 %895 = xor i64 %886, %885 %896 = lshr i64 %895, 4 %897 = trunc i64 %896 to i8 %898 = and i8 %897, 1 store i8 %898, i8* %26, align 1 %899 = icmp eq i64 %886, 0 %900 = zext i1 %899 to i8 store i8 %900, i8* %29, align 1 %901 = lshr i64 %886, 63 %902 = trunc i64 %901 to i8 store i8 %902, i8* %32, align 1 %903 = lshr i64 %885, 63 %904 = xor i64 %901, %903 %905 = add nuw nsw i64 %904, %901 %906 = icmp eq i64 %905, 2 %907 = zext i1 %906 to i8 store i8 %907, i8* %38, align 1 store i64 %886, i64* %RDI.i190, align 8 %908 = add i64 %880, -63692 %909 = add i64 %880, 26 %910 = load i64, i64* %6, align 8 %911 = add i64 %910, -8 %912 = inttoptr i64 %911 to i64* store i64 %909, i64* %912, align 8 store i64 %911, i64* %6, align 8 store i64 %908, i64* %3, align 8 %call2_4106d1 = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %908, %struct.Memory* %call2_4106ad) %913 = load i64, i64* %RAX.i66, align 8 %914 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %915 = trunc i64 %913 to i32 %916 = and i32 %915, 255 %917 = tail call i32 @llvm.ctpop.i32(i32 %916) %918 = trunc i32 %917 to i8 %919 = and i8 %918, 1 %920 = xor i8 %919, 1 store i8 %920, i8* %21, align 1 store i8 0, i8* %26, align 1 %921 = icmp eq i64 %913, 0 %922 = zext i1 %921 to i8 store i8 %922, i8* %29, align 1 %923 = lshr i64 %913, 63 %924 = trunc i64 %923 to i8 store i8 %924, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v197 = select i1 %921, i64 10, i64 371 %925 = add i64 %914, %.v197 store i64 %925, i64* %3, align 8 br i1 %921, label %block_4106e0, label %block_.L_410849 block_4106e0: ; preds = %block_4106bc store i64 ptrtoint (%G__0x429b3b_type* @G__0x429b3b to i64), i64* %RSI.i, align 8 %926 = load i64, i64* %RBP.i, align 8 %927 = add i64 %926, -8 %928 = add i64 %925, 14 store i64 %928, i64* %3, align 8 %929 = inttoptr i64 %927 to i64* %930 = load i64, i64* %929, align 8 %931 = add i64 %930, 6 store i64 %931, i64* %RAX.i66, align 8 %932 = icmp ugt i64 %930, -7 %933 = zext i1 %932 to i8 store i8 %933, i8* %14, align 1 %934 = trunc i64 %931 to i32 %935 = and i32 %934, 255 %936 = tail call i32 @llvm.ctpop.i32(i32 %935) %937 = trunc i32 %936 to i8 %938 = and i8 %937, 1 %939 = xor i8 %938, 1 store i8 %939, i8* %21, align 1 %940 = xor i64 %931, %930 %941 = lshr i64 %940, 4 %942 = trunc i64 %941 to i8 %943 = and i8 %942, 1 store i8 %943, i8* %26, align 1 %944 = icmp eq i64 %931, 0 %945 = zext i1 %944 to i8 store i8 %945, i8* %29, align 1 %946 = lshr i64 %931, 63 %947 = trunc i64 %946 to i8 store i8 %947, i8* %32, align 1 %948 = lshr i64 %930, 63 %949 = xor i64 %946, %948 %950 = add nuw nsw i64 %949, %946 %951 = icmp eq i64 %950, 2 %952 = zext i1 %951 to i8 store i8 %952, i8* %38, align 1 store i64 %931, i64* %RDI.i190, align 8 %953 = add i64 %925, -63728 %954 = add i64 %925, 26 %955 = load i64, i64* %6, align 8 %956 = add i64 %955, -8 %957 = inttoptr i64 %956 to i64* store i64 %954, i64* %957, align 8 store i64 %956, i64* %6, align 8 store i64 %953, i64* %3, align 8 %call2_4106f5 = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %953, %struct.Memory* %call2_4106d1) %958 = load i64, i64* %RAX.i66, align 8 %959 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %960 = trunc i64 %958 to i32 %961 = and i32 %960, 255 %962 = tail call i32 @llvm.ctpop.i32(i32 %961) %963 = trunc i32 %962 to i8 %964 = and i8 %963, 1 %965 = xor i8 %964, 1 store i8 %965, i8* %21, align 1 store i8 0, i8* %26, align 1 %966 = icmp eq i64 %958, 0 %967 = zext i1 %966 to i8 store i8 %967, i8* %29, align 1 %968 = lshr i64 %958, 63 %969 = trunc i64 %968 to i8 store i8 %969, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v198 = select i1 %966, i64 10, i64 335 %970 = add i64 %959, %.v198 store i64 %970, i64* %3, align 8 br i1 %966, label %block_410704, label %block_.L_410849 block_410704: ; preds = %block_4106e0 store i64 ptrtoint (%G__0x429b59_type* @G__0x429b59 to i64), i64* %RSI.i, align 8 %971 = load i64, i64* %RBP.i, align 8 %972 = add i64 %971, -8 %973 = add i64 %970, 14 store i64 %973, i64* %3, align 8 %974 = inttoptr i64 %972 to i64* %975 = load i64, i64* %974, align 8 %976 = add i64 %975, 6 store i64 %976, i64* %RAX.i66, align 8 %977 = icmp ugt i64 %975, -7 %978 = zext i1 %977 to i8 store i8 %978, i8* %14, align 1 %979 = trunc i64 %976 to i32 %980 = and i32 %979, 255 %981 = tail call i32 @llvm.ctpop.i32(i32 %980) %982 = trunc i32 %981 to i8 %983 = and i8 %982, 1 %984 = xor i8 %983, 1 store i8 %984, i8* %21, align 1 %985 = xor i64 %976, %975 %986 = lshr i64 %985, 4 %987 = trunc i64 %986 to i8 %988 = and i8 %987, 1 store i8 %988, i8* %26, align 1 %989 = icmp eq i64 %976, 0 %990 = zext i1 %989 to i8 store i8 %990, i8* %29, align 1 %991 = lshr i64 %976, 63 %992 = trunc i64 %991 to i8 store i8 %992, i8* %32, align 1 %993 = lshr i64 %975, 63 %994 = xor i64 %991, %993 %995 = add nuw nsw i64 %994, %991 %996 = icmp eq i64 %995, 2 %997 = zext i1 %996 to i8 store i8 %997, i8* %38, align 1 store i64 %976, i64* %RDI.i190, align 8 %998 = add i64 %970, -63764 %999 = add i64 %970, 26 %1000 = load i64, i64* %6, align 8 %1001 = add i64 %1000, -8 %1002 = inttoptr i64 %1001 to i64* store i64 %999, i64* %1002, align 8 store i64 %1001, i64* %6, align 8 store i64 %998, i64* %3, align 8 %call2_410719 = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %998, %struct.Memory* %call2_4106f5) %1003 = load i64, i64* %RAX.i66, align 8 %1004 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %1005 = trunc i64 %1003 to i32 %1006 = and i32 %1005, 255 %1007 = tail call i32 @llvm.ctpop.i32(i32 %1006) %1008 = trunc i32 %1007 to i8 %1009 = and i8 %1008, 1 %1010 = xor i8 %1009, 1 store i8 %1010, i8* %21, align 1 store i8 0, i8* %26, align 1 %1011 = icmp eq i64 %1003, 0 %1012 = zext i1 %1011 to i8 store i8 %1012, i8* %29, align 1 %1013 = lshr i64 %1003, 63 %1014 = trunc i64 %1013 to i8 store i8 %1014, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v199 = select i1 %1011, i64 10, i64 299 %1015 = add i64 %1004, %.v199 store i64 %1015, i64* %3, align 8 br i1 %1011, label %block_410728, label %block_.L_410849 block_410728: ; preds = %block_410704 store i64 ptrtoint (%G__0x429aeb_type* @G__0x429aeb to i64), i64* %RSI.i, align 8 %1016 = load i64, i64* %RBP.i, align 8 %1017 = add i64 %1016, -8 %1018 = add i64 %1015, 14 store i64 %1018, i64* %3, align 8 %1019 = inttoptr i64 %1017 to i64* %1020 = load i64, i64* %1019, align 8 %1021 = add i64 %1020, 6 store i64 %1021, i64* %RAX.i66, align 8 %1022 = icmp ugt i64 %1020, -7 %1023 = zext i1 %1022 to i8 store i8 %1023, i8* %14, align 1 %1024 = trunc i64 %1021 to i32 %1025 = and i32 %1024, 255 %1026 = tail call i32 @llvm.ctpop.i32(i32 %1025) %1027 = trunc i32 %1026 to i8 %1028 = and i8 %1027, 1 %1029 = xor i8 %1028, 1 store i8 %1029, i8* %21, align 1 %1030 = xor i64 %1021, %1020 %1031 = lshr i64 %1030, 4 %1032 = trunc i64 %1031 to i8 %1033 = and i8 %1032, 1 store i8 %1033, i8* %26, align 1 %1034 = icmp eq i64 %1021, 0 %1035 = zext i1 %1034 to i8 store i8 %1035, i8* %29, align 1 %1036 = lshr i64 %1021, 63 %1037 = trunc i64 %1036 to i8 store i8 %1037, i8* %32, align 1 %1038 = lshr i64 %1020, 63 %1039 = xor i64 %1036, %1038 %1040 = add nuw nsw i64 %1039, %1036 %1041 = icmp eq i64 %1040, 2 %1042 = zext i1 %1041 to i8 store i8 %1042, i8* %38, align 1 store i64 %1021, i64* %RDI.i190, align 8 %1043 = add i64 %1015, -63800 %1044 = add i64 %1015, 26 %1045 = load i64, i64* %6, align 8 %1046 = add i64 %1045, -8 %1047 = inttoptr i64 %1046 to i64* store i64 %1044, i64* %1047, align 8 store i64 %1046, i64* %6, align 8 store i64 %1043, i64* %3, align 8 %call2_41073d = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %1043, %struct.Memory* %call2_410719) %1048 = load i64, i64* %RAX.i66, align 8 %1049 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %1050 = trunc i64 %1048 to i32 %1051 = and i32 %1050, 255 %1052 = tail call i32 @llvm.ctpop.i32(i32 %1051) %1053 = trunc i32 %1052 to i8 %1054 = and i8 %1053, 1 %1055 = xor i8 %1054, 1 store i8 %1055, i8* %21, align 1 store i8 0, i8* %26, align 1 %1056 = icmp eq i64 %1048, 0 %1057 = zext i1 %1056 to i8 store i8 %1057, i8* %29, align 1 %1058 = lshr i64 %1048, 63 %1059 = trunc i64 %1058 to i8 store i8 %1059, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v200 = select i1 %1056, i64 10, i64 263 %1060 = add i64 %1049, %.v200 store i64 %1060, i64* %3, align 8 br i1 %1056, label %block_41074c, label %block_.L_410849 block_41074c: ; preds = %block_410728 store i64 ptrtoint (%G__0x428971_type* @G__0x428971 to i64), i64* %RSI.i, align 8 %1061 = load i64, i64* %RBP.i, align 8 %1062 = add i64 %1061, -8 %1063 = add i64 %1060, 14 store i64 %1063, i64* %3, align 8 %1064 = inttoptr i64 %1062 to i64* %1065 = load i64, i64* %1064, align 8 %1066 = add i64 %1065, 6 store i64 %1066, i64* %RAX.i66, align 8 %1067 = icmp ugt i64 %1065, -7 %1068 = zext i1 %1067 to i8 store i8 %1068, i8* %14, align 1 %1069 = trunc i64 %1066 to i32 %1070 = and i32 %1069, 255 %1071 = tail call i32 @llvm.ctpop.i32(i32 %1070) %1072 = trunc i32 %1071 to i8 %1073 = and i8 %1072, 1 %1074 = xor i8 %1073, 1 store i8 %1074, i8* %21, align 1 %1075 = xor i64 %1066, %1065 %1076 = lshr i64 %1075, 4 %1077 = trunc i64 %1076 to i8 %1078 = and i8 %1077, 1 store i8 %1078, i8* %26, align 1 %1079 = icmp eq i64 %1066, 0 %1080 = zext i1 %1079 to i8 store i8 %1080, i8* %29, align 1 %1081 = lshr i64 %1066, 63 %1082 = trunc i64 %1081 to i8 store i8 %1082, i8* %32, align 1 %1083 = lshr i64 %1065, 63 %1084 = xor i64 %1081, %1083 %1085 = add nuw nsw i64 %1084, %1081 %1086 = icmp eq i64 %1085, 2 %1087 = zext i1 %1086 to i8 store i8 %1087, i8* %38, align 1 store i64 %1066, i64* %RDI.i190, align 8 %1088 = add i64 %1060, -63836 %1089 = add i64 %1060, 26 %1090 = load i64, i64* %6, align 8 %1091 = add i64 %1090, -8 %1092 = inttoptr i64 %1091 to i64* store i64 %1089, i64* %1092, align 8 store i64 %1091, i64* %6, align 8 store i64 %1088, i64* %3, align 8 %call2_410761 = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %1088, %struct.Memory* %call2_41073d) %1093 = load i64, i64* %RAX.i66, align 8 %1094 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %1095 = trunc i64 %1093 to i32 %1096 = and i32 %1095, 255 %1097 = tail call i32 @llvm.ctpop.i32(i32 %1096) %1098 = trunc i32 %1097 to i8 %1099 = and i8 %1098, 1 %1100 = xor i8 %1099, 1 store i8 %1100, i8* %21, align 1 store i8 0, i8* %26, align 1 %1101 = icmp eq i64 %1093, 0 %1102 = zext i1 %1101 to i8 store i8 %1102, i8* %29, align 1 %1103 = lshr i64 %1093, 63 %1104 = trunc i64 %1103 to i8 store i8 %1104, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v201 = select i1 %1101, i64 10, i64 227 %1105 = add i64 %1094, %.v201 store i64 %1105, i64* %3, align 8 br i1 %1101, label %block_.L_410770, label %block_.L_410849 block_.L_410770: ; preds = %block_41074c, %block_410650 %1106 = phi i64 [ %790, %block_410650 ], [ %1105, %block_41074c ] %MEMORY.3 = phi %struct.Memory* [ %call2_410665, %block_410650 ], [ %call2_410761, %block_41074c ] %1107 = load i32, i32* bitcast (%G_0x886b84_type* @G_0x886b84 to i32*), align 8 %1108 = add i32 %1107, -1 %1109 = icmp eq i32 %1107, 0 %1110 = zext i1 %1109 to i8 store i8 %1110, i8* %14, align 1 %1111 = and i32 %1108, 255 %1112 = tail call i32 @llvm.ctpop.i32(i32 %1111) %1113 = trunc i32 %1112 to i8 %1114 = and i8 %1113, 1 %1115 = xor i8 %1114, 1 store i8 %1115, i8* %21, align 1 %1116 = xor i32 %1108, %1107 %1117 = lshr i32 %1116, 4 %1118 = trunc i32 %1117 to i8 %1119 = and i8 %1118, 1 store i8 %1119, i8* %26, align 1 %1120 = icmp eq i32 %1108, 0 %1121 = zext i1 %1120 to i8 store i8 %1121, i8* %29, align 1 %1122 = lshr i32 %1108, 31 %1123 = trunc i32 %1122 to i8 store i8 %1123, i8* %32, align 1 %1124 = lshr i32 %1107, 31 %1125 = xor i32 %1122, %1124 %1126 = add nuw nsw i32 %1125, %1124 %1127 = icmp eq i32 %1126, 2 %1128 = zext i1 %1127 to i8 store i8 %1128, i8* %38, align 1 %.v174 = select i1 %1120, i64 14, i64 104 %1129 = add i64 %1106, %.v174 %1130 = add i64 %1129, 7 store i64 %1130, i64* %3, align 8 br i1 %1120, label %block_41077e, label %block_.L_4107d8 block_41077e: ; preds = %block_.L_410770 %1131 = load i32, i32* bitcast (%G_0x62d784_type* @G_0x62d784 to i32*), align 8 %1132 = add i32 %1131, 25 store i32 %1132, i32* bitcast (%G_0x62d784_type* @G_0x62d784 to i32*), align 8 %1133 = load i32, i32* bitcast (%G_0x62d78c_type* @G_0x62d78c to i32*), align 8 %1134 = add i32 %1133, 50 store i32 %1134, i32* bitcast (%G_0x62d78c_type* @G_0x62d78c to i32*), align 8 %1135 = load i32, i32* bitcast (%G_0x62d7ac_type* @G_0x62d7ac to i32*), align 8 %1136 = add i32 %1135, 50 store i32 %1136, i32* bitcast (%G_0x62d7ac_type* @G_0x62d7ac to i32*), align 8 %1137 = load i32, i32* bitcast (%G_0x62d79c_type* @G_0x62d79c to i32*), align 8 %1138 = add i32 %1137, 50 store i32 %1138, i32* bitcast (%G_0x62d79c_type* @G_0x62d79c to i32*), align 8 %1139 = load i32, i32* bitcast (%G_0x62d7a4_type* @G_0x62d7a4 to i32*), align 8 %1140 = add i32 %1139, 100 %1141 = zext i32 %1140 to i64 store i64 %1141, i64* %RAX.i66, align 8 %1142 = icmp ugt i32 %1139, -101 %1143 = zext i1 %1142 to i8 store i8 %1143, i8* %14, align 1 %1144 = and i32 %1140, 255 %1145 = tail call i32 @llvm.ctpop.i32(i32 %1144) %1146 = trunc i32 %1145 to i8 %1147 = and i8 %1146, 1 %1148 = xor i8 %1147, 1 store i8 %1148, i8* %21, align 1 %1149 = xor i32 %1140, %1139 %1150 = lshr i32 %1149, 4 %1151 = trunc i32 %1150 to i8 %1152 = and i8 %1151, 1 store i8 %1152, i8* %26, align 1 %1153 = icmp eq i32 %1140, 0 %1154 = zext i1 %1153 to i8 store i8 %1154, i8* %29, align 1 %1155 = lshr i32 %1140, 31 %1156 = trunc i32 %1155 to i8 store i8 %1156, i8* %32, align 1 %1157 = lshr i32 %1139, 31 %1158 = xor i32 %1155, %1157 %1159 = add nuw nsw i32 %1158, %1155 %1160 = icmp eq i32 %1159, 2 %1161 = zext i1 %1160 to i8 store i8 %1161, i8* %38, align 1 store i32 %1140, i32* bitcast (%G_0x62d7a4_type* @G_0x62d7a4 to i32*), align 8 %1162 = add i64 %1129, 175 store i64 %1162, i64* %3, align 8 br label %block_.L_41082d block_.L_4107d8: ; preds = %block_.L_410770 %1163 = load i32, i32* bitcast (%G_0x62d788_type* @G_0x62d788 to i32*), align 8 %1164 = add i32 %1163, -25 store i32 %1164, i32* bitcast (%G_0x62d788_type* @G_0x62d788 to i32*), align 8 %1165 = load i32, i32* bitcast (%G_0x62d790_type* @G_0x62d790 to i32*), align 8 %1166 = add i32 %1165, -50 store i32 %1166, i32* bitcast (%G_0x62d790_type* @G_0x62d790 to i32*), align 8 %1167 = load i32, i32* bitcast (%G_0x62d7b0_type* @G_0x62d7b0 to i32*), align 8 %1168 = add i32 %1167, -50 store i32 %1168, i32* bitcast (%G_0x62d7b0_type* @G_0x62d7b0 to i32*), align 8 %1169 = load i32, i32* bitcast (%G_0x62d7a0_type* @G_0x62d7a0 to i32*), align 8 %1170 = add i32 %1169, -50 store i32 %1170, i32* bitcast (%G_0x62d7a0_type* @G_0x62d7a0 to i32*), align 8 %1171 = load i32, i32* bitcast (%G_0x62d7a8_type* @G_0x62d7a8 to i32*), align 8 %1172 = add i32 %1171, -100 %1173 = zext i32 %1172 to i64 store i64 %1173, i64* %RAX.i66, align 8 %1174 = icmp ult i32 %1171, 100 %1175 = zext i1 %1174 to i8 store i8 %1175, i8* %14, align 1 %1176 = and i32 %1172, 255 %1177 = tail call i32 @llvm.ctpop.i32(i32 %1176) %1178 = trunc i32 %1177 to i8 %1179 = and i8 %1178, 1 %1180 = xor i8 %1179, 1 store i8 %1180, i8* %21, align 1 %1181 = xor i32 %1172, %1171 %1182 = lshr i32 %1181, 4 %1183 = trunc i32 %1182 to i8 %1184 = and i8 %1183, 1 store i8 %1184, i8* %26, align 1 %1185 = icmp eq i32 %1172, 0 %1186 = zext i1 %1185 to i8 store i8 %1186, i8* %29, align 1 %1187 = lshr i32 %1172, 31 %1188 = trunc i32 %1187 to i8 store i8 %1188, i8* %32, align 1 %1189 = lshr i32 %1171, 31 %1190 = xor i32 %1187, %1189 %1191 = add nuw nsw i32 %1190, %1189 %1192 = icmp eq i32 %1191, 2 %1193 = zext i1 %1192 to i8 store i8 %1193, i8* %38, align 1 %1194 = add i64 %1129, 85 store i64 %1194, i64* %3, align 8 store i32 %1172, i32* bitcast (%G_0x62d7a8_type* @G_0x62d7a8 to i32*), align 8 br label %block_.L_41082d block_.L_41082d: ; preds = %block_.L_4107d8, %block_41077e %1195 = phi i64 [ %1194, %block_.L_4107d8 ], [ %1162, %block_41077e ] store i64 ptrtoint (%G__0x428973_type* @G__0x428973 to i64), i64* %RDI.i190, align 8 %AL.i1601 = bitcast %union.anon* %39 to i8* store i8 0, i8* %AL.i1601, align 1 %1196 = add i64 %1195, -64381 %1197 = add i64 %1195, 17 %1198 = load i64, i64* %6, align 8 %1199 = add i64 %1198, -8 %1200 = inttoptr i64 %1199 to i64* store i64 %1197, i64* %1200, align 8 store i64 %1199, i64* %6, align 8 store i64 %1196, i64* %3, align 8 %1201 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %MEMORY.3) %1202 = load i64, i64* %RBP.i, align 8 %1203 = add i64 %1202, -156 %1204 = load i32, i32* %EAX.i76, align 4 %1205 = load i64, i64* %3, align 8 %1206 = add i64 %1205, 6 store i64 %1206, i64* %3, align 8 %1207 = inttoptr i64 %1203 to i32* store i32 %1204, i32* %1207, align 4 %1208 = load i64, i64* %3, align 8 %1209 = add i64 %1208, 243 br label %block_.L_410937 block_.L_410849: ; preds = %block_41074c, %block_410728, %block_410704, %block_4106e0, %block_4106bc, %block_410698, %block_410674 %1210 = phi i64 [ %835, %block_410674 ], [ %880, %block_410698 ], [ %925, %block_4106bc ], [ %970, %block_4106e0 ], [ %1015, %block_410704 ], [ %1060, %block_410728 ], [ %1105, %block_41074c ] %MEMORY.5 = phi %struct.Memory* [ %call2_410689, %block_410674 ], [ %call2_4106ad, %block_410698 ], [ %call2_4106d1, %block_4106bc ], [ %call2_4106f5, %block_4106e0 ], [ %call2_410719, %block_410704 ], [ %call2_41073d, %block_410728 ], [ %call2_410761, %block_41074c ] store i64 ptrtoint (%G__0x428996_type* @G__0x428996 to i64), i64* %RSI.i, align 8 %1211 = load i64, i64* %RBP.i, align 8 %1212 = add i64 %1211, -8 %1213 = add i64 %1210, 14 store i64 %1213, i64* %3, align 8 %1214 = inttoptr i64 %1212 to i64* %1215 = load i64, i64* %1214, align 8 %1216 = add i64 %1215, 6 store i64 %1216, i64* %RAX.i66, align 8 %1217 = icmp ugt i64 %1215, -7 %1218 = zext i1 %1217 to i8 store i8 %1218, i8* %14, align 1 %1219 = trunc i64 %1216 to i32 %1220 = and i32 %1219, 255 %1221 = tail call i32 @llvm.ctpop.i32(i32 %1220) %1222 = trunc i32 %1221 to i8 %1223 = and i8 %1222, 1 %1224 = xor i8 %1223, 1 store i8 %1224, i8* %21, align 1 %1225 = xor i64 %1216, %1215 %1226 = lshr i64 %1225, 4 %1227 = trunc i64 %1226 to i8 %1228 = and i8 %1227, 1 store i8 %1228, i8* %26, align 1 %1229 = icmp eq i64 %1216, 0 %1230 = zext i1 %1229 to i8 store i8 %1230, i8* %29, align 1 %1231 = lshr i64 %1216, 63 %1232 = trunc i64 %1231 to i8 store i8 %1232, i8* %32, align 1 %1233 = lshr i64 %1215, 63 %1234 = xor i64 %1231, %1233 %1235 = add nuw nsw i64 %1234, %1231 %1236 = icmp eq i64 %1235, 2 %1237 = zext i1 %1236 to i8 store i8 %1237, i8* %38, align 1 store i64 %1216, i64* %RDI.i190, align 8 %1238 = add i64 %1210, -64089 %1239 = add i64 %1210, 26 %1240 = load i64, i64* %6, align 8 %1241 = add i64 %1240, -8 %1242 = inttoptr i64 %1241 to i64* store i64 %1239, i64* %1242, align 8 store i64 %1241, i64* %6, align 8 store i64 %1238, i64* %3, align 8 %call2_41085e = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %1238, %struct.Memory* %MEMORY.5) %1243 = load i64, i64* %RAX.i66, align 8 %1244 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %1245 = trunc i64 %1243 to i32 %1246 = and i32 %1245, 255 %1247 = tail call i32 @llvm.ctpop.i32(i32 %1246) %1248 = trunc i32 %1247 to i8 %1249 = and i8 %1248, 1 %1250 = xor i8 %1249, 1 store i8 %1250, i8* %21, align 1 store i8 0, i8* %26, align 1 %1251 = icmp eq i64 %1243, 0 %1252 = zext i1 %1251 to i8 store i8 %1252, i8* %29, align 1 %1253 = lshr i64 %1243, 63 %1254 = trunc i64 %1253 to i8 store i8 %1254, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v193 = select i1 %1251, i64 45, i64 10 %1255 = add i64 %1244, %.v193 store i64 %1255, i64* %3, align 8 br i1 %1251, label %block_.L_410890, label %block_41086d block_41086d: ; preds = %block_.L_410849 %1256 = load i64, i64* %RBP.i, align 8 %1257 = add i64 %1256, -96 store i64 %1257, i64* %RDI.i190, align 8 %1258 = add i64 %1256, -12 %1259 = add i64 %1255, 11 store i64 %1259, i64* %3, align 8 %1260 = inttoptr i64 %1258 to i32* store i32 50000, i32* %1260, align 4 %1261 = load i64, i64* %3, align 8 store i64 and (i64 ptrtoint (%G__0x42899a_type* @G__0x42899a to i64), i64 4294967295), i64* %RAX.i66, align 8 store i64 zext (i32 trunc (i64 and (i64 ptrtoint (%G__0x42899a_type* @G__0x42899a to i64), i64 4294967295) to i32) to i64), i64* %RSI.i, align 8 %1262 = add i64 %1261, -64520 %1263 = add i64 %1261, 12 %1264 = load i64, i64* %6, align 8 %1265 = add i64 %1264, -8 %1266 = inttoptr i64 %1265 to i64* store i64 %1263, i64* %1266, align 8 store i64 %1265, i64* %6, align 8 store i64 %1262, i64* %3, align 8 %1267 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64)* @strcpy to i64), %struct.Memory* %call2_41085e) %1268 = load i64, i64* %RBP.i, align 8 %1269 = add i64 %1268, -168 %1270 = load i64, i64* %RAX.i66, align 8 %1271 = load i64, i64* %3, align 8 %1272 = add i64 %1271, 7 store i64 %1272, i64* %3, align 8 %1273 = inttoptr i64 %1269 to i64* store i64 %1270, i64* %1273, align 8 %1274 = load i64, i64* %3, align 8 %1275 = add i64 %1274, 167 br label %block_.L_410932 block_.L_410890: ; preds = %block_.L_410849 store i64 ptrtoint (%G__0x428997_type* @G__0x428997 to i64), i64* %RSI.i, align 8 %1276 = load i64, i64* %RBP.i, align 8 %1277 = add i64 %1276, -8 %1278 = add i64 %1255, 14 store i64 %1278, i64* %3, align 8 %1279 = inttoptr i64 %1277 to i64* %1280 = load i64, i64* %1279, align 8 %1281 = add i64 %1280, 6 store i64 %1281, i64* %RAX.i66, align 8 %1282 = icmp ugt i64 %1280, -7 %1283 = zext i1 %1282 to i8 store i8 %1283, i8* %14, align 1 %1284 = trunc i64 %1281 to i32 %1285 = and i32 %1284, 255 %1286 = tail call i32 @llvm.ctpop.i32(i32 %1285) %1287 = trunc i32 %1286 to i8 %1288 = and i8 %1287, 1 %1289 = xor i8 %1288, 1 store i8 %1289, i8* %21, align 1 %1290 = xor i64 %1281, %1280 %1291 = lshr i64 %1290, 4 %1292 = trunc i64 %1291 to i8 %1293 = and i8 %1292, 1 store i8 %1293, i8* %26, align 1 %1294 = icmp eq i64 %1281, 0 %1295 = zext i1 %1294 to i8 store i8 %1295, i8* %29, align 1 %1296 = lshr i64 %1281, 63 %1297 = trunc i64 %1296 to i8 store i8 %1297, i8* %32, align 1 %1298 = lshr i64 %1280, 63 %1299 = xor i64 %1296, %1298 %1300 = add nuw nsw i64 %1299, %1296 %1301 = icmp eq i64 %1300, 2 %1302 = zext i1 %1301 to i8 store i8 %1302, i8* %38, align 1 store i64 %1281, i64* %RDI.i190, align 8 %1303 = add i64 %1255, -64160 %1304 = add i64 %1255, 26 %1305 = load i64, i64* %6, align 8 %1306 = add i64 %1305, -8 %1307 = inttoptr i64 %1306 to i64* store i64 %1304, i64* %1307, align 8 store i64 %1306, i64* %6, align 8 store i64 %1303, i64* %3, align 8 %call2_4108a5 = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %1303, %struct.Memory* %call2_41085e) %1308 = load i64, i64* %RAX.i66, align 8 %1309 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %1310 = trunc i64 %1308 to i32 %1311 = and i32 %1310, 255 %1312 = tail call i32 @llvm.ctpop.i32(i32 %1311) %1313 = trunc i32 %1312 to i8 %1314 = and i8 %1313, 1 %1315 = xor i8 %1314, 1 store i8 %1315, i8* %21, align 1 store i8 0, i8* %26, align 1 %1316 = icmp eq i64 %1308, 0 %1317 = zext i1 %1316 to i8 store i8 %1317, i8* %29, align 1 %1318 = lshr i64 %1308, 63 %1319 = trunc i64 %1318 to i8 store i8 %1319, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v194 = select i1 %1316, i64 45, i64 10 %1320 = add i64 %1309, %.v194 store i64 %1320, i64* %3, align 8 br i1 %1316, label %block_.L_4108d7, label %block_4108b4 block_4108b4: ; preds = %block_.L_410890 %1321 = load i64, i64* %RBP.i, align 8 %1322 = add i64 %1321, -96 store i64 %1322, i64* %RDI.i190, align 8 %1323 = add i64 %1321, -12 %1324 = add i64 %1320, 11 store i64 %1324, i64* %3, align 8 %1325 = inttoptr i64 %1323 to i32* store i32 1000, i32* %1325, align 4 %1326 = load i64, i64* %3, align 8 store i64 and (i64 ptrtoint (%G__0x4289a0_type* @G__0x4289a0 to i64), i64 4294967295), i64* %RAX.i66, align 8 store i64 zext (i32 trunc (i64 and (i64 ptrtoint (%G__0x4289a0_type* @G__0x4289a0 to i64), i64 4294967295) to i32) to i64), i64* %RSI.i, align 8 %1327 = add i64 %1326, -64591 %1328 = add i64 %1326, 12 %1329 = load i64, i64* %6, align 8 %1330 = add i64 %1329, -8 %1331 = inttoptr i64 %1330 to i64* store i64 %1328, i64* %1331, align 8 store i64 %1330, i64* %6, align 8 store i64 %1327, i64* %3, align 8 %1332 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64)* @strcpy to i64), %struct.Memory* %call2_4108a5) %1333 = load i64, i64* %RBP.i, align 8 %1334 = add i64 %1333, -176 %1335 = load i64, i64* %RAX.i66, align 8 %1336 = load i64, i64* %3, align 8 %1337 = add i64 %1336, 7 store i64 %1337, i64* %3, align 8 %1338 = inttoptr i64 %1334 to i64* store i64 %1335, i64* %1338, align 8 %1339 = load i64, i64* %3, align 8 %1340 = add i64 %1339, 91 br label %block_.L_41092d block_.L_4108d7: ; preds = %block_.L_410890 store i64 ptrtoint (%G__0x428998_type* @G__0x428998 to i64), i64* %RSI.i, align 8 %1341 = load i64, i64* %RBP.i, align 8 %1342 = add i64 %1341, -8 %1343 = add i64 %1320, 14 store i64 %1343, i64* %3, align 8 %1344 = inttoptr i64 %1342 to i64* %1345 = load i64, i64* %1344, align 8 %1346 = add i64 %1345, 6 store i64 %1346, i64* %RAX.i66, align 8 %1347 = icmp ugt i64 %1345, -7 %1348 = zext i1 %1347 to i8 store i8 %1348, i8* %14, align 1 %1349 = trunc i64 %1346 to i32 %1350 = and i32 %1349, 255 %1351 = tail call i32 @llvm.ctpop.i32(i32 %1350) %1352 = trunc i32 %1351 to i8 %1353 = and i8 %1352, 1 %1354 = xor i8 %1353, 1 store i8 %1354, i8* %21, align 1 %1355 = xor i64 %1346, %1345 %1356 = lshr i64 %1355, 4 %1357 = trunc i64 %1356 to i8 %1358 = and i8 %1357, 1 store i8 %1358, i8* %26, align 1 %1359 = icmp eq i64 %1346, 0 %1360 = zext i1 %1359 to i8 store i8 %1360, i8* %29, align 1 %1361 = lshr i64 %1346, 63 %1362 = trunc i64 %1361 to i8 store i8 %1362, i8* %32, align 1 %1363 = lshr i64 %1345, 63 %1364 = xor i64 %1361, %1363 %1365 = add nuw nsw i64 %1364, %1361 %1366 = icmp eq i64 %1365, 2 %1367 = zext i1 %1366 to i8 store i8 %1367, i8* %38, align 1 store i64 %1346, i64* %RDI.i190, align 8 %1368 = add i64 %1320, -64231 %1369 = add i64 %1320, 26 %1370 = load i64, i64* %6, align 8 %1371 = add i64 %1370, -8 %1372 = inttoptr i64 %1371 to i64* store i64 %1369, i64* %1372, align 8 store i64 %1371, i64* %6, align 8 store i64 %1368, i64* %3, align 8 %call2_4108ec = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %1368, %struct.Memory* %call2_4108a5) %1373 = load i64, i64* %RAX.i66, align 8 %1374 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %1375 = trunc i64 %1373 to i32 %1376 = and i32 %1375, 255 %1377 = tail call i32 @llvm.ctpop.i32(i32 %1376) %1378 = trunc i32 %1377 to i8 %1379 = and i8 %1378, 1 %1380 = xor i8 %1379, 1 store i8 %1380, i8* %21, align 1 store i8 0, i8* %26, align 1 %1381 = icmp eq i64 %1373, 0 %1382 = zext i1 %1381 to i8 store i8 %1382, i8* %29, align 1 %1383 = lshr i64 %1373, 63 %1384 = trunc i64 %1383 to i8 store i8 %1384, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v195 = select i1 %1381, i64 45, i64 10 %1385 = add i64 %1374, %.v195 store i64 %1385, i64* %3, align 8 br i1 %1381, label %block_.L_41091e, label %block_4108fb block_4108fb: ; preds = %block_.L_4108d7 %1386 = load i64, i64* %RBP.i, align 8 %1387 = add i64 %1386, -96 store i64 %1387, i64* %RDI.i190, align 8 %1388 = add i64 %1386, -12 %1389 = add i64 %1385, 11 store i64 %1389, i64* %3, align 8 %1390 = inttoptr i64 %1388 to i32* store i32 150, i32* %1390, align 4 %1391 = load i64, i64* %3, align 8 store i64 and (i64 ptrtoint (%G__0x4289d1_type* @G__0x4289d1 to i64), i64 4294967295), i64* %RAX.i66, align 8 store i64 zext (i32 trunc (i64 and (i64 ptrtoint (%G__0x4289d1_type* @G__0x4289d1 to i64), i64 4294967295) to i32) to i64), i64* %RSI.i, align 8 %1392 = add i64 %1391, -64662 %1393 = add i64 %1391, 12 %1394 = load i64, i64* %6, align 8 %1395 = add i64 %1394, -8 %1396 = inttoptr i64 %1395 to i64* store i64 %1393, i64* %1396, align 8 store i64 %1395, i64* %6, align 8 store i64 %1392, i64* %3, align 8 %1397 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64)* @strcpy to i64), %struct.Memory* %call2_4108ec) %1398 = load i64, i64* %RBP.i, align 8 %1399 = add i64 %1398, -184 %1400 = load i64, i64* %RAX.i66, align 8 %1401 = load i64, i64* %3, align 8 %1402 = add i64 %1401, 7 store i64 %1402, i64* %3, align 8 %1403 = inttoptr i64 %1399 to i64* store i64 %1400, i64* %1403, align 8 %1404 = load i64, i64* %3, align 8 %1405 = add i64 %1404, 15 store i64 %1405, i64* %3, align 8 br label %block_.L_410928 block_.L_41091e: ; preds = %block_.L_4108d7 %1406 = and i64 %1373, 4294967295 store i64 %1406, i64* %RAX.i66, align 8 store i8 0, i8* %14, align 1 store i8 %1380, i8* %21, align 1 %1407 = icmp eq i32 %1375, 0 %1408 = zext i1 %1407 to i8 store i8 %1408, i8* %29, align 1 %1409 = lshr i32 %1375, 31 %1410 = trunc i32 %1409 to i8 store i8 %1410, i8* %32, align 1 store i8 0, i8* %38, align 1 store i8 0, i8* %26, align 1 %1411 = and i64 %1373, 4294967295 store i64 %1411, i64* %RCX.i96, align 8 %1412 = add i64 %1385, 10 store i64 %1412, i64* %3, align 8 %1413 = inttoptr i64 %1411 to i32* store i32 0, i32* %1413, align 4 %.pre = load i64, i64* %3, align 8 br label %block_.L_410928 block_.L_410928: ; preds = %block_.L_41091e, %block_4108fb %1414 = phi i64 [ %.pre, %block_.L_41091e ], [ %1405, %block_4108fb ] %MEMORY.6 = phi %struct.Memory* [ %call2_4108ec, %block_.L_41091e ], [ %1397, %block_4108fb ] %1415 = add i64 %1414, 5 store i64 %1415, i64* %3, align 8 br label %block_.L_41092d block_.L_41092d: ; preds = %block_.L_410928, %block_4108b4 %storemerge93 = phi i64 [ %1340, %block_4108b4 ], [ %1415, %block_.L_410928 ] %MEMORY.7 = phi %struct.Memory* [ %1332, %block_4108b4 ], [ %MEMORY.6, %block_.L_410928 ] %1416 = add i64 %storemerge93, 5 store i64 %1416, i64* %3, align 8 br label %block_.L_410932 block_.L_410932: ; preds = %block_.L_41092d, %block_41086d %storemerge92 = phi i64 [ %1275, %block_41086d ], [ %1416, %block_.L_41092d ] %MEMORY.8 = phi %struct.Memory* [ %1267, %block_41086d ], [ %MEMORY.7, %block_.L_41092d ] %1417 = add i64 %storemerge92, 5 store i64 %1417, i64* %3, align 8 br label %block_.L_410937 block_.L_410937: ; preds = %block_.L_410932, %block_.L_41082d %storemerge90 = phi i64 [ %1209, %block_.L_41082d ], [ %1417, %block_.L_410932 ] %MEMORY.9 = phi %struct.Memory* [ %1201, %block_.L_41082d ], [ %MEMORY.8, %block_.L_410932 ] store i64 ptrtoint (%G__0x429b31_type* @G__0x429b31 to i64), i64* %RSI.i, align 8 %1418 = load i64, i64* %RBP.i, align 8 %1419 = add i64 %1418, -8 %1420 = add i64 %storemerge90, 14 store i64 %1420, i64* %3, align 8 %1421 = inttoptr i64 %1419 to i64* %1422 = load i64, i64* %1421, align 8 %1423 = add i64 %1422, 6 store i64 %1423, i64* %RAX.i66, align 8 %1424 = icmp ugt i64 %1422, -7 %1425 = zext i1 %1424 to i8 store i8 %1425, i8* %14, align 1 %1426 = trunc i64 %1423 to i32 %1427 = and i32 %1426, 255 %1428 = tail call i32 @llvm.ctpop.i32(i32 %1427) %1429 = trunc i32 %1428 to i8 %1430 = and i8 %1429, 1 %1431 = xor i8 %1430, 1 store i8 %1431, i8* %21, align 1 %1432 = xor i64 %1423, %1422 %1433 = lshr i64 %1432, 4 %1434 = trunc i64 %1433 to i8 %1435 = and i8 %1434, 1 store i8 %1435, i8* %26, align 1 %1436 = icmp eq i64 %1423, 0 %1437 = zext i1 %1436 to i8 store i8 %1437, i8* %29, align 1 %1438 = lshr i64 %1423, 63 %1439 = trunc i64 %1438 to i8 store i8 %1439, i8* %32, align 1 %1440 = lshr i64 %1422, 63 %1441 = xor i64 %1438, %1440 %1442 = add nuw nsw i64 %1441, %1438 %1443 = icmp eq i64 %1442, 2 %1444 = zext i1 %1443 to i8 store i8 %1444, i8* %38, align 1 store i64 %1423, i64* %RDI.i190, align 8 %1445 = add i64 %storemerge90, -64327 %1446 = add i64 %storemerge90, 26 %1447 = load i64, i64* %6, align 8 %1448 = add i64 %1447, -8 %1449 = inttoptr i64 %1448 to i64* store i64 %1446, i64* %1449, align 8 store i64 %1448, i64* %6, align 8 store i64 %1445, i64* %3, align 8 %call2_41094c = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %1445, %struct.Memory* %MEMORY.9) %1450 = load i64, i64* %RAX.i66, align 8 %1451 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %1452 = trunc i64 %1450 to i32 %1453 = and i32 %1452, 255 %1454 = tail call i32 @llvm.ctpop.i32(i32 %1453) %1455 = trunc i32 %1454 to i8 %1456 = and i8 %1455, 1 %1457 = xor i8 %1456, 1 store i8 %1457, i8* %21, align 1 store i8 0, i8* %26, align 1 %1458 = icmp eq i64 %1450, 0 %1459 = zext i1 %1458 to i8 store i8 %1459, i8* %29, align 1 %1460 = lshr i64 %1450, 63 %1461 = trunc i64 %1460 to i8 store i8 %1461, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v175 = select i1 %1458, i64 90, i64 10 %1462 = add i64 %1451, %.v175 store i64 %1462, i64* %3, align 8 br i1 %1458, label %block_.L_4109ab, label %block_41095b block_41095b: ; preds = %block_.L_410937 %1463 = load i32, i32* bitcast (%G_0x886b84_type* @G_0x886b84 to i32*), align 8 %1464 = add i32 %1463, -1 %1465 = icmp eq i32 %1463, 0 %1466 = zext i1 %1465 to i8 store i8 %1466, i8* %14, align 1 %1467 = and i32 %1464, 255 %1468 = tail call i32 @llvm.ctpop.i32(i32 %1467) %1469 = trunc i32 %1468 to i8 %1470 = and i8 %1469, 1 %1471 = xor i8 %1470, 1 store i8 %1471, i8* %21, align 1 %1472 = xor i32 %1464, %1463 %1473 = lshr i32 %1472, 4 %1474 = trunc i32 %1473 to i8 %1475 = and i8 %1474, 1 store i8 %1475, i8* %26, align 1 %1476 = icmp eq i32 %1464, 0 %1477 = zext i1 %1476 to i8 store i8 %1477, i8* %29, align 1 %1478 = lshr i32 %1464, 31 %1479 = trunc i32 %1478 to i8 store i8 %1479, i8* %32, align 1 %1480 = lshr i32 %1463, 31 %1481 = xor i32 %1478, %1480 %1482 = add nuw nsw i32 %1481, %1480 %1483 = icmp eq i32 %1482, 2 %1484 = zext i1 %1483 to i8 store i8 %1484, i8* %38, align 1 %.v176 = select i1 %1476, i64 14, i64 36 %1485 = add i64 %1462, %.v176 %1486 = add i64 %1485, 7 store i64 %1486, i64* %3, align 8 br i1 %1476, label %block_410969, label %block_.L_41097f block_410969: ; preds = %block_41095b %1487 = load i32, i32* bitcast (%G_0x62d7cc_type* @G_0x62d7cc to i32*), align 8 %1488 = zext i32 %1487 to i64 store i64 %1488, i64* %RAX.i66, align 8 %1489 = load i64, i64* %RBP.i, align 8 %1490 = add i64 %1489, -12 %1491 = add i64 %1485, 10 store i64 %1491, i64* %3, align 8 %1492 = inttoptr i64 %1490 to i32* %1493 = load i32, i32* %1492, align 4 %1494 = add i32 %1493, %1487 %1495 = zext i32 %1494 to i64 store i64 %1495, i64* %RAX.i66, align 8 %1496 = icmp ult i32 %1494, %1487 %1497 = icmp ult i32 %1494, %1493 %1498 = or i1 %1496, %1497 %1499 = zext i1 %1498 to i8 store i8 %1499, i8* %14, align 1 %1500 = and i32 %1494, 255 %1501 = tail call i32 @llvm.ctpop.i32(i32 %1500) %1502 = trunc i32 %1501 to i8 %1503 = and i8 %1502, 1 %1504 = xor i8 %1503, 1 store i8 %1504, i8* %21, align 1 %1505 = xor i32 %1493, %1487 %1506 = xor i32 %1505, %1494 %1507 = lshr i32 %1506, 4 %1508 = trunc i32 %1507 to i8 %1509 = and i8 %1508, 1 store i8 %1509, i8* %26, align 1 %1510 = icmp eq i32 %1494, 0 %1511 = zext i1 %1510 to i8 store i8 %1511, i8* %29, align 1 %1512 = lshr i32 %1494, 31 %1513 = trunc i32 %1512 to i8 store i8 %1513, i8* %32, align 1 %1514 = lshr i32 %1487, 31 %1515 = lshr i32 %1493, 31 %1516 = xor i32 %1512, %1514 %1517 = xor i32 %1512, %1515 %1518 = add nuw nsw i32 %1516, %1517 %1519 = icmp eq i32 %1518, 2 %1520 = zext i1 %1519 to i8 store i8 %1520, i8* %38, align 1 store i32 %1494, i32* bitcast (%G_0x62d78c_type* @G_0x62d78c to i32*), align 8 %1521 = add i64 %1485, 39 store i64 %1521, i64* %3, align 8 br label %block_.L_410990 block_.L_41097f: ; preds = %block_41095b %1522 = load i32, i32* bitcast (%G_0x62d7d0_type* @G_0x62d7d0 to i32*), align 8 %1523 = zext i32 %1522 to i64 store i64 %1523, i64* %RAX.i66, align 8 %1524 = load i64, i64* %RBP.i, align 8 %1525 = add i64 %1524, -12 %1526 = add i64 %1485, 10 store i64 %1526, i64* %3, align 8 %1527 = inttoptr i64 %1525 to i32* %1528 = load i32, i32* %1527, align 4 %1529 = sub i32 %1522, %1528 %1530 = zext i32 %1529 to i64 store i64 %1530, i64* %RAX.i66, align 8 %1531 = icmp ult i32 %1522, %1528 %1532 = zext i1 %1531 to i8 store i8 %1532, i8* %14, align 1 %1533 = and i32 %1529, 255 %1534 = tail call i32 @llvm.ctpop.i32(i32 %1533) %1535 = trunc i32 %1534 to i8 %1536 = and i8 %1535, 1 %1537 = xor i8 %1536, 1 store i8 %1537, i8* %21, align 1 %1538 = xor i32 %1528, %1522 %1539 = xor i32 %1538, %1529 %1540 = lshr i32 %1539, 4 %1541 = trunc i32 %1540 to i8 %1542 = and i8 %1541, 1 store i8 %1542, i8* %26, align 1 %1543 = icmp eq i32 %1529, 0 %1544 = zext i1 %1543 to i8 store i8 %1544, i8* %29, align 1 %1545 = lshr i32 %1529, 31 %1546 = trunc i32 %1545 to i8 store i8 %1546, i8* %32, align 1 %1547 = lshr i32 %1522, 31 %1548 = lshr i32 %1528, 31 %1549 = xor i32 %1548, %1547 %1550 = xor i32 %1545, %1547 %1551 = add nuw nsw i32 %1550, %1549 %1552 = icmp eq i32 %1551, 2 %1553 = zext i1 %1552 to i8 store i8 %1553, i8* %38, align 1 %1554 = add i64 %1485, 17 store i64 %1554, i64* %3, align 8 store i32 %1529, i32* bitcast (%G_0x62d790_type* @G_0x62d790 to i32*), align 8 br label %block_.L_410990 block_.L_410990: ; preds = %block_.L_41097f, %block_410969 %1555 = phi i64 [ %1524, %block_.L_41097f ], [ %1489, %block_410969 ] %1556 = phi i64 [ %1554, %block_.L_41097f ], [ %1521, %block_410969 ] store i64 ptrtoint (%G__0x4289fd_type* @G__0x4289fd to i64), i64* %RDI.i190, align 8 %1557 = add i64 %1555, -96 store i64 %1557, i64* %RSI.i, align 8 %AL.i1450 = bitcast %union.anon* %39 to i8* store i8 0, i8* %AL.i1450, align 1 %1558 = add i64 %1556, -64736 %1559 = add i64 %1556, 21 %1560 = load i64, i64* %6, align 8 %1561 = add i64 %1560, -8 %1562 = inttoptr i64 %1561 to i64* store i64 %1559, i64* %1562, align 8 store i64 %1561, i64* %6, align 8 store i64 %1558, i64* %3, align 8 %1563 = tail call %struct.Memory* @__remill_function_call(%struct.State* nonnull %0, i64 ptrtoint (i64 (i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64)* @printf to i64), %struct.Memory* %call2_41094c) %1564 = load i64, i64* %RBP.i, align 8 %1565 = add i64 %1564, -188 %1566 = load i32, i32* %EAX.i76, align 4 %1567 = load i64, i64* %3, align 8 %1568 = add i64 %1567, 6 store i64 %1568, i64* %3, align 8 %1569 = inttoptr i64 %1565 to i32* store i32 %1566, i32* %1569, align 4 %.pre102 = load i64, i64* %3, align 8 br label %block_.L_4109ab block_.L_4109ab: ; preds = %block_.L_410990, %block_.L_410937 %1570 = phi i64 [ %1462, %block_.L_410937 ], [ %.pre102, %block_.L_410990 ] %MEMORY.11 = phi %struct.Memory* [ %call2_41094c, %block_.L_410937 ], [ %1563, %block_.L_410990 ] store i64 ptrtoint (%G__0x429b45_type* @G__0x429b45 to i64), i64* %RSI.i, align 8 %1571 = load i64, i64* %RBP.i, align 8 %1572 = add i64 %1571, -8 %1573 = add i64 %1570, 14 store i64 %1573, i64* %3, align 8 %1574 = inttoptr i64 %1572 to i64* %1575 = load i64, i64* %1574, align 8 %1576 = add i64 %1575, 6 store i64 %1576, i64* %RAX.i66, align 8 %1577 = icmp ugt i64 %1575, -7 %1578 = zext i1 %1577 to i8 store i8 %1578, i8* %14, align 1 %1579 = trunc i64 %1576 to i32 %1580 = and i32 %1579, 255 %1581 = tail call i32 @llvm.ctpop.i32(i32 %1580) %1582 = trunc i32 %1581 to i8 %1583 = and i8 %1582, 1 %1584 = xor i8 %1583, 1 store i8 %1584, i8* %21, align 1 %1585 = xor i64 %1576, %1575 %1586 = lshr i64 %1585, 4 %1587 = trunc i64 %1586 to i8 %1588 = and i8 %1587, 1 store i8 %1588, i8* %26, align 1 %1589 = icmp eq i64 %1576, 0 %1590 = zext i1 %1589 to i8 store i8 %1590, i8* %29, align 1 %1591 = lshr i64 %1576, 63 %1592 = trunc i64 %1591 to i8 store i8 %1592, i8* %32, align 1 %1593 = lshr i64 %1575, 63 %1594 = xor i64 %1591, %1593 %1595 = add nuw nsw i64 %1594, %1591 %1596 = icmp eq i64 %1595, 2 %1597 = zext i1 %1596 to i8 store i8 %1597, i8* %38, align 1 store i64 %1576, i64* %RDI.i190, align 8 %1598 = add i64 %1570, -64443 %1599 = add i64 %1570, 26 %1600 = load i64, i64* %6, align 8 %1601 = add i64 %1600, -8 %1602 = inttoptr i64 %1601 to i64* store i64 %1599, i64* %1602, align 8 store i64 %1601, i64* %6, align 8 store i64 %1598, i64* %3, align 8 %call2_4109c0 = tail call %struct.Memory* @sub_400df0.strstr_plt(%struct.State* nonnull %0, i64 %1598, %struct.Memory* %MEMORY.11) %1603 = load i64, i64* %RAX.i66, align 8 %1604 = load i64, i64* %3, align 8 store i8 0, i8* %14, align 1 %1605 = trunc i64 %1603 to i32 %1606 = and i32 %1605, 255 %1607 = tail call i32 @llvm.ctpop.i32(i32 %1606) %1608 = trunc i32 %1607 to i8 %1609 = and i8 %1608, 1 %1610 = xor i8 %1609, 1 store i8 %1610, i8* %21, align 1 store i8 0, i8* %26, align 1 %1611 = icmp eq i64 %1603, 0 %1612 = zext i1 %1611 to i8 store i8 %1612, i8* %29, align 1 %1613 = lshr i64 %1603, 63 %1614 = trunc i64 %1613 to i8 store i8 %1614, i8* %32, align 1 store i8 0, i8* %38, align 1 %.v177 = select i1 %1611, i64 143, i64 10 %1615 = add i64 %1604, %.v177 store i64 %1615,