Fixture 196

disjoint frame slots

C · 4 functions · 4 lanes · 16 of 16 function-lanes behave identically

All 4 lanes recompile and return the same results as the original.

Loads held across a store to a DISJOINT slot of the same frame object.

copy_prop records a single-use load and folds it into its one reader. At every Stmt::Store it used to drop every pending load unconditionally, because "the store may alias". Measured over this corpus at -O0 and -O2 (732 C/C++ lanes, 10,051 functions), 1,989 of those dropped loads had a reader waiting in the same straight-line run, and 1,308 of them were a store and a load at CONSTANT, NON-OVERLAPPING offsets of the same named frame object. Only 8 pairs genuinely overlapped. The evidence needed to tell those apart is already in the AST -- Expr::StackAddr { object }, a literal displacement, and the widths Stmt::Store { size } and Expr::Deref { size } already carry -- so no instruction identity has to be threaded to keep them.

The risk being guarded is the expensive one. Folding a load across a store that DOES alias moves a read past a write and yields C that compiles, runs, and returns a different number. Every function here is executed and differentiated against the original, and the three controls exist to fail if the disjointness test is ever loosened:

dfs196_spill_web POSITIVE. 48 locals live across two mixing phases, so the allocator spills them and the phases read and write distinct constant slots of one frame object. This is the shape the 1,308 came from. dfs196_alias_control CONTROL. The store goes through a pointer that really does point into the same array. Nothing proves non-aliasing, so the load must not move. dfs196_indexed_control CONTROL. The written slot is a runtime value, so no constant displacement exists to compare. dfs196_overlap_control CONTROL. A 2-byte write and a 4-byte read that share bytes, at constant displacements -- exactly the case the range test must REJECT rather than accept. Reached through a union so the overlap is real storage reuse, not a discardable type pun.

tests/decompiler_fixtures/src/196_disjoint_frame_slots.c source
#include <stdint.h>

/* Loads held across a store to a DISJOINT slot of the same frame object.
 *
 * `copy_prop` records a single-use load and folds it into its one reader. At
 * every `Stmt::Store` it used to drop every pending load unconditionally,
 * because "the store may alias". Measured over this corpus at -O0 and -O2 (732
 * C/C++ lanes, 10,051 functions), 1,989 of those dropped loads had a reader
 * waiting in the same straight-line run, and 1,308 of them were a store and a
 * load at CONSTANT, NON-OVERLAPPING offsets of the same named frame object.
 * Only 8 pairs genuinely overlapped. The evidence needed to tell those apart is
 * already in the AST -- `Expr::StackAddr { object }`, a literal displacement,
 * and the widths `Stmt::Store { size }` and `Expr::Deref { size }` already
 * carry -- so no instruction identity has to be threaded to keep them.
 *
 * The risk being guarded is the expensive one. Folding a load across a store
 * that DOES alias moves a read past a write and yields C that compiles, runs,
 * and returns a different number. Every function here is executed and
 * differentiated against the original, and the three controls exist to fail if
 * the disjointness test is ever loosened:
 *
 *   dfs196_spill_web        POSITIVE. 48 locals live across two mixing phases,
 *                           so the allocator spills them and the phases read
 *                           and write distinct constant slots of one frame
 *                           object. This is the shape the 1,308 came from.
 *   dfs196_alias_control    CONTROL. The store goes through a pointer that
 *                           really does point into the same array. Nothing
 *                           proves non-aliasing, so the load must not move.
 *   dfs196_indexed_control  CONTROL. The written slot is a runtime value, so no
 *                           constant displacement exists to compare.
 *   dfs196_overlap_control  CONTROL. A 2-byte write and a 4-byte read that
 *                           share bytes, at constant displacements -- exactly
 *                           the case the range test must REJECT rather than
 *                           accept. Reached through a union so the overlap is
 *                           real storage reuse, not a discardable type pun. */

#define DFS196_N 8

__attribute__((noinline)) int32_t dfs196_spill_web(int32_t *scratch, int32_t seed) {
    uint32_t base = (uint32_t)seed * 2654435761u + 0x9E3779B1u;
    uint32_t total = 0u;
    if (scratch == 0) {
        return -1;
    }
    uint32_t s00 = base * 1103515245u + 1u;
    uint32_t s01 = base * 1103515283u + 8u;
    uint32_t s02 = base * 1103515321u + 15u;
    uint32_t s03 = base * 1103515359u + 22u;
    uint32_t s04 = base * 1103515397u + 29u;
    uint32_t s05 = base * 1103515435u + 36u;
    uint32_t s06 = base * 1103515473u + 43u;
    uint32_t s07 = base * 1103515511u + 50u;
    uint32_t s08 = base * 1103515549u + 57u;
    uint32_t s09 = base * 1103515587u + 64u;
    uint32_t s10 = base * 1103515625u + 71u;
    uint32_t s11 = base * 1103515663u + 78u;
    uint32_t s12 = base * 1103515701u + 85u;
    uint32_t s13 = base * 1103515739u + 92u;
    uint32_t s14 = base * 1103515777u + 99u;
    uint32_t s15 = base * 1103515815u + 106u;
    uint32_t s16 = base * 1103515853u + 113u;
    uint32_t s17 = base * 1103515891u + 120u;
    uint32_t s18 = base * 1103515929u + 127u;
    uint32_t s19 = base * 1103515967u + 134u;
    uint32_t s20 = base * 1103516005u + 141u;
    uint32_t s21 = base * 1103516043u + 148u;
    uint32_t s22 = base * 1103516081u + 155u;
    uint32_t s23 = base * 1103516119u + 162u;
    uint32_t s24 = base * 1103516157u + 169u;
    uint32_t s25 = base * 1103516195u + 176u;
    uint32_t s26 = base * 1103516233u + 183u;
    uint32_t s27 = base * 1103516271u + 190u;
    uint32_t s28 = base * 1103516309u + 197u;
    uint32_t s29 = base * 1103516347u + 204u;
    uint32_t s30 = base * 1103516385u + 211u;
    uint32_t s31 = base * 1103516423u + 218u;
    uint32_t s32 = base * 1103516461u + 225u;
    uint32_t s33 = base * 1103516499u + 232u;
    uint32_t s34 = base * 1103516537u + 239u;
    uint32_t s35 = base * 1103516575u + 246u;
    uint32_t s36 = base * 1103516613u + 253u;
    uint32_t s37 = base * 1103516651u + 260u;
    uint32_t s38 = base * 1103516689u + 267u;
    uint32_t s39 = base * 1103516727u + 274u;
    uint32_t s40 = base * 1103516765u + 281u;
    uint32_t s41 = base * 1103516803u + 288u;
    uint32_t s42 = base * 1103516841u + 295u;
    uint32_t s43 = base * 1103516879u + 302u;
    uint32_t s44 = base * 1103516917u + 309u;
    uint32_t s45 = base * 1103516955u + 316u;
    uint32_t s46 = base * 1103516993u + 323u;
    uint32_t s47 = base * 1103517031u + 330u;

    /* Every local is live across both phases, so the allocator has to
     * spill most of them to the frame; the phases then read and write
     * distinct constant slots of that one spill object. */
    s00 = (s00 + (s11 ^ (s19 >> 1u))) + 0x1234u;
    s01 = (s01 + (s12 ^ (s20 >> 2u))) + 0xb06bu;
    s02 = (s02 + (s13 ^ (s21 >> 3u))) + 0x14ea2u;
    s03 = (s03 + (s14 ^ (s22 >> 4u))) + 0x1ecd9u;
    s04 = (s04 + (s15 ^ (s23 >> 5u))) + 0x28b10u;
    s05 = (s05 + (s16 ^ (s24 >> 6u))) + 0x32947u;
    s06 = (s06 + (s17 ^ (s25 >> 7u))) + 0x3c77eu;
    s07 = (s07 + (s18 ^ (s26 >> 1u))) + 0x465b5u;
    s08 = (s08 + (s19 ^ (s27 >> 2u))) + 0x503ecu;
    s09 = (s09 + (s20 ^ (s28 >> 3u))) + 0x5a223u;
    s10 = (s10 + (s21 ^ (s29 >> 4u))) + 0x6405au;
    s11 = (s11 + (s22 ^ (s30 >> 5u))) + 0x6de91u;
    s12 = (s12 + (s23 ^ (s31 >> 6u))) + 0x77cc8u;
    s13 = (s13 + (s24 ^ (s32 >> 7u))) + 0x81affu;
    s14 = (s14 + (s25 ^ (s33 >> 1u))) + 0x8b936u;
    s15 = (s15 + (s26 ^ (s34 >> 2u))) + 0x9576du;
    s16 = (s16 + (s27 ^ (s35 >> 3u))) + 0x9f5a4u;
    s17 = (s17 + (s28 ^ (s36 >> 4u))) + 0xa93dbu;
    s18 = (s18 + (s29 ^ (s37 >> 5u))) + 0xb3212u;
    s19 = (s19 + (s30 ^ (s38 >> 6u))) + 0xbd049u;
    s20 = (s20 + (s31 ^ (s39 >> 7u))) + 0xc6e80u;
    s21 = (s21 + (s32 ^ (s40 >> 1u))) + 0xd0cb7u;
    s22 = (s22 + (s33 ^ (s41 >> 2u))) + 0xdaaeeu;
    s23 = (s23 + (s34 ^ (s42 >> 3u))) + 0xe4925u;
    s24 = (s24 + (s35 ^ (s43 >> 4u))) + 0xee75cu;
    s25 = (s25 + (s36 ^ (s44 >> 5u))) + 0xf8593u;
    s26 = (s26 + (s37 ^ (s45 >> 6u))) + 0x1023cau;
    s27 = (s27 + (s38 ^ (s46 >> 7u))) + 0x10c201u;
    s28 = (s28 + (s39 ^ (s47 >> 1u))) + 0x116038u;
    s29 = (s29 + (s40 ^ (s00 >> 2u))) + 0x11fe6fu;
    s30 = (s30 + (s41 ^ (s01 >> 3u))) + 0x129ca6u;
    s31 = (s31 + (s42 ^ (s02 >> 4u))) + 0x133addu;
    s32 = (s32 + (s43 ^ (s03 >> 5u))) + 0x13d914u;
    s33 = (s33 + (s44 ^ (s04 >> 6u))) + 0x14774bu;
    s34 = (s34 + (s45 ^ (s05 >> 7u))) + 0x151582u;
    s35 = (s35 + (s46 ^ (s06 >> 1u))) + 0x15b3b9u;
    s36 = (s36 + (s47 ^ (s07 >> 2u))) + 0x1651f0u;
    s37 = (s37 + (s00 ^ (s08 >> 3u))) + 0x16f027u;
    s38 = (s38 + (s01 ^ (s09 >> 4u))) + 0x178e5eu;
    s39 = (s39 + (s02 ^ (s10 >> 5u))) + 0x182c95u;
    s40 = (s40 + (s03 ^ (s11 >> 6u))) + 0x18caccu;
    s41 = (s41 + (s04 ^ (s12 >> 7u))) + 0x196903u;
    s42 = (s42 + (s05 ^ (s13 >> 1u))) + 0x1a073au;
    s43 = (s43 + (s06 ^ (s14 >> 2u))) + 0x1aa571u;
    s44 = (s44 + (s07 ^ (s15 >> 3u))) + 0x1b43a8u;
    s45 = (s45 + (s08 ^ (s16 >> 4u))) + 0x1be1dfu;
    s46 = (s46 + (s09 ^ (s17 >> 5u))) + 0x1c8016u;
    s47 = (s47 + (s10 ^ (s18 >> 6u))) + 0x1d1e4du;

    s00 = (s00 * 3u) ^ (s05 + s23);
    s01 = (s01 * 3u) ^ (s06 + s24);
    s02 = (s02 * 3u) ^ (s07 + s25);
    s03 = (s03 * 3u) ^ (s08 + s26);
    s04 = (s04 * 3u) ^ (s09 + s27);
    s05 = (s05 * 3u) ^ (s10 + s28);
    s06 = (s06 * 3u) ^ (s11 + s29);
    s07 = (s07 * 3u) ^ (s12 + s30);
    s08 = (s08 * 3u) ^ (s13 + s31);
    s09 = (s09 * 3u) ^ (s14 + s32);
    s10 = (s10 * 3u) ^ (s15 + s33);
    s11 = (s11 * 3u) ^ (s16 + s34);
    s12 = (s12 * 3u) ^ (s17 + s35);
    s13 = (s13 * 3u) ^ (s18 + s36);
    s14 = (s14 * 3u) ^ (s19 + s37);
    s15 = (s15 * 3u) ^ (s20 + s38);
    s16 = (s16 * 3u) ^ (s21 + s39);
    s17 = (s17 * 3u) ^ (s22 + s40);
    s18 = (s18 * 3u) ^ (s23 + s41);
    s19 = (s19 * 3u) ^ (s24 + s42);
    s20 = (s20 * 3u) ^ (s25 + s43);
    s21 = (s21 * 3u) ^ (s26 + s44);
    s22 = (s22 * 3u) ^ (s27 + s45);
    s23 = (s23 * 3u) ^ (s28 + s46);
    s24 = (s24 * 3u) ^ (s29 + s47);
    s25 = (s25 * 3u) ^ (s30 + s00);
    s26 = (s26 * 3u) ^ (s31 + s01);
    s27 = (s27 * 3u) ^ (s32 + s02);
    s28 = (s28 * 3u) ^ (s33 + s03);
    s29 = (s29 * 3u) ^ (s34 + s04);
    s30 = (s30 * 3u) ^ (s35 + s05);
    s31 = (s31 * 3u) ^ (s36 + s06);
    s32 = (s32 * 3u) ^ (s37 + s07);
    s33 = (s33 * 3u) ^ (s38 + s08);
    s34 = (s34 * 3u) ^ (s39 + s09);
    s35 = (s35 * 3u) ^ (s40 + s10);
    s36 = (s36 * 3u) ^ (s41 + s11);
    s37 = (s37 * 3u) ^ (s42 + s12);
    s38 = (s38 * 3u) ^ (s43 + s13);
    s39 = (s39 * 3u) ^ (s44 + s14);
    s40 = (s40 * 3u) ^ (s45 + s15);
    s41 = (s41 * 3u) ^ (s46 + s16);
    s42 = (s42 * 3u) ^ (s47 + s17);
    s43 = (s43 * 3u) ^ (s00 + s18);
    s44 = (s44 * 3u) ^ (s01 + s19);
    s45 = (s45 * 3u) ^ (s02 + s20);
    s46 = (s46 * 3u) ^ (s03 + s21);
    s47 = (s47 * 3u) ^ (s04 + s22);

    /* Distinct positional weight: a slot read one store too late, or
     * two slots swapped, changes the total. */
    total = total * 31u + s00;
    total = total * 31u + s01;
    total = total * 31u + s02;
    total = total * 31u + s03;
    total = total * 31u + s04;
    total = total * 31u + s05;
    total = total * 31u + s06;
    total = total * 31u + s07;
    total = total * 31u + s08;
    total = total * 31u + s09;
    total = total * 31u + s10;
    total = total * 31u + s11;
    total = total * 31u + s12;
    total = total * 31u + s13;
    total = total * 31u + s14;
    total = total * 31u + s15;
    total = total * 31u + s16;
    total = total * 31u + s17;
    total = total * 31u + s18;
    total = total * 31u + s19;
    total = total * 31u + s20;
    total = total * 31u + s21;
    total = total * 31u + s22;
    total = total * 31u + s23;
    total = total * 31u + s24;
    total = total * 31u + s25;
    total = total * 31u + s26;
    total = total * 31u + s27;
    total = total * 31u + s28;
    total = total * 31u + s29;
    total = total * 31u + s30;
    total = total * 31u + s31;
    total = total * 31u + s32;
    total = total * 31u + s33;
    total = total * 31u + s34;
    total = total * 31u + s35;
    total = total * 31u + s36;
    total = total * 31u + s37;
    total = total * 31u + s38;
    total = total * 31u + s39;
    total = total * 31u + s40;
    total = total * 31u + s41;
    total = total * 31u + s42;
    total = total * 31u + s43;
    total = total * 31u + s44;
    total = total * 31u + s45;
    total = total * 31u + s46;
    total = total * 31u + s47;
    scratch[0] = (int32_t)total;
    scratch[1] = (int32_t)s00;
    return (int32_t)total;
}

/* CONTROL: `p` genuinely points into `a`, so the store through it changes what
 * a later read of `a[3]` must see. Folding a pending load past this store
 * returns the pre-store value, and the differential catches it. */
__attribute__((noinline)) int32_t dfs196_alias_control(int32_t *scratch, int32_t seed) {
    int32_t a[DFS196_N];
    int32_t *p;
    int32_t i;
    int32_t before;
    if (scratch == 0) {
        return -1;
    }
    for (i = 0; i < DFS196_N; i++) {
        a[i] = seed + i;
    }
    p = &a[3];
    before = a[3];
    *p = before + 0x1000;
    scratch[0] = a[3];
    /* Reads the same slot on both sides of the store, with distinct weights. */
    return a[3] * 3 + before;
}

/* CONTROL: the written slot is chosen at runtime, so there is no constant
 * displacement to compare against the pending load's. */
__attribute__((noinline)) int32_t dfs196_indexed_control(int32_t *scratch, int32_t seed) {
    int32_t a[DFS196_N];
    int32_t i;
    int32_t k;
    int32_t before;
    if (scratch == 0) {
        return -1;
    }
    for (i = 0; i < DFS196_N; i++) {
        a[i] = seed * 2 + i;
    }
    k = seed & (DFS196_N - 1);
    before = a[5];
    a[k] = before + 0x777;
    scratch[0] = a[5];
    /* When k == 5 the two reads of a[5] differ. */
    return a[5] * 3 + before;
}

union dfs196_overlap {
    int32_t word[2];
    struct {
        int16_t lo;
        int16_t hi;
    } half[2];
};

/* CONTROL: a 2-byte write inside the 4 bytes a later read covers. Both
 * displacements are constant, so this is the pair the range test has to call
 * overlapping. */
__attribute__((noinline)) int32_t dfs196_overlap_control(int32_t *scratch, int32_t seed) {
    union dfs196_overlap u;
    int32_t before;
    if (scratch == 0) {
        return -1;
    }
    u.word[0] = seed;
    u.word[1] = seed + 1;
    before = u.word[0];
    u.half[0].hi = (int16_t)(seed + 5);
    scratch[0] = u.word[0];
    /* `u.half[0].hi` is the upper half of `u.word[0]`, so this read must see
     * the new value, not `before`. */
    return u.word[0] * 3 + before + u.word[1] * 7;
}

Recovered C

Generated by glaurung decompile --style decbench at b47f6b43. baseline.json records the result after recompiling the C and calling it beside the original with seeded inputs.

clang -O0

4/4
dfs196_alias_control pass 20 lines
// glaurung: dfs196_alias_control @ 0x1ff0
__attribute__((no_stack_protector)) int32_t dfs196_alias_control(int32_t * arg0, int32_t arg1) {
    int i;
    int * p;
    int before;
    unsigned char local_40[32];
    // x86-64 prologue: save rbp
    if ((arg0 != 0)) {
        for (i = 0; ((long)(i) < 8); i++) {
            *(int *)((&local_40[0] + ((long)(i) * 4))) = ((unsigned long)((unsigned int)(arg1)) + i);
        }
        p = (int *)((&local_40[0] + 12));
        before = *(int *)((&local_40[0] + 12));
        *(int *)((p)) = ((unsigned long)((unsigned int)(before)) + 4096);
        *(int *)((long)arg0) = *(int *)((&local_40[0] + 12));
        return (unsigned int)(((*(int *)((&local_40[0] + 12)) * 3) + before));
    } else {
        return (unsigned int)(-1);
    }
}
dfs196_indexed_control pass 20 lines
// glaurung: dfs196_indexed_control @ 0x2080
__attribute__((no_stack_protector)) int32_t dfs196_indexed_control(int32_t * arg0, int32_t arg1) {
    int i;
    int k;
    int before;
    unsigned char local_40[32];
    // x86-64 prologue: save rbp
    if ((arg0 != 0)) {
        for (i = 0; ((long)(i) < 8); i++) {
            *(int *)((&local_40[0] + ((long)(i) * 4))) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(arg1)) << 1))) + i);
        }
        k = ((unsigned int)(arg1) & 7);
        before = *(int *)((&local_40[0] + 20));
        *(int *)((&local_40[0] + ((long)(k) * 4))) = ((unsigned long)((unsigned int)(before)) + 1911);
        *(int *)((long)arg0) = *(int *)((&local_40[0] + 20));
        return (unsigned int)(((*(int *)((&local_40[0] + 20)) * 3) + before));
    } else {
        return (unsigned int)(-1);
    }
}
dfs196_overlap_control pass 16 lines
// glaurung: dfs196_overlap_control @ 0x2110
__attribute__((no_stack_protector)) int32_t dfs196_overlap_control(int32_t * arg0, int32_t arg1) {
    int before;
    unsigned char local_20[8];
    // x86-64 prologue: save rbp
    if ((arg0 != 0)) {
        *(int *)(&local_20[0]) = arg1;
        *(int *)((&local_20[0] + 4)) = ((unsigned long)((unsigned int)(arg1)) + 1);
        before = *(int *)(&local_20[0]);
        *(short *)((&local_20[0] + 2)) = ((unsigned long)((unsigned int)(arg1)) + 5);
        *(int *)((long)arg0) = *(int *)(&local_20[0]);
        return (unsigned int)(((unsigned long)((unsigned int)(((*(int *)(&local_20[0]) * 3) + before))) + (*(int *)((&local_20[0] + 4)) * 7)));
    } else {
        return (unsigned int)(-1);
    }
}
dfs196_spill_web pass 255 lines
// glaurung: dfs196_spill_web @ 0x1100
int32_t dfs196_spill_web(int32_t * arg0, int32_t arg1) {
    unsigned int base;
    unsigned int total;
    unsigned int s00;
    unsigned int s01;
    unsigned int s02;
    unsigned int s03;
    unsigned int s04;
    unsigned int s05;
    unsigned int s06;
    unsigned int s07;
    unsigned int s08;
    unsigned int s09;
    unsigned int s10;
    unsigned int s11;
    unsigned int s12;
    unsigned int s13;
    unsigned int s14;
    unsigned int s15;
    unsigned int s16;
    unsigned int s17;
    unsigned int s18;
    unsigned int s19;
    unsigned int s20;
    unsigned int s21;
    unsigned int s22;
    unsigned int s23;
    unsigned int s24;
    unsigned int s25;
    unsigned int s26;
    unsigned int s27;
    unsigned int s28;
    unsigned int s29;
    unsigned int s30;
    unsigned int s31;
    unsigned int s32;
    unsigned int s33;
    unsigned int s34;
    unsigned int s35;
    unsigned int s36;
    unsigned int s37;
    unsigned int s38;
    unsigned int s39;
    unsigned int s40;
    unsigned int s41;
    unsigned int s42;
    unsigned int s43;
    unsigned int s44;
    unsigned int s45;
    unsigned int s46;
    unsigned int s47;
    // x86-64 prologue: save rbp, frame 96 bytes
    base = ((arg1 * -0x61c8864fLL) - 0x61c8864f);
    total = 0;
    if ((arg0 != 0)) {
        s00 = ((base * 0x41c64e6d) + 1);
        s01 = ((base * 0x41c64e93) + 8);
        s02 = ((base * 0x41c64eb9) + 15);
        s03 = ((base * 0x41c64edf) + 22);
        s04 = ((base * 0x41c64f05) + 29);
        s05 = ((base * 0x41c64f2b) + 36);
        s06 = ((base * 0x41c64f51) + 43);
        s07 = ((base * 0x41c64f77) + 50);
        s08 = ((base * 0x41c64f9d) + 57);
        s09 = ((base * 0x41c64fc3) + 64);
        s10 = ((base * 0x41c64fe9) + 71);
        s11 = ((base * 0x41c6500f) + 78);
        s12 = ((base * 0x41c65035) + 85);
        s13 = ((base * 0x41c6505b) + 92);
        s14 = ((base * 0x41c65081) + 99);
        s15 = ((base * 0x41c650a7) + 106);
        s16 = ((base * 0x41c650cd) + 113);
        s17 = ((base * 0x41c650f3) + 120);
        s18 = ((base * 0x41c65119) + 127);
        s19 = ((base * 0x41c6513f) + 134);
        s20 = ((base * 0x41c65165) + 141);
        s21 = ((base * 0x41c6518b) + 148);
        s22 = ((base * 0x41c651b1) + 155);
        s23 = ((base * 0x41c651d7) + 162);
        s24 = ((base * 0x41c651fd) + 169);
        s25 = ((base * 0x41c65223) + 176);
        s26 = ((base * 0x41c65249) + 183);
        s27 = ((base * 0x41c6526f) + 190);
        s28 = ((base * 0x41c65295) + 197);
        s29 = ((base * 0x41c652bb) + 204);
        s30 = ((base * 0x41c652e1) + 211);
        s31 = ((base * 0x41c65307) + 218);
        s32 = ((base * 0x41c6532d) + 225);
        s33 = ((base * 0x41c65353) + 232);
        s34 = ((base * 0x41c65379) + 239);
        s35 = ((base * 0x41c6539f) + 246);
        s36 = ((base * 0x41c653c5) + 253);
        s37 = ((base * 0x41c653eb) + 260);
        s38 = ((base * 0x41c65411) + 267);
        s39 = ((base * 0x41c65437) + 274);
        s40 = ((base * 0x41c6545d) + 281);
        s41 = ((base * 0x41c65483) + 288);
        s42 = ((base * 0x41c654a9) + 295);
        s43 = ((base * 0x41c654cf) + 302);
        s44 = ((base * 0x41c654f5) + 309);
        s45 = ((base * 0x41c6551b) + 316);
        s46 = ((base * 0x41c65541) + 323);
        s47 = ((base * 0x41c65567) + 330);
        s00 = ((unsigned int)((s00 + (unsigned long)((unsigned int)((s11 ^ (unsigned long)((unsigned int)(((unsigned int)(s19) >> 1)))))))) + 0x1234);
        s01 = ((unsigned int)((s01 + (unsigned long)((unsigned int)((s12 ^ (unsigned long)((unsigned int)(((unsigned int)(s20) >> 2)))))))) + 0xb06b);
        s02 = ((unsigned int)((s02 + (unsigned long)((unsigned int)((s13 ^ (unsigned long)((unsigned int)(((unsigned int)(s21) >> 3)))))))) + 0x14ea2);
        s03 = ((unsigned int)((s03 + (unsigned long)((unsigned int)((s14 ^ (unsigned long)((unsigned int)(((unsigned int)(s22) >> 4)))))))) + 0x1ecd9);
        s04 = ((unsigned int)((s04 + (unsigned long)((unsigned int)((s15 ^ (unsigned long)((unsigned int)(((unsigned int)(s23) >> 5)))))))) + 0x28b10);
        s05 = ((unsigned int)((s05 + (unsigned long)((unsigned int)((s16 ^ (unsigned long)((unsigned int)(((unsigned int)(s24) >> 6)))))))) + 0x32947);
        s06 = ((unsigned int)((s06 + (unsigned long)((unsigned int)((s17 ^ (unsigned long)((unsigned int)(((unsigned int)(s25) >> 7)))))))) + 0x3c77e);
        s07 = ((unsigned int)((s07 + (unsigned long)((unsigned int)((s18 ^ (unsigned long)((unsigned int)(((unsigned int)(s26) >> 1)))))))) + 0x465b5);
        s08 = ((unsigned int)((s08 + (unsigned long)((unsigned int)((s19 ^ (unsigned long)((unsigned int)(((unsigned int)(s27) >> 2)))))))) + 0x503ec);
        s09 = ((unsigned int)((s09 + (unsigned long)((unsigned int)((s20 ^ (unsigned long)((unsigned int)(((unsigned int)(s28) >> 3)))))))) + 0x5a223);
        s10 = ((unsigned int)((s10 + (unsigned long)((unsigned int)((s21 ^ (unsigned long)((unsigned int)(((unsigned int)(s29) >> 4)))))))) + 0x6405a);
        s11 = ((unsigned int)((s11 + (unsigned long)((unsigned int)((s22 ^ (unsigned long)((unsigned int)(((unsigned int)(s30) >> 5)))))))) + 0x6de91);
        s12 = ((unsigned int)((s12 + (unsigned long)((unsigned int)((s23 ^ (unsigned long)((unsigned int)(((unsigned int)(s31) >> 6)))))))) + 0x77cc8);
        s13 = ((unsigned int)((s13 + (unsigned long)((unsigned int)((s24 ^ (unsigned long)((unsigned int)(((unsigned int)(s32) >> 7)))))))) + 0x81aff);
        s14 = ((unsigned int)((s14 + (unsigned long)((unsigned int)((s25 ^ (unsigned long)((unsigned int)(((unsigned int)(s33) >> 1)))))))) + 0x8b936);
        s15 = ((unsigned int)((s15 + (unsigned long)((unsigned int)((s26 ^ (unsigned long)((unsigned int)(((unsigned int)(s34) >> 2)))))))) + 0x9576d);
        s16 = ((unsigned int)((s16 + (unsigned long)((unsigned int)((s27 ^ (unsigned long)((unsigned int)(((unsigned int)(s35) >> 3)))))))) + 0x9f5a4);
        s17 = ((unsigned int)((s17 + (unsigned long)((unsigned int)((s28 ^ (unsigned long)((unsigned int)(((unsigned int)(s36) >> 4)))))))) + 0xa93db);
        s18 = ((unsigned int)((s18 + (unsigned long)((unsigned int)((s29 ^ (unsigned long)((unsigned int)(((unsigned int)(s37) >> 5)))))))) + 0xb3212);
        s19 = ((unsigned int)((s19 + (unsigned long)((unsigned int)((s30 ^ (unsigned long)((unsigned int)(((unsigned int)(s38) >> 6)))))))) + 0xbd049);
        s20 = ((unsigned int)((s20 + (unsigned long)((unsigned int)((s31 ^ (unsigned long)((unsigned int)(((unsigned int)(s39) >> 7)))))))) + 0xc6e80);
        s21 = ((unsigned int)((s21 + (unsigned long)((unsigned int)((s32 ^ (unsigned long)((unsigned int)(((unsigned int)(s40) >> 1)))))))) + 0xd0cb7);
        s22 = ((unsigned int)((s22 + (unsigned long)((unsigned int)((s33 ^ (unsigned long)((unsigned int)(((unsigned int)(s41) >> 2)))))))) + 0xdaaee);
        s23 = ((unsigned int)((s23 + (unsigned long)((unsigned int)((s34 ^ (unsigned long)((unsigned int)(((unsigned int)(s42) >> 3)))))))) + 0xe4925);
        s24 = ((unsigned int)((s24 + (unsigned long)((unsigned int)((s35 ^ (unsigned long)((unsigned int)(((unsigned int)(s43) >> 4)))))))) + 0xee75c);
        s25 = ((unsigned int)((s25 + (unsigned long)((unsigned int)((s36 ^ (unsigned long)((unsigned int)(((unsigned int)(s44) >> 5)))))))) + 0xf8593);
        s26 = ((unsigned int)((s26 + (unsigned long)((unsigned int)((s37 ^ (unsigned long)((unsigned int)(((unsigned int)(s45) >> 6)))))))) + 0x1023ca);
        s27 = ((unsigned int)((s27 + (unsigned long)((unsigned int)((s38 ^ (unsigned long)((unsigned int)(((unsigned int)(s46) >> 7)))))))) + 0x10c201);
        s28 = ((unsigned int)((s28 + (unsigned long)((unsigned int)((s39 ^ (unsigned long)((unsigned int)(((unsigned int)(s47) >> 1)))))))) + 0x116038);
        s29 = ((unsigned int)((s29 + (unsigned long)((unsigned int)((s40 ^ (unsigned long)((unsigned int)(((unsigned int)(s00) >> 2)))))))) + 0x11fe6f);
        s30 = ((unsigned int)((s30 + (unsigned long)((unsigned int)((s41 ^ (unsigned long)((unsigned int)(((unsigned int)(s01) >> 3)))))))) + 0x129ca6);
        s31 = ((unsigned int)((s31 + (unsigned long)((unsigned int)((s42 ^ (unsigned long)((unsigned int)(((unsigned int)(s02) >> 4)))))))) + 0x133add);
        s32 = ((unsigned int)((s32 + (unsigned long)((unsigned int)((s43 ^ (unsigned long)((unsigned int)(((unsigned int)(s03) >> 5)))))))) + 0x13d914);
        s33 = ((unsigned int)((s33 + (unsigned long)((unsigned int)((s44 ^ (unsigned long)((unsigned int)(((unsigned int)(s04) >> 6)))))))) + 0x14774b);
        s34 = ((unsigned int)((s34 + (unsigned long)((unsigned int)((s45 ^ (unsigned long)((unsigned int)(((unsigned int)(s05) >> 7)))))))) + 0x151582);
        s35 = ((unsigned int)((s35 + (unsigned long)((unsigned int)((s46 ^ (unsigned long)((unsigned int)(((unsigned int)(s06) >> 1)))))))) + 0x15b3b9);
        s36 = ((unsigned int)((s36 + (unsigned long)((unsigned int)((s47 ^ (unsigned long)((unsigned int)(((unsigned int)(s07) >> 2)))))))) + 0x1651f0);
        s37 = ((unsigned int)((s37 + (unsigned long)((unsigned int)((s00 ^ (unsigned long)((unsigned int)(((unsigned int)(s08) >> 3)))))))) + 0x16f027);
        s38 = ((unsigned int)((s38 + (unsigned long)((unsigned int)((s01 ^ (unsigned long)((unsigned int)(((unsigned int)(s09) >> 4)))))))) + 0x178e5e);
        s39 = ((unsigned int)((s39 + (unsigned long)((unsigned int)((s02 ^ (unsigned long)((unsigned int)(((unsigned int)(s10) >> 5)))))))) + 0x182c95);
        s40 = ((unsigned int)((s40 + (unsigned long)((unsigned int)((s03 ^ (unsigned long)((unsigned int)(((unsigned int)(s11) >> 6)))))))) + 0x18cacc);
        s41 = ((unsigned int)((s41 + (unsigned long)((unsigned int)((s04 ^ (unsigned long)((unsigned int)(((unsigned int)(s12) >> 7)))))))) + 0x196903);
        s42 = ((unsigned int)((s42 + (unsigned long)((unsigned int)((s05 ^ (unsigned long)((unsigned int)(((unsigned int)(s13) >> 1)))))))) + 0x1a073a);
        s43 = ((unsigned int)((s43 + (unsigned long)((unsigned int)((s06 ^ (unsigned long)((unsigned int)(((unsigned int)(s14) >> 2)))))))) + 0x1aa571);
        s44 = ((unsigned int)((s44 + (unsigned long)((unsigned int)((s07 ^ (unsigned long)((unsigned int)(((unsigned int)(s15) >> 3)))))))) + 0x1b43a8);
        s45 = ((unsigned int)((s45 + (unsigned long)((unsigned int)((s08 ^ (unsigned long)((unsigned int)(((unsigned int)(s16) >> 4)))))))) + 0x1be1df);
        s46 = ((unsigned int)((s46 + (unsigned long)((unsigned int)((s09 ^ (unsigned long)((unsigned int)(((unsigned int)(s17) >> 5)))))))) + 0x1c8016);
        s47 = ((unsigned int)((s47 + (unsigned long)((unsigned int)((s10 ^ (unsigned long)((unsigned int)(((unsigned int)(s18) >> 6)))))))) + 0x1d1e4d);
        s00 = ((s00 * 3) ^ (unsigned int)((s05 + s23)));
        s01 = ((s01 * 3) ^ (unsigned int)((s06 + s24)));
        s02 = ((s02 * 3) ^ (unsigned int)((s07 + s25)));
        s03 = ((s03 * 3) ^ (unsigned int)((s08 + s26)));
        s04 = ((s04 * 3) ^ (unsigned int)((s09 + s27)));
        s05 = ((s05 * 3) ^ (unsigned int)((s10 + s28)));
        s06 = ((s06 * 3) ^ (unsigned int)((s11 + s29)));
        s07 = ((s07 * 3) ^ (unsigned int)((s12 + s30)));
        s08 = ((s08 * 3) ^ (unsigned int)((s13 + s31)));
        s09 = ((s09 * 3) ^ (unsigned int)((s14 + s32)));
        s10 = ((s10 * 3) ^ (unsigned int)((s15 + s33)));
        s11 = ((s11 * 3) ^ (unsigned int)((s16 + s34)));
        s12 = ((s12 * 3) ^ (unsigned int)((s17 + s35)));
        s13 = ((s13 * 3) ^ (unsigned int)((s18 + s36)));
        s14 = ((s14 * 3) ^ (unsigned int)((s19 + s37)));
        s15 = ((s15 * 3) ^ (unsigned int)((s20 + s38)));
        s16 = ((s16 * 3) ^ (unsigned int)((s21 + s39)));
        s17 = ((s17 * 3) ^ (unsigned int)((s22 + s40)));
        s18 = ((s18 * 3) ^ (unsigned int)((s23 + s41)));
        s19 = ((s19 * 3) ^ (unsigned int)((s24 + s42)));
        s20 = ((s20 * 3) ^ (unsigned int)((s25 + s43)));
        s21 = ((s21 * 3) ^ (unsigned int)((s26 + s44)));
        s22 = ((s22 * 3) ^ (unsigned int)((s27 + s45)));
        s23 = ((s23 * 3) ^ (unsigned int)((s28 + s46)));
        s24 = ((s24 * 3) ^ (unsigned int)((s29 + s47)));
        s25 = ((s25 * 3) ^ (unsigned int)((s30 + s00)));
        s26 = ((s26 * 3) ^ (unsigned int)((s31 + s01)));
        s27 = ((s27 * 3) ^ (unsigned int)((s32 + s02)));
        s28 = ((s28 * 3) ^ (unsigned int)((s33 + s03)));
        s29 = ((s29 * 3) ^ (unsigned int)((s34 + s04)));
        s30 = ((s30 * 3) ^ (unsigned int)((s35 + s05)));
        s31 = ((s31 * 3) ^ (unsigned int)((s36 + s06)));
        s32 = ((s32 * 3) ^ (unsigned int)((s37 + s07)));
        s33 = ((s33 * 3) ^ (unsigned int)((s38 + s08)));
        s34 = ((s34 * 3) ^ (unsigned int)((s39 + s09)));
        s35 = ((s35 * 3) ^ (unsigned int)((s40 + s10)));
        s36 = ((s36 * 3) ^ (unsigned int)((s41 + s11)));
        s37 = ((s37 * 3) ^ (unsigned int)((s42 + s12)));
        s38 = ((s38 * 3) ^ (unsigned int)((s43 + s13)));
        s39 = ((s39 * 3) ^ (unsigned int)((s44 + s14)));
        s40 = ((s40 * 3) ^ (unsigned int)((s45 + s15)));
        s41 = ((s41 * 3) ^ (unsigned int)((s46 + s16)));
        s42 = ((s42 * 3) ^ (unsigned int)((s47 + s17)));
        s43 = ((s43 * 3) ^ (unsigned int)((s00 + s18)));
        s44 = ((s44 * 3) ^ (unsigned int)((s01 + s19)));
        s45 = ((s45 * 3) ^ (unsigned int)((s02 + s20)));
        s46 = ((s46 * 3) ^ (unsigned int)((s03 + s21)));
        s47 = ((s47 * 3) ^ (unsigned int)((s04 + s22)));
        total = ((total * 31) + s00);
        total = ((total * 31) + s01);
        total = ((total * 31) + s02);
        total = ((total * 31) + s03);
        total = ((total * 31) + s04);
        total = ((total * 31) + s05);
        total = ((total * 31) + s06);
        total = ((total * 31) + s07);
        total = ((total * 31) + s08);
        total = ((total * 31) + s09);
        total = ((total * 31) + s10);
        total = ((total * 31) + s11);
        total = ((total * 31) + s12);
        total = ((total * 31) + s13);
        total = ((total * 31) + s14);
        total = ((total * 31) + s15);
        total = ((total * 31) + s16);
        total = ((total * 31) + s17);
        total = ((total * 31) + s18);
        total = ((total * 31) + s19);
        total = ((total * 31) + s20);
        total = ((total * 31) + s21);
        total = ((total * 31) + s22);
        total = ((total * 31) + s23);
        total = ((total * 31) + s24);
        total = ((total * 31) + s25);
        total = ((total * 31) + s26);
        total = ((total * 31) + s27);
        total = ((total * 31) + s28);
        total = ((total * 31) + s29);
        total = ((total * 31) + s30);
        total = ((total * 31) + s31);
        total = ((total * 31) + s32);
        total = ((total * 31) + s33);
        total = ((total * 31) + s34);
        total = ((total * 31) + s35);
        total = ((total * 31) + s36);
        total = ((total * 31) + s37);
        total = ((total * 31) + s38);
        total = ((total * 31) + s39);
        total = ((total * 31) + s40);
        total = ((total * 31) + s41);
        total = ((total * 31) + s42);
        total = ((total * 31) + s43);
        total = ((total * 31) + s44);
        total = ((total * 31) + s45);
        total = ((total * 31) + s46);
        total = ((total * 31) + s47);
        *(int *)((long)arg0) = total;
        *(int *)(((long)arg0 + 0x4)) = s00;
        return total;
    } else {
        return (unsigned int)(-1);
    }
}

clang -O2

4/4
dfs196_alias_control pass 11 lines
// glaurung: dfs196_alias_control @ 0x2250
int32_t dfs196_alias_control(int32_t * arg0, int32_t arg1) {
    int i;
    long var0;
    if ((arg0 == 0)) {
        return 0xffffffff;
    }
    var0 = (unsigned long)((unsigned int)((arg1 + 0x1003)));
    *(int *)(((long)arg0)) = var0;
    return (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((var0 + (var0 * 2)))) + arg1))) + 3));
}
dfs196_indexed_control pass 25 lines
// glaurung: dfs196_indexed_control @ 0x2270
__attribute__((no_stack_protector)) int32_t dfs196_indexed_control(int32_t * arg0, int32_t arg1) {
    int before;
    int i;
    int k;
    unsigned char local_28[40];
    long var0;
    long var44;
    if ((arg0 == 0)) {
        return 0xffffffff;
    }
    var0 = (unsigned long)((unsigned int)((arg1 + arg1)));
    *(int *)(&local_28[0]) = var0;
    *(int *)((&local_28[0] + 4)) = (1 | var0);
    *(int *)((&local_28[0] + 8)) = ((arg1 << 1) + 2);
    *(int *)((&local_28[0] + 12)) = ((arg1 << 1) + 3);
    *(int *)((&local_28[0] + 16)) = ((arg1 << 1) + 4);
    *(int *)((&local_28[0] + 20)) = ((arg1 + arg1) + 5);
    *(int *)((&local_28[0] + 24)) = ((arg1 + arg1) + 6);
    *(int *)((&local_28[0] + 28)) = ((unsigned long)((unsigned int)((arg1 + arg1))) + 7);
    *(int *)((&local_28[0] + ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(arg1)) & 7))) * 4))) = ((unsigned long)((unsigned int)((arg1 + arg1))) + 1916);
    var44 = (unsigned long)((unsigned int)(*(int *)((&local_28[0] + 20))));
    *(int *)(((long)arg0)) = var44;
    return (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((var44 + (var44 * 2)))) + (arg1 * 2)))) + 5));
}
dfs196_overlap_control pass 10 lines
// glaurung: dfs196_overlap_control @ 0x22f0
int32_t dfs196_overlap_control(int32_t * arg0, int32_t arg1) {
    int var6;
    if ((arg0 == 0)) {
        return 0xffffffff;
    }
    var6 = ((unsigned int)(((unsigned int)((unsigned short)((arg1 & 0xffff))) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(arg1)) << 16))))) + 0x50000);
    *(int *)(((long)arg0)) = var6;
    return (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var6)) + ((unsigned long)((unsigned int)(var6)) * 2)))) + (arg1 * 8)))) + 7));
}
dfs196_spill_web pass 653 lines
// glaurung: dfs196_spill_web @ 0x1100
__attribute__((no_stack_protector)) int32_t dfs196_spill_web(int32_t * arg0, int32_t arg1) {
    unsigned int s01;
    unsigned int s03;
    unsigned int s15;
    unsigned int s04;
    unsigned int s16;
    unsigned int s17;
    unsigned int base;
    unsigned int s00;
    unsigned int s02;
    unsigned int s05;
    unsigned int s06;
    unsigned int s07;
    unsigned int s08;
    unsigned int s09;
    unsigned int s10;
    unsigned int s11;
    unsigned int s12;
    unsigned int s13;
    unsigned int s14;
    unsigned int s18;
    unsigned int s19;
    unsigned int s20;
    unsigned int s21;
    unsigned int s22;
    unsigned int s23;
    unsigned int s24;
    unsigned int s25;
    unsigned int s26;
    unsigned int s27;
    unsigned int s28;
    unsigned int s29;
    unsigned int s30;
    unsigned int s31;
    unsigned int s32;
    unsigned int s33;
    unsigned int s34;
    unsigned int s35;
    unsigned int s36;
    unsigned int s37;
    unsigned int s38;
    unsigned int s39;
    unsigned int s40;
    unsigned int s41;
    unsigned int s42;
    unsigned int s43;
    unsigned int s44;
    unsigned int s45;
    unsigned int s46;
    unsigned int s47;
    unsigned int total;
    unsigned char local_208[520];
    long local_210;
    long local_218;
    long local_220;
    long local_228;
    long local_230;
    long local_238;
    long local_240;
    long local_248;
    long local_250;
    long local_258;
    long local_260;
    long local_268;
    long local_270;
    long local_278;
    long local_280;
    long local_288;
    long rbp;
    long var0;
    long var1;
    int var1003;
    int var1010;
    int var1017;
    int var1024;
    int var1031;
    int var1038;
    long var104;
    int var1045;
    int var105;
    int var1052;
    int var1059;
    int var1066;
    int var1073;
    int var1080;
    int var1087;
    int var1094;
    long var11;
    int var1101;
    int var1108;
    int var1115;
    int var1122;
    int var1129;
    long var113;
    int var1136;
    int var114;
    int var1143;
    int var1150;
    int var1157;
    int var1164;
    int var1171;
    int var1178;
    int var1185;
    int var1192;
    int var1199;
    long var12;
    int var1206;
    long var121;
    int var1213;
    int var1220;
    int var1227;
    int var1234;
    int var1241;
    int var1248;
    int var1255;
    int var1262;
    int var1269;
    int var1276;
    long var1277;
    int var128;
    long var13;
    long var134;
    int var135;
    long var14;
    long var143;
    int var144;
    long var15;
    long var152;
    int var153;
    long var16;
    long var161;
    int var162;
    long var169;
    long var17;
    int var176;
    long var18;
    long var182;
    int var183;
    int var19;
    long var191;
    int var192;
    long var2;
    long var200;
    int var201;
    long var209;
    int var210;
    long var217;
    int var224;
    long var230;
    int var231;
    long var239;
    int var240;
    long var248;
    int var249;
    long var256;
    int var262;
    long var267;
    long var268;
    long var270;
    long var275;
    int var276;
    long var283;
    int var284;
    long var291;
    int var292;
    long var299;
    long var3;
    int var306;
    long var311;
    long var312;
    long var314;
    long var318;
    int var319;
    long var326;
    long var327;
    long var333;
    int var351;
    int var355;
    long var359;
    long var362;
    long var364;
    long var4;
    long var407;
    long var408;
    long var411;
    long var414;
    long var415;
    long var418;
    long var419;
    long var422;
    long var425;
    long var426;
    long var429;
    long var43;
    long var435;
    long var436;
    long var441;
    long var446;
    long var448;
    long var449;
    int var45;
    long var459;
    long var461;
    long var462;
    long var472;
    long var473;
    long var482;
    long var484;
    long var485;
    long var494;
    long var496;
    long var497;
    long var506;
    long var508;
    long var509;
    long var518;
    long var520;
    long var521;
    long var531;
    long var532;
    long var537;
    long var543;
    long var545;
    long var554;
    long var555;
    long var56;
    long var565;
    long var566;
    int var57;
    long var584;
    long var589;
    int var6;
    long var612;
    long var619;
    long var626;
    long var65;
    int var66;
    long var667;
    long var674;
    long var680;
    long var687;
    long var694;
    long var74;
    long var742;
    int var75;
    long var82;
    long var845;
    long var855;
    long var865;
    long var875;
    long var885;
    int var89;
    long var894;
    long var9;
    long var904;
    long var914;
    long var921;
    long var923;
    long var927;
    long var929;
    long var934;
    long var936;
    long var941;
    long var95;
    int var954;
    int var96;
    int var961;
    int var968;
    int var975;
    int var982;
    int var989;
    int var996;
    if ((arg0 == 0)) {
        return 0xffffffff;
    }
    *(long *)((&local_208[0] + 512)) = rbp;
    *(long *)((&local_208[0] + 504)) = var0;
    *(long *)((&local_208[0] + 496)) = var1;
    *(long *)((&local_208[0] + 488)) = var2;
    *(long *)((&local_208[0] + 480)) = var3;
    *(long *)((&local_208[0] + 472)) = var4;
    var6 = ((arg1 * -0x61c8864fLL) - 0x61c8864f);
    var9 = ((unsigned long)((unsigned int)(var6)) * 0x41c650a7);
    *(long *)((&local_208[0] + 168)) = var9;
    var11 = ((unsigned long)((unsigned int)(var6)) * 0x41c651d7);
    *(long *)((&local_208[0] + 160)) = var11;
    var12 = (unsigned long)((unsigned int)((var11 + 162)));
    var13 = ((unsigned long)((unsigned int)(var6)) * 0x41c65307);
    *(long *)((&local_208[0] + 136)) = var13;
    var14 = (unsigned long)((unsigned int)((var13 + 218)));
    var15 = ((unsigned long)((unsigned int)(var6)) * 0x41c65437);
    *(long *)((&local_208[0] + 144)) = var15;
    var16 = (unsigned long)((unsigned int)((var15 + 274)));
    var17 = ((unsigned long)((unsigned int)(var6)) * 0x41c654f5);
    *(long *)((&local_208[0] + 128)) = var17;
    var18 = ((unsigned long)((unsigned int)(var6)) * 0x41c65567);
    *(long *)((&local_208[0] + 152)) = var18;
    var19 = (var18 + 330);
    *(int *)((&local_208[0] + 120)) = var19;
    *(long *)((&local_208[0] + 112)) = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var19)) >> 1))) ^ var16));
    *(long *)((&local_208[0] + 80)) = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var16)) >> 7))) ^ var14));
    *(long *)((&local_208[0] + 72)) = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var14)) >> 6))) ^ var12));
    var43 = (unsigned long)((unsigned int)((var17 + 309)));
    var45 = ((unsigned int)((((unsigned long)((unsigned int)(var6)) * 0x41c64f05) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var12)) >> 5))) ^ (unsigned long)((unsigned int)((var9 + 106)))))))) + 0x28b2d);
    *(long *)((&local_208[0] + 104)) = (unsigned int)(var45);
    *(long *)((&local_208[0] + 48)) = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var45)) >> 6))) ^ var43));
    var56 = ((unsigned long)((unsigned int)(var6)) * 0x41c653c5);
    *(long *)((&local_208[0] + 56)) = var56;
    var57 = (var56 + 253);
    *(long *)((&local_208[0] + 40)) = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var43)) >> 5))) ^ (unsigned long)((unsigned int)(var57))));
    var65 = ((unsigned long)((unsigned int)(var6)) * 0x41c65295);
    *(long *)((&local_208[0] + 32)) = var65;
    var66 = (var65 + 197);
    *(long *)((&local_208[0] + 24)) = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var57)) >> 4))) ^ (unsigned long)((unsigned int)(var66))));
    var74 = ((unsigned long)((unsigned int)(var6)) * 0x41c65165);
    *(long *)((&local_208[0] + 8)) = var74;
    var75 = (var74 + 141);
    local_210 = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var66)) >> 3))) ^ (unsigned long)((unsigned int)(var75))));
    var82 = ((unsigned long)((unsigned int)(var6)) * 0x41c65035);
    local_218 = var82;
    var89 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var75)) >> 2))) ^ (unsigned long)((unsigned int)((var82 + 85)))))) + ((unsigned long)((unsigned int)(var6)) * 0x41c64e93))) + 0xb073);
    *(long *)((&local_208[0] + 192)) = (unsigned int)(var89);
    var95 = ((unsigned long)((unsigned int)(var6)) * 0x41c65483);
    *(long *)((&local_208[0] + 64)) = var95;
    var96 = (var95 + 288);
    *(long *)((&local_208[0] + 16)) = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var89)) >> 3))) ^ (unsigned long)((unsigned int)(var96))));
    var104 = ((unsigned long)((unsigned int)(var6)) * 0x41c65353);
    *(long *)(&local_208[0]) = var104;
    var105 = (var104 + 232);
    local_220 = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var96)) >> 2))) ^ (unsigned long)((unsigned int)(var105))));
    var113 = ((unsigned long)((unsigned int)(var6)) * 0x41c65223);
    local_228 = var113;
    var114 = (var113 + 176);
    local_230 = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var105)) >> 1))) ^ (unsigned long)((unsigned int)(var114))));
    var121 = ((unsigned long)((unsigned int)(var6)) * 0x41c650f3);
    local_238 = var121;
    var128 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var114)) >> 7))) ^ (unsigned long)((unsigned int)((var121 + 120)))))) + ((unsigned long)((unsigned int)(var6)) * 0x41c64f51))) + 0x3c7a9);
    *(long *)((&local_208[0] + 224)) = (unsigned int)(var128);
    var134 = ((unsigned long)((unsigned int)(var6)) * 0x41c65541);
    *(long *)((&local_208[0] + 352)) = var134;
    var135 = (var134 + 323);
    *(long *)((&local_208[0] + 328)) = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var128)) >> 1))) ^ (unsigned long)((unsigned int)(var135))));
    var143 = ((unsigned long)((unsigned int)(var6)) * 0x41c65411);
    *(long *)((&local_208[0] + 336)) = var143;
    var144 = (var143 + 267);
    local_240 = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var135)) >> 7))) ^ (unsigned long)((unsigned int)(var144))));
    var152 = ((unsigned long)((unsigned int)(var6)) * 0x41c652e1);
    *(long *)((&local_208[0] + 312)) = var152;
    var153 = (var152 + 211);
    local_248 = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var144)) >> 6))) ^ (unsigned long)((unsigned int)(var153))));
    var161 = ((unsigned long)((unsigned int)(var6)) * 0x41c651b1);
    local_250 = var161;
    var162 = (var161 + 155);
    local_288 = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var153)) >> 5))) ^ (unsigned long)((unsigned int)(var162))));
    var169 = ((unsigned long)((unsigned int)(var6)) * 0x41c65081);
    local_258 = var169;
    var176 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var162)) >> 4))) ^ (unsigned long)((unsigned int)((var169 + 99)))))) + ((unsigned long)((unsigned int)(var6)) * 0x41c64edf))) + 0x1ecef);
    *(long *)((&local_208[0] + 184)) = (unsigned int)(var176);
    var182 = ((unsigned long)((unsigned int)(var6)) * 0x41c654cf);
    *(long *)((&local_208[0] + 344)) = var182;
    var183 = (var182 + 302);
    *(long *)((&local_208[0] + 296)) = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var176)) >> 5))) ^ (unsigned long)((unsigned int)(var183))));
    var191 = ((unsigned long)((unsigned int)(var6)) * 0x41c6539f);
    *(long *)((&local_208[0] + 304)) = var191;
    var192 = (var191 + 246);
    local_260 = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var183)) >> 4))) ^ (unsigned long)((unsigned int)(var192))));
    var200 = ((unsigned long)((unsigned int)(var6)) * 0x41c6526f);
    *(long *)((&local_208[0] + 288)) = var200;
    var201 = (var200 + 190);
    local_268 = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var192)) >> 3))) ^ (unsigned long)((unsigned int)(var201))));
    var209 = ((unsigned long)((unsigned int)(var6)) * 0x41c6513f);
    *(long *)((&local_208[0] + 96)) = var209;
    var210 = (var209 + 134);
    var217 = ((unsigned long)((unsigned int)(var6)) * 0x41c6500f);
    local_270 = var217;
    var224 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var210)) >> 1))) ^ (unsigned long)((unsigned int)((var217 + 78)))))) + ((unsigned long)((unsigned int)(var6)) * 0x41c64e6d))) + 0x1235);
    *(long *)((&local_208[0] + 392)) = (unsigned int)(var224);
    var230 = ((unsigned long)((unsigned int)(var6)) * 0x41c6545d);
    *(long *)((&local_208[0] + 320)) = var230;
    var231 = (var230 + 281);
    *(long *)((&local_208[0] + 272)) = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var224)) >> 2))) ^ (unsigned long)((unsigned int)(var231))));
    var239 = ((unsigned long)((unsigned int)(var6)) * 0x41c6532d);
    *(long *)((&local_208[0] + 264)) = var239;
    var240 = (var239 + 225);
    var248 = ((unsigned long)((unsigned int)(var6)) * 0x41c651fd);
    *(long *)((&local_208[0] + 256)) = var248;
    var249 = (var248 + 169);
    var256 = ((unsigned long)((unsigned int)(var6)) * 0x41c650cd);
    local_278 = var256;
    var262 = ((unsigned int)((((unsigned long)((unsigned int)(var6)) * 0x41c64f2b) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var249)) >> 6))) ^ (unsigned long)((unsigned int)((var256 + 113)))))))) + 0x3296b);
    *(long *)((&local_208[0] + 432)) = (unsigned int)(var262);
    var267 = ((unsigned long)((unsigned int)(var6)) * 0x41c6551b);
    *(long *)((&local_208[0] + 176)) = var267;
    var268 = (unsigned long)((unsigned int)((var267 + 316)));
    var270 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var262)) >> 7))) ^ var268)));
    var275 = ((unsigned long)((unsigned int)(var6)) * 0x41c653eb);
    *(long *)((&local_208[0] + 280)) = var275;
    var276 = (var275 + 260);
    var283 = ((unsigned long)((unsigned int)(var6)) * 0x41c652bb);
    *(long *)((&local_208[0] + 248)) = var283;
    var284 = (var283 + 204);
    var291 = ((unsigned long)((unsigned int)(var6)) * 0x41c6518b);
    *(long *)((&local_208[0] + 240)) = var291;
    var292 = (var291 + 148);
    var299 = ((unsigned long)((unsigned int)(var6)) * 0x41c6505b);
    local_280 = var299;
    var306 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var292)) >> 3))) ^ (unsigned long)((unsigned int)((var299 + 92)))))) + ((unsigned long)((unsigned int)(var6)) * 0x41c64eb9))) + 0x14eb1);
    *(long *)((&local_208[0] + 88)) = (unsigned int)(var306);
    var311 = ((unsigned long)((unsigned int)(var6)) * 0x41c654a9);
    *(long *)((&local_208[0] + 384)) = var311;
    var312 = (unsigned long)((unsigned int)((var311 + 295)));
    var314 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var306)) >> 4))) ^ var312)));
    var318 = ((unsigned long)((unsigned int)(var6)) * 0x41c65379);
    *(long *)((&local_208[0] + 360)) = var318;
    var319 = (var318 + 239);
    var326 = ((unsigned long)((unsigned int)(var6)) * 0x41c65249);
    *(long *)((&local_208[0] + 232)) = var326;
    var327 = (unsigned long)((unsigned int)((var326 + 183)));
    var333 = ((unsigned long)((unsigned int)(var6)) * 0x41c65119);
    *(long *)((&local_208[0] + 376)) = (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var327)) >> 1))) ^ (unsigned long)((unsigned int)((var333 + 127)))))) + ((unsigned long)((unsigned int)(var6)) * 0x41c64f77)))) + 0x465e7));
    *(long *)((&local_208[0] + 368)) = (unsigned int)(((unsigned long)((unsigned int)((((unsigned long)((unsigned int)(var6)) * 0x41c64f9d) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var201)) >> 2))) ^ (unsigned long)((unsigned int)(var210)))))))) + 0x50425));
    var351 = ((unsigned int)((local_210 + ((unsigned long)((unsigned int)(var6)) * 0x41c64fc3))) + 0x5a263);
    var355 = ((unsigned int)((((unsigned long)((unsigned int)(var6)) * 0x41c64fe9) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var284)) >> 4))) ^ (unsigned long)((unsigned int)(var292))))))) + 0x640a1);
    var359 = (unsigned long)((unsigned int)(((local_270 + local_288) + 0x6dedf)));
    *(long *)((&local_208[0] + 424)) = var359;
    var362 = (unsigned long)((unsigned int)(((local_218 + *(long *)((&local_208[0] + 72))) + 0x77d1d)));
    *(long *)((&local_208[0] + 416)) = var362;
    var364 = (unsigned long)((unsigned int)(((local_280 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var240)) >> 7))) ^ (unsigned long)((unsigned int)(var249)))))) + 0x81b5b)));
    *(long *)((&local_208[0] + 408)) = var364;
    local_288 = (unsigned int)(((local_258 + local_230) + 0x8b999));
    local_280 = (unsigned int)(((*(long *)((&local_208[0] + 168)) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var319)) >> 2))) ^ var327)))) + 0x957d7));
    *(long *)((&local_208[0] + 400)) = (unsigned int)(((local_278 + local_268) + 0x9f615));
    local_270 = (unsigned int)(((local_238 + *(long *)((&local_208[0] + 24))) + 0xa9453));
    local_278 = (unsigned int)(((var333 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var276)) >> 5))) ^ (unsigned long)((unsigned int)(var284)))))) + 0xb3291));
    *(long *)((&local_208[0] + 216)) = (unsigned int)(((*(long *)((&local_208[0] + 96)) + local_248) + 0xbd0cf));
    *(long *)((&local_208[0] + 208)) = (unsigned int)(((*(long *)((&local_208[0] + 8)) + *(long *)((&local_208[0] + 80))) + 0xc6f0d));
    *(long *)((&local_208[0] + 200)) = (unsigned int)(((*(long *)((&local_208[0] + 240)) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var231)) >> 1))) ^ (unsigned long)((unsigned int)(var240)))))) + 0xd0d4b));
    *(long *)((&local_208[0] + 440)) = (unsigned int)(((local_250 + local_220) + 0xdab89));
    *(long *)((&local_208[0] + 96)) = (unsigned int)(((*(long *)((&local_208[0] + 160)) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var312)) >> 3))) ^ (unsigned long)((unsigned int)(var319)))))) + 0xe49c7));
    local_268 = (unsigned int)(((*(long *)((&local_208[0] + 256)) + local_260) + 0xee805));
    local_260 = (unsigned int)(((local_228 + *(long *)((&local_208[0] + 40))) + 0xf8643));
    local_258 = (unsigned int)(((*(long *)((&local_208[0] + 232)) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var268)) >> 6))) ^ (unsigned long)((unsigned int)(var276)))))) + 0x102481));
    local_250 = (unsigned int)(((*(long *)((&local_208[0] + 288)) + local_240) + 0x10c2bf));
    local_248 = (unsigned int)(((*(long *)((&local_208[0] + 32)) + *(long *)((&local_208[0] + 112))) + 0x1160fd));
    local_240 = (unsigned int)(((*(long *)((&local_208[0] + 248)) + *(long *)((&local_208[0] + 272))) + 0x11ff3b));
    var407 = *(long *)((&local_208[0] + 16));
    var408 = *(long *)((&local_208[0] + 312));
    *(long *)((&local_208[0] + 448)) = (unsigned int)((var408 + var407));
    local_238 = (unsigned int)(((var408 + var407) + 0x129d79));
    var411 = *(long *)((&local_208[0] + 136));
    *(long *)((&local_208[0] + 456)) = (unsigned int)((var411 + var314));
    local_228 = (unsigned int)(((var411 + var314) + 0x133bb7));
    var414 = *(long *)((&local_208[0] + 296));
    var415 = *(long *)((&local_208[0] + 264));
    *(long *)((&local_208[0] + 232)) = (unsigned int)((var415 + var414));
    local_220 = (unsigned int)(((var415 + var414) + 0x13d9f5));
    var418 = *(long *)((&local_208[0] + 48));
    var419 = *(long *)(&local_208[0]);
    *(long *)((&local_208[0] + 240)) = (unsigned int)((var419 + var418));
    local_218 = (unsigned int)(((var419 + var418) + 0x147833));
    var422 = *(long *)((&local_208[0] + 360));
    *(long *)((&local_208[0] + 248)) = (unsigned int)((var422 + var270));
    local_230 = (unsigned int)(((var422 + var270) + 0x151671));
    var425 = *(long *)((&local_208[0] + 328));
    var426 = *(long *)((&local_208[0] + 304));
    *(long *)((&local_208[0] + 256)) = (unsigned int)((var426 + var425));
    local_210 = (unsigned int)(((var426 + var425) + 0x15b4af));
    var429 = *(long *)((&local_208[0] + 376));
    var435 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var429)) >> 2))) ^ *(int *)((&local_208[0] + 120)))));
    var436 = *(long *)((&local_208[0] + 56));
    *(long *)((&local_208[0] + 264)) = (unsigned int)((var436 + var435));
    *(long *)(&local_208[0]) = (unsigned int)(((unsigned long)((unsigned int)((var436 + var435))) + 0x1652ed));
    var441 = *(long *)((&local_208[0] + 368));
    var446 = *(long *)((&local_208[0] + 392));
    var448 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var441)) >> 3))) ^ var446)));
    var449 = *(long *)((&local_208[0] + 280));
    *(long *)((&local_208[0] + 272)) = (unsigned int)((var449 + var448));
    *(long *)((&local_208[0] + 8)) = (unsigned int)(((unsigned long)((unsigned int)((var449 + var448))) + 0x16f12b));
    var459 = *(long *)((&local_208[0] + 192));
    var461 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var351)) >> 4))) ^ var459)));
    var462 = *(long *)((&local_208[0] + 336));
    *(long *)((&local_208[0] + 280)) = (unsigned int)((var462 + var461));
    *(long *)((&local_208[0] + 16)) = (unsigned int)(((unsigned long)((unsigned int)((var462 + var461))) + 0x178f69));
    var472 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var355)) >> 5))) ^ (unsigned int)(*(long *)((&local_208[0] + 88))))));
    var473 = *(long *)((&local_208[0] + 144));
    *(long *)((&local_208[0] + 288)) = (unsigned int)((var473 + var472));
    *(long *)((&local_208[0] + 24)) = (unsigned int)(((unsigned long)((unsigned int)((var473 + var472))) + 0x182da7));
    var482 = *(long *)((&local_208[0] + 184));
    var484 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var359)) >> 6))) ^ var482)));
    var485 = *(long *)((&local_208[0] + 320));
    *(long *)((&local_208[0] + 296)) = (unsigned int)((var485 + var484));
    *(long *)((&local_208[0] + 32)) = (unsigned int)(((unsigned long)((unsigned int)((var485 + var484))) + 0x18cbe5));
    var494 = *(long *)((&local_208[0] + 104));
    var496 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var362)) >> 7))) ^ var494)));
    var497 = *(long *)((&local_208[0] + 64));
    *(long *)((&local_208[0] + 304)) = (unsigned int)((var497 + var496));
    *(long *)((&local_208[0] + 40)) = (unsigned int)(((unsigned long)((unsigned int)((var497 + var496))) + 0x196a23));
    var506 = *(long *)((&local_208[0] + 432));
    var508 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var364)) >> 1))) ^ var506)));
    var509 = *(long *)((&local_208[0] + 384));
    *(long *)((&local_208[0] + 312)) = (unsigned int)((var509 + var508));
    *(long *)((&local_208[0] + 48)) = (unsigned int)(((unsigned long)((unsigned int)((var509 + var508))) + 0x1a0861));
    var518 = *(long *)((&local_208[0] + 224));
    var520 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_288)) >> 2))) ^ var518)));
    var521 = *(long *)((&local_208[0] + 344));
    *(long *)((&local_208[0] + 320)) = (unsigned int)((var521 + var520));
    *(long *)((&local_208[0] + 56)) = (unsigned int)(((unsigned long)((unsigned int)((var521 + var520))) + 0x1aa69f));
    var531 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_280)) >> 3))) ^ var429)));
    var532 = *(long *)((&local_208[0] + 128));
    *(long *)((&local_208[0] + 328)) = (unsigned int)((var532 + var531));
    *(long *)((&local_208[0] + 64)) = (unsigned int)(((unsigned long)((unsigned int)((var532 + var531))) + 0x1b44dd));
    var537 = *(long *)((&local_208[0] + 400));
    var543 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var537)) >> 4))) ^ var441)));
    var545 = *(long *)((&local_208[0] + 176));
    *(long *)((&local_208[0] + 336)) = (unsigned int)((var545 + var543));
    *(long *)((&local_208[0] + 72)) = (unsigned int)(((var545 + var543) + 0x1be31b));
    var554 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_270)) >> 5))) ^ (unsigned long)((unsigned int)(var351)))));
    var555 = *(long *)((&local_208[0] + 352));
    *(long *)((&local_208[0] + 344)) = (unsigned int)((var555 + var554));
    *(long *)((&local_208[0] + 80)) = (unsigned int)(((unsigned long)((unsigned int)((var555 + var554))) + 0x1c8159));
    var565 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_278)) >> 6))) ^ (unsigned long)((unsigned int)(var355)))));
    var566 = *(long *)((&local_208[0] + 152));
    *(long *)((&local_208[0] + 352)) = (unsigned int)((var566 + var565));
    *(long *)((&local_208[0] + 120)) = (unsigned int)(((unsigned long)((unsigned int)((var566 + var565))) + 0x1d1f97));
    *(long *)((&local_208[0] + 176)) = (unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 96)) + var506))) ^ (unsigned long)((unsigned int)((var446 + (var446 * 2))))));
    s01 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)((var518 + local_268))) ^ (unsigned long)((unsigned int)((var459 + (var459 * 2)))))));
    var584 = *(long *)((&local_208[0] + 88));
    var589 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)((local_260 + var429))) ^ (unsigned long)((unsigned int)((var584 + (var584 * 2)))))));
    s03 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)((local_258 + var441))) ^ (unsigned long)((unsigned int)((var482 + (var482 * 2)))))));
    *(long *)((&local_208[0] + 192)) = (unsigned int)(((unsigned long)((unsigned int)((local_250 + (unsigned long)((unsigned int)(var351))))) ^ (unsigned long)((unsigned int)((var494 + (var494 * 2))))));
    *(long *)((&local_208[0] + 128)) = (unsigned int)(((unsigned long)((unsigned int)((local_248 + (unsigned long)((unsigned int)(var355))))) ^ (unsigned long)((unsigned int)((var506 + (var506 * 2))))));
    var612 = *(long *)((&local_208[0] + 424));
    *(long *)((&local_208[0] + 88)) = (unsigned int)(((unsigned long)((unsigned int)((local_240 + var612))) ^ (unsigned long)((unsigned int)((var518 + (var518 * 2))))));
    var619 = *(long *)((&local_208[0] + 416));
    *(long *)((&local_208[0] + 168)) = (unsigned int)(((unsigned long)((unsigned int)((local_238 + var619))) ^ (unsigned long)((unsigned int)((var429 + (var429 * 2))))));
    var626 = *(long *)((&local_208[0] + 408));
    *(long *)((&local_208[0] + 160)) = (unsigned int)(((unsigned long)((unsigned int)((local_228 + var626))) ^ (unsigned long)((unsigned int)((var441 + (var441 * 2))))));
    *(long *)((&local_208[0] + 152)) = (unsigned int)(((unsigned long)((unsigned int)((local_220 + local_288))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var351)) + ((unsigned long)((unsigned int)(var351)) * 2))))));
    *(long *)((&local_208[0] + 144)) = (unsigned int)(((unsigned long)((unsigned int)((local_218 + local_280))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var355)) + ((unsigned long)((unsigned int)(var355)) * 2))))));
    *(long *)((&local_208[0] + 136)) = (unsigned int)(((unsigned long)((unsigned int)((local_230 + var537))) ^ (unsigned long)((unsigned int)((var612 + (var612 * 2))))));
    *(long *)((&local_208[0] + 112)) = (unsigned int)(((unsigned long)((unsigned int)((local_210 + local_270))) ^ (unsigned long)((unsigned int)((var619 + (var619 * 2))))));
    *(long *)((&local_208[0] + 104)) = (unsigned int)(((unsigned long)((unsigned int)((*(long *)(&local_208[0]) + local_278))) ^ (unsigned long)((unsigned int)((var626 + (var626 * 2))))));
    var667 = *(long *)((&local_208[0] + 216));
    local_288 = (unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 8)) + var667))) ^ (unsigned long)((unsigned int)((local_288 + (local_288 * 2))))));
    var674 = *(long *)((&local_208[0] + 208));
    s15 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 16)) + var674))) ^ (unsigned long)((unsigned int)((local_280 + (local_280 * 2)))))));
    var680 = *(long *)((&local_208[0] + 200));
    *(long *)((&local_208[0] + 184)) = (unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 24)) + var680))) ^ (unsigned long)((unsigned int)((var537 + (var537 * 2))))));
    var687 = *(long *)((&local_208[0] + 440));
    *(long *)((&local_208[0] + 224)) = (unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 32)) + var687))) ^ (unsigned long)((unsigned int)((local_270 + (local_270 * 2))))));
    var694 = *(long *)((&local_208[0] + 96));
    local_278 = (unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 40)) + var694))) ^ (unsigned long)((unsigned int)((local_278 + (local_278 * 2))))));
    *(long *)((&local_208[0] + 216)) = (unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 48)) + local_268))) ^ (unsigned long)((unsigned int)((var667 + (var667 * 2))))));
    *(long *)((&local_208[0] + 208)) = (unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 56)) + local_260))) ^ (unsigned long)((unsigned int)((var674 + (var674 * 2))))));
    *(long *)((&local_208[0] + 200)) = (unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 64)) + local_258))) ^ (unsigned long)((unsigned int)((var680 + (var680 * 2))))));
    local_280 = (unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 72)) + local_250))) ^ (unsigned long)((unsigned int)((var687 + (var687 * 2))))));
    local_270 = ((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 80)) + local_248))) ^ (unsigned long)((unsigned int)((var694 + (var694 * 2)))));
    local_268 = ((unsigned long)((unsigned int)((*(int *)((&local_208[0] + 120)) + local_240))) ^ (unsigned long)((unsigned int)((local_268 + (local_268 * 2)))));
    var742 = *(long *)((&local_208[0] + 176));
    local_260 = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 448)) + var742))) + 0x129d79))) ^ (unsigned long)((unsigned int)((local_260 + (local_260 * 2)))));
    local_258 = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 456)) + s01))) + 0x133bb7))) ^ (unsigned long)((unsigned int)((local_258 + (local_258 * 2)))));
    local_250 = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 232)) + var589))) + 0x13d9f5))) ^ (unsigned long)((unsigned int)((local_250 + (local_250 * 2)))));
    local_248 = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 240)) + s03))) + 0x147833))) ^ (unsigned long)((unsigned int)((local_248 + (local_248 * 2)))));
    s04 = *(long *)((&local_208[0] + 192));
    local_240 = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 248)) + s04))) + 0x151671))) ^ (unsigned long)((unsigned int)((local_240 + (local_240 * 2)))));
    local_238 = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 128)) + *(long *)((&local_208[0] + 256))))) + 0x15b4af))) ^ (unsigned long)((unsigned int)((local_238 + (local_238 * 2)))));
    local_228 = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 88)) + *(long *)((&local_208[0] + 264))))) + 0x1652ed))) ^ (unsigned long)((unsigned int)((local_228 + (local_228 * 2)))));
    local_220 = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 168)) + *(long *)((&local_208[0] + 272))))) + 0x16f12b))) ^ (unsigned long)((unsigned int)((local_220 + (local_220 * 2)))));
    local_218 = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 160)) + *(long *)((&local_208[0] + 280))))) + 0x178f69))) ^ (unsigned long)((unsigned int)((local_218 + (local_218 * 2)))));
    local_230 = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 152)) + *(long *)((&local_208[0] + 288))))) + 0x182da7))) ^ (unsigned long)((unsigned int)((local_230 + (local_230 * 2)))));
    local_210 = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 144)) + *(long *)((&local_208[0] + 296))))) + 0x18cbe5))) ^ (unsigned long)((unsigned int)((local_210 + (local_210 * 2)))));
    var845 = *(long *)(&local_208[0]);
    *(int *)(&local_208[0]) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 136)) + *(long *)((&local_208[0] + 304))))) + 0x196a23))) ^ (unsigned long)((unsigned int)((var845 + (var845 * 2)))));
    var855 = *(long *)((&local_208[0] + 8));
    *(int *)((&local_208[0] + 8)) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 112)) + *(long *)((&local_208[0] + 312))))) + 0x1a0861))) ^ (unsigned long)((unsigned int)((var855 + (var855 * 2)))));
    var865 = *(long *)((&local_208[0] + 16));
    *(int *)((&local_208[0] + 16)) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 320)) + *(long *)((&local_208[0] + 104))))) + 0x1aa69f))) ^ (unsigned long)((unsigned int)((var865 + (var865 * 2)))));
    var875 = *(long *)((&local_208[0] + 24));
    *(int *)((&local_208[0] + 24)) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 328)) + local_288))) + 0x1b44dd))) ^ (unsigned long)((unsigned int)((var875 + (var875 * 2)))));
    var885 = *(long *)((&local_208[0] + 32));
    *(int *)((&local_208[0] + 32)) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 336)) + s15))) + 0x1be31b))) ^ (unsigned long)((unsigned int)((var885 + (var885 * 2)))));
    var894 = *(long *)((&local_208[0] + 40));
    s16 = *(long *)((&local_208[0] + 184));
    *(int *)((&local_208[0] + 40)) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 344)) + s16))) + 0x1c8159))) ^ (unsigned long)((unsigned int)((var894 + (var894 * 2)))));
    var904 = *(long *)((&local_208[0] + 48));
    s17 = *(long *)((&local_208[0] + 224));
    *(int *)((&local_208[0] + 48)) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((*(long *)((&local_208[0] + 352)) + s17))) + 0x1d1f97))) ^ (unsigned long)((unsigned int)((var904 + (var904 * 2)))));
    var914 = *(long *)((&local_208[0] + 56));
    *(int *)((&local_208[0] + 56)) = ((unsigned long)((unsigned int)((local_278 + var742))) ^ (unsigned long)((unsigned int)((var914 + (var914 * 2)))));
    var921 = *(long *)((&local_208[0] + 64));
    var923 = *(long *)((&local_208[0] + 216));
    *(int *)((&local_208[0] + 64)) = ((unsigned long)((unsigned int)((var923 + s01))) ^ (unsigned long)((unsigned int)((var921 + (var921 * 2)))));
    var927 = *(long *)((&local_208[0] + 72));
    var929 = *(long *)((&local_208[0] + 208));
    *(int *)((&local_208[0] + 72)) = ((unsigned long)((unsigned int)((var929 + var589))) ^ (unsigned long)((unsigned int)((var927 + (var927 * 2)))));
    var934 = *(long *)((&local_208[0] + 80));
    var936 = *(long *)((&local_208[0] + 200));
    *(int *)((&local_208[0] + 80)) = ((unsigned long)((unsigned int)((var936 + s03))) ^ (unsigned long)((unsigned int)((var934 + (var934 * 2)))));
    var941 = *(int *)((&local_208[0] + 120));
    var954 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var742)) << 5))) - var742)) + s01);
    var961 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var954)) << 5))) - (unsigned long)((unsigned int)(var954)))) + var589);
    var968 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var961)) << 5))) - (unsigned long)((unsigned int)(var961)))) + s03);
    var975 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var968)) << 5))) - (unsigned long)((unsigned int)(var968)))) + s04);
    var982 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var975)) << 5))) - (unsigned long)((unsigned int)(var975)))) + (unsigned int)(*(long *)((&local_208[0] + 128))));
    var989 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var982)) << 5))) - (unsigned long)((unsigned int)(var982)))) + (unsigned int)(*(long *)((&local_208[0] + 88))));
    var996 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var989)) << 5))) - (unsigned long)((unsigned int)(var989)))) + (unsigned int)(*(long *)((&local_208[0] + 168))));
    var1003 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var996)) << 5))) - (unsigned long)((unsigned int)(var996)))) + (unsigned int)(*(long *)((&local_208[0] + 160))));
    var1010 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1003)) << 5))) - (unsigned long)((unsigned int)(var1003)))) + (unsigned int)(*(long *)((&local_208[0] + 152))));
    var1017 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1010)) << 5))) - (unsigned long)((unsigned int)(var1010)))) + (unsigned int)(*(long *)((&local_208[0] + 144))));
    var1024 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1017)) << 5))) - (unsigned long)((unsigned int)(var1017)))) + (unsigned int)(*(long *)((&local_208[0] + 136))));
    var1031 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1024)) << 5))) - (unsigned long)((unsigned int)(var1024)))) + (unsigned int)(*(long *)((&local_208[0] + 112))));
    var1038 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1031)) << 5))) - (unsigned long)((unsigned int)(var1031)))) + (unsigned int)(*(long *)((&local_208[0] + 104))));
    var1045 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1038)) << 5))) - (unsigned long)((unsigned int)(var1038)))) + (unsigned int)(local_288));
    var1052 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1045)) << 5))) - (unsigned long)((unsigned int)(var1045)))) + s15);
    var1059 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1052)) << 5))) - (unsigned long)((unsigned int)(var1052)))) + s16);
    var1066 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1059)) << 5))) - (unsigned long)((unsigned int)(var1059)))) + s17);
    var1073 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1066)) << 5))) - (unsigned long)((unsigned int)(var1066)))) + local_278);
    var1080 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1073)) << 5))) - (unsigned long)((unsigned int)(var1073)))) + var923);
    var1087 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1080)) << 5))) - (unsigned long)((unsigned int)(var1080)))) + var929);
    var1094 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1087)) << 5))) - (unsigned long)((unsigned int)(var1087)))) + var936);
    var1101 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1094)) << 5))) - (unsigned long)((unsigned int)(var1094)))) + local_280);
    var1108 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1101)) << 5))) - (unsigned long)((unsigned int)(var1101)))) + (unsigned int)(local_270));
    var1115 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1108)) << 5))) - (unsigned long)((unsigned int)(var1108)))) + (unsigned int)(local_268));
    var1122 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1115)) << 5))) - (unsigned long)((unsigned int)(var1115)))) + (unsigned int)(local_260));
    var1129 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1122)) << 5))) - (unsigned long)((unsigned int)(var1122)))) + (unsigned int)(local_258));
    var1136 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1129)) << 5))) - (unsigned long)((unsigned int)(var1129)))) + (unsigned int)(local_250));
    var1143 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1136)) << 5))) - (unsigned long)((unsigned int)(var1136)))) + (unsigned int)(local_248));
    var1150 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1143)) << 5))) - (unsigned long)((unsigned int)(var1143)))) + (unsigned int)(local_240));
    var1157 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1150)) << 5))) - (unsigned long)((unsigned int)(var1150)))) + (unsigned int)(local_238));
    var1164 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1157)) << 5))) - (unsigned long)((unsigned int)(var1157)))) + (unsigned int)(local_228));
    var1171 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1164)) << 5))) - (unsigned long)((unsigned int)(var1164)))) + (unsigned int)(local_220));
    var1178 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1171)) << 5))) - (unsigned long)((unsigned int)(var1171)))) + (unsigned int)(local_218));
    var1185 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1178)) << 5))) - (unsigned long)((unsigned int)(var1178)))) + (unsigned int)(local_230));
    var1192 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1185)) << 5))) - (unsigned long)((unsigned int)(var1185)))) + (unsigned int)(local_210));
    var1199 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1192)) << 5))) - (unsigned long)((unsigned int)(var1192)))) + (unsigned int)(*(long *)(&local_208[0])));
    var1206 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1199)) << 5))) - (unsigned long)((unsigned int)(var1199)))) + (unsigned int)(*(long *)((&local_208[0] + 8))));
    var1213 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1206)) << 5))) - (unsigned long)((unsigned int)(var1206)))) + (unsigned int)(*(long *)((&local_208[0] + 16))));
    var1220 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1213)) << 5))) - (unsigned long)((unsigned int)(var1213)))) + (unsigned int)(*(long *)((&local_208[0] + 24))));
    var1227 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1220)) << 5))) - (unsigned long)((unsigned int)(var1220)))) + (unsigned int)(*(long *)((&local_208[0] + 32))));
    var1234 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1227)) << 5))) - (unsigned long)((unsigned int)(var1227)))) + (unsigned int)(*(long *)((&local_208[0] + 40))));
    var1241 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1234)) << 5))) - (unsigned long)((unsigned int)(var1234)))) + (unsigned int)(*(long *)((&local_208[0] + 48))));
    var1248 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1241)) << 5))) - (unsigned long)((unsigned int)(var1241)))) + (unsigned int)(*(long *)((&local_208[0] + 56))));
    var1255 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1248)) << 5))) - (unsigned long)((unsigned int)(var1248)))) + (unsigned int)(*(long *)((&local_208[0] + 64))));
    var1262 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1255)) << 5))) - (unsigned long)((unsigned int)(var1255)))) + (unsigned int)(*(long *)((&local_208[0] + 72))));
    var1269 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1262)) << 5))) - (unsigned long)((unsigned int)(var1262)))) + (unsigned int)(*(long *)((&local_208[0] + 80))));
    var1276 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1269)) << 5))) - (unsigned long)((unsigned int)(var1269)))) + (unsigned int)(((unsigned long)((unsigned int)((s04 + local_280))) ^ (unsigned long)((unsigned int)((var941 + (var941 * 2)))))));
    var1277 = (long)arg0;
    *(int *)((long)arg0) = var1276;
    *(int *)((var1277 + 0x4)) = var742;
    // x86-64 epilogue: tear down frame
    return (unsigned int)(var1276);
}

gcc -O0

4/4
dfs196_alias_control pass 31 lines
// glaurung: dfs196_alias_control @ 0x24b2
int32_t dfs196_alias_control(int32_t * arg0, int32_t arg1) {
    extern __attribute__((noreturn)) void __stack_chk_fail(void);
    int i;
    int * p;
    int before;
    unsigned char local_30[32];
    long local_8;
    long ret;
    long var17;
    // x86-64 prologue: save rbp, frame 80 bytes
    local_8 = (long)(0x28);
    if ((arg0 != 0)) {
        for (i = 0; ((((unsigned long)((unsigned int)(i)) == 7) | ((long)(i) < 7)) != 0); i++) {
            *(int *)((&local_30[0] + ((long)(i) * 4))) = ((unsigned long)((unsigned int)(arg1)) + (unsigned long)((unsigned int)(i)));
        }
        p = (int *)((&local_30[0] + 12));
        before = *(int *)((&local_30[0] + 12));
        *(int *)((p)) = ((unsigned long)((unsigned int)(before)) + 4096);
        *(int *)((long)arg0) = *(int *)((&local_30[0] + 12));
        var17 = (unsigned long)((unsigned int)(*(int *)((&local_30[0] + 12))));
        ret = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(before)) + (unsigned long)((unsigned int)((var17 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var17)) + (unsigned long)((unsigned int)(var17)))))))))));
    } else {
        ret = 0xffffffff;
    }
    if ((local_8 != 0x28)) {
        __stack_chk_fail();
    }
    // x86-64 epilogue: restore rbp
    return ret;
}
dfs196_indexed_control pass 31 lines
// glaurung: dfs196_indexed_control @ 0x2554
int32_t dfs196_indexed_control(int32_t * arg0, int32_t arg1) {
    extern __attribute__((noreturn)) void __stack_chk_fail(void);
    int i;
    int k;
    int before;
    unsigned char local_30[32];
    long local_8;
    long ret;
    long var20;
    // x86-64 prologue: save rbp, frame 80 bytes
    local_8 = (long)(0x28);
    if ((arg0 != 0)) {
        for (i = 0; ((((unsigned long)((unsigned int)(i)) == 7) | ((long)(i) < 7)) != 0); i++) {
            *(int *)((&local_30[0] + ((long)(i) * 4))) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(arg1)) + (unsigned long)((unsigned int)(arg1))))) + (unsigned long)((unsigned int)(i)));
        }
        k = ((unsigned int)(arg1) & 7);
        before = *(int *)((&local_30[0] + 20));
        *(int *)((&local_30[0] + ((long)(k) * 4))) = ((unsigned long)((unsigned int)(before)) + 1911);
        *(int *)((long)arg0) = *(int *)((&local_30[0] + 20));
        var20 = (unsigned long)((unsigned int)(*(int *)((&local_30[0] + 20))));
        ret = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(before)) + (unsigned long)((unsigned int)((var20 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var20)) + (unsigned long)((unsigned int)(var20)))))))))));
    } else {
        ret = 0xffffffff;
    }
    if ((local_8 != 0x28)) {
        __stack_chk_fail();
    }
    // x86-64 epilogue: restore rbp
    return ret;
}
dfs196_overlap_control pass 29 lines
// glaurung: dfs196_overlap_control @ 0x25f9
int32_t dfs196_overlap_control(int32_t * arg0, int32_t arg1) {
    extern __attribute__((noreturn)) void __stack_chk_fail(void);
    int before;
    unsigned char local_10[8];
    long local_8;
    long ret;
    long var13;
    long var21;
    // x86-64 prologue: save rbp, frame 48 bytes
    local_8 = (long)(0x28);
    if ((arg0 != 0)) {
        *(int *)(&local_10[0]) = arg1;
        *(int *)((&local_10[0] + 4)) = ((unsigned long)((unsigned int)(arg1)) + 1);
        before = *(int *)(&local_10[0]);
        *(short *)((&local_10[0] + 2)) = ((unsigned long)((unsigned int)(arg1)) + 5);
        *(int *)((long)arg0) = *(int *)(&local_10[0]);
        var13 = (unsigned long)((unsigned int)(*(int *)(&local_10[0])));
        var21 = (unsigned long)((unsigned int)(*(int *)((&local_10[0] + 4))));
        ret = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var21)) << 3))) - var21))) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)((var13 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var13)) + (unsigned long)((unsigned int)(var13)))))))) + (unsigned long)((unsigned int)(before))))))));
    } else {
        ret = 0xffffffff;
    }
    if ((local_8 != 0x28)) {
        __stack_chk_fail();
    }
    // x86-64 epilogue: restore rbp
    return ret;
}
dfs196_spill_web pass 255 lines
// glaurung: dfs196_spill_web @ 0x1119
int32_t dfs196_spill_web(int32_t * arg0, int32_t arg1) {
    unsigned int base;
    unsigned int total;
    unsigned int s00;
    unsigned int s01;
    unsigned int s02;
    unsigned int s03;
    unsigned int s04;
    unsigned int s05;
    unsigned int s06;
    unsigned int s07;
    unsigned int s08;
    unsigned int s09;
    unsigned int s10;
    unsigned int s11;
    unsigned int s12;
    unsigned int s13;
    unsigned int s14;
    unsigned int s15;
    unsigned int s16;
    unsigned int s17;
    unsigned int s18;
    unsigned int s19;
    unsigned int s20;
    unsigned int s21;
    unsigned int s22;
    unsigned int s23;
    unsigned int s24;
    unsigned int s25;
    unsigned int s26;
    unsigned int s27;
    unsigned int s28;
    unsigned int s29;
    unsigned int s30;
    unsigned int s31;
    unsigned int s32;
    unsigned int s33;
    unsigned int s34;
    unsigned int s35;
    unsigned int s36;
    unsigned int s37;
    unsigned int s38;
    unsigned int s39;
    unsigned int s40;
    unsigned int s41;
    unsigned int s42;
    unsigned int s43;
    unsigned int s44;
    unsigned int s45;
    unsigned int s46;
    unsigned int s47;
    // x86-64 prologue: save rbp, frame 104 bytes
    base = ((unsigned int)(((unsigned long)((unsigned int)(arg1)) + 1)) * -0x61c8864fLL);
    total = 0;
    if ((arg0 != 0)) {
        s00 = ((base * 0x41c64e6d) + 1);
        s01 = ((base * 0x41c64e93) + 8);
        s02 = ((base * 0x41c64eb9) + 15);
        s03 = ((base * 0x41c64edf) + 22);
        s04 = ((base * 0x41c64f05) + 29);
        s05 = ((base * 0x41c64f2b) + 36);
        s06 = ((base * 0x41c64f51) + 43);
        s07 = ((base * 0x41c64f77) + 50);
        s08 = ((base * 0x41c64f9d) + 57);
        s09 = ((base * 0x41c64fc3) + 64);
        s10 = ((base * 0x41c64fe9) + 71);
        s11 = ((base * 0x41c6500f) + 78);
        s12 = ((base * 0x41c65035) + 85);
        s13 = ((base * 0x41c6505b) + 92);
        s14 = ((base * 0x41c65081) + 99);
        s15 = ((base * 0x41c650a7) + 106);
        s16 = ((base * 0x41c650cd) + 113);
        s17 = ((base * 0x41c650f3) + 120);
        s18 = ((base * 0x41c65119) + 127);
        s19 = ((base * 0x41c6513f) + 134);
        s20 = ((base * 0x41c65165) + 141);
        s21 = ((base * 0x41c6518b) + 148);
        s22 = ((base * 0x41c651b1) + 155);
        s23 = ((base * 0x41c651d7) + 162);
        s24 = ((base * 0x41c651fd) + 169);
        s25 = ((base * 0x41c65223) + 176);
        s26 = ((base * 0x41c65249) + 183);
        s27 = ((base * 0x41c6526f) + 190);
        s28 = ((base * 0x41c65295) + 197);
        s29 = ((base * 0x41c652bb) + 204);
        s30 = ((base * 0x41c652e1) + 211);
        s31 = ((base * 0x41c65307) + 218);
        s32 = ((base * 0x41c6532d) + 225);
        s33 = ((base * 0x41c65353) + 232);
        s34 = ((base * 0x41c65379) + 239);
        s35 = ((base * 0x41c6539f) + 246);
        s36 = ((base * 0x41c653c5) + 253);
        s37 = ((base * 0x41c653eb) + 260);
        s38 = ((base * 0x41c65411) + 267);
        s39 = ((base * 0x41c65437) + 274);
        s40 = ((base * 0x41c6545d) + 281);
        s41 = ((base * 0x41c65483) + 288);
        s42 = ((base * 0x41c654a9) + 295);
        s43 = ((base * 0x41c654cf) + 302);
        s44 = ((base * 0x41c654f5) + 309);
        s45 = ((base * 0x41c6551b) + 316);
        s46 = ((base * 0x41c65541) + 323);
        s47 = ((base * 0x41c65567) + 330);
        s00 = ((unsigned int)((s00 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s19) >> 1))) ^ s11))))) + 0x1234);
        s01 = ((unsigned int)((s01 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s20) >> 2))) ^ s12))))) + 0xb06b);
        s02 = ((unsigned int)((s02 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s21) >> 3))) ^ s13))))) + 0x14ea2);
        s03 = ((unsigned int)((s03 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s22) >> 4))) ^ s14))))) + 0x1ecd9);
        s04 = ((unsigned int)((s04 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s23) >> 5))) ^ s15))))) + 0x28b10);
        s05 = ((unsigned int)((s05 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s24) >> 6))) ^ s16))))) + 0x32947);
        s06 = ((unsigned int)((s06 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s25) >> 7))) ^ s17))))) + 0x3c77e);
        s07 = ((unsigned int)((s07 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s26) >> 1))) ^ s18))))) + 0x465b5);
        s08 = ((unsigned int)((s08 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s27) >> 2))) ^ s19))))) + 0x503ec);
        s09 = ((unsigned int)((s09 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s28) >> 3))) ^ s20))))) + 0x5a223);
        s10 = ((unsigned int)((s10 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s29) >> 4))) ^ s21))))) + 0x6405a);
        s11 = ((unsigned int)((s11 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s30) >> 5))) ^ s22))))) + 0x6de91);
        s12 = ((unsigned int)((s12 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s31) >> 6))) ^ s23))))) + 0x77cc8);
        s13 = ((unsigned int)((s13 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s32) >> 7))) ^ s24))))) + 0x81aff);
        s14 = ((unsigned int)((s14 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s33) >> 1))) ^ s25))))) + 0x8b936);
        s15 = ((unsigned int)((s15 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s34) >> 2))) ^ s26))))) + 0x9576d);
        s16 = ((unsigned int)((s16 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s35) >> 3))) ^ s27))))) + 0x9f5a4);
        s17 = ((unsigned int)((s17 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s36) >> 4))) ^ s28))))) + 0xa93db);
        s18 = ((unsigned int)((s18 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s37) >> 5))) ^ s29))))) + 0xb3212);
        s19 = ((unsigned int)((s19 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s38) >> 6))) ^ s30))))) + 0xbd049);
        s20 = ((unsigned int)((s20 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s39) >> 7))) ^ s31))))) + 0xc6e80);
        s21 = ((unsigned int)((s21 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s40) >> 1))) ^ s32))))) + 0xd0cb7);
        s22 = ((unsigned int)((s22 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s41) >> 2))) ^ s33))))) + 0xdaaee);
        s23 = ((unsigned int)((s23 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s42) >> 3))) ^ s34))))) + 0xe4925);
        s24 = ((unsigned int)((s24 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s43) >> 4))) ^ s35))))) + 0xee75c);
        s25 = ((unsigned int)((s25 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s44) >> 5))) ^ s36))))) + 0xf8593);
        s26 = ((unsigned int)((s26 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s45) >> 6))) ^ s37))))) + 0x1023ca);
        s27 = ((unsigned int)((s27 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s46) >> 7))) ^ s38))))) + 0x10c201);
        s28 = ((unsigned int)((s28 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s47) >> 1))) ^ s39))))) + 0x116038);
        s29 = ((unsigned int)((s29 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s00) >> 2))) ^ s40))))) + 0x11fe6f);
        s30 = ((unsigned int)((s30 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s01) >> 3))) ^ s41))))) + 0x129ca6);
        s31 = ((unsigned int)((s31 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s02) >> 4))) ^ s42))))) + 0x133add);
        s32 = ((unsigned int)((s32 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s03) >> 5))) ^ s43))))) + 0x13d914);
        s33 = ((unsigned int)((s33 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s04) >> 6))) ^ s44))))) + 0x14774b);
        s34 = ((unsigned int)((s34 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s05) >> 7))) ^ s45))))) + 0x151582);
        s35 = ((unsigned int)((s35 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s06) >> 1))) ^ s46))))) + 0x15b3b9);
        s36 = ((unsigned int)((s36 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s07) >> 2))) ^ s47))))) + 0x1651f0);
        s37 = ((unsigned int)((s37 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s08) >> 3))) ^ s00))))) + 0x16f027);
        s38 = ((unsigned int)((s38 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s09) >> 4))) ^ s01))))) + 0x178e5e);
        s39 = ((unsigned int)((s39 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s10) >> 5))) ^ s02))))) + 0x182c95);
        s40 = ((unsigned int)((s40 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s11) >> 6))) ^ s03))))) + 0x18cacc);
        s41 = ((unsigned int)((s41 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s12) >> 7))) ^ s04))))) + 0x196903);
        s42 = ((unsigned int)((s42 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s13) >> 1))) ^ s05))))) + 0x1a073a);
        s43 = ((unsigned int)((s43 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s14) >> 2))) ^ s06))))) + 0x1aa571);
        s44 = ((unsigned int)((s44 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s15) >> 3))) ^ s07))))) + 0x1b43a8);
        s45 = ((unsigned int)((s45 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s16) >> 4))) ^ s08))))) + 0x1be1df);
        s46 = ((unsigned int)((s46 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s17) >> 5))) ^ s09))))) + 0x1c8016);
        s47 = ((unsigned int)((s47 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s18) >> 6))) ^ s10))))) + 0x1d1e4d);
        s00 = ((unsigned int)((s23 + s05)) ^ (unsigned int)(((unsigned long)((unsigned int)((s00 + s00))) + s00)));
        s01 = ((unsigned int)((s24 + s06)) ^ (unsigned int)(((unsigned long)((unsigned int)((s01 + s01))) + s01)));
        s02 = ((unsigned int)((s25 + s07)) ^ (unsigned int)(((unsigned long)((unsigned int)((s02 + s02))) + s02)));
        s03 = ((unsigned int)((s26 + s08)) ^ (unsigned int)(((unsigned long)((unsigned int)((s03 + s03))) + s03)));
        s04 = ((unsigned int)((s27 + s09)) ^ (unsigned int)(((unsigned long)((unsigned int)((s04 + s04))) + s04)));
        s05 = ((unsigned int)((s28 + s10)) ^ (unsigned int)(((unsigned long)((unsigned int)((s05 + s05))) + s05)));
        s06 = ((unsigned int)((s29 + s11)) ^ (unsigned int)(((unsigned long)((unsigned int)((s06 + s06))) + s06)));
        s07 = ((unsigned int)((s30 + s12)) ^ (unsigned int)(((unsigned long)((unsigned int)((s07 + s07))) + s07)));
        s08 = ((unsigned int)((s31 + s13)) ^ (unsigned int)(((unsigned long)((unsigned int)((s08 + s08))) + s08)));
        s09 = ((unsigned int)((s32 + s14)) ^ (unsigned int)(((unsigned long)((unsigned int)((s09 + s09))) + s09)));
        s10 = ((unsigned int)((s33 + s15)) ^ (unsigned int)(((unsigned long)((unsigned int)((s10 + s10))) + s10)));
        s11 = ((unsigned int)((s34 + s16)) ^ (unsigned int)(((unsigned long)((unsigned int)((s11 + s11))) + s11)));
        s12 = ((unsigned int)((s35 + s17)) ^ (unsigned int)(((unsigned long)((unsigned int)((s12 + s12))) + s12)));
        s13 = ((unsigned int)((s36 + s18)) ^ (unsigned int)(((unsigned long)((unsigned int)((s13 + s13))) + s13)));
        s14 = ((unsigned int)((s37 + s19)) ^ (unsigned int)(((unsigned long)((unsigned int)((s14 + s14))) + s14)));
        s15 = ((unsigned int)((s38 + s20)) ^ (unsigned int)(((unsigned long)((unsigned int)((s15 + s15))) + s15)));
        s16 = ((unsigned int)((s39 + s21)) ^ (unsigned int)(((unsigned long)((unsigned int)((s16 + s16))) + s16)));
        s17 = ((unsigned int)((s40 + s22)) ^ (unsigned int)(((unsigned long)((unsigned int)((s17 + s17))) + s17)));
        s18 = ((unsigned int)((s41 + s23)) ^ (unsigned int)(((unsigned long)((unsigned int)((s18 + s18))) + s18)));
        s19 = ((unsigned int)((s42 + s24)) ^ (unsigned int)(((unsigned long)((unsigned int)((s19 + s19))) + s19)));
        s20 = ((unsigned int)((s43 + s25)) ^ (unsigned int)(((unsigned long)((unsigned int)((s20 + s20))) + s20)));
        s21 = ((unsigned int)((s44 + s26)) ^ (unsigned int)(((unsigned long)((unsigned int)((s21 + s21))) + s21)));
        s22 = ((unsigned int)((s45 + s27)) ^ (unsigned int)(((unsigned long)((unsigned int)((s22 + s22))) + s22)));
        s23 = ((unsigned int)((s46 + s28)) ^ (unsigned int)(((unsigned long)((unsigned int)((s23 + s23))) + s23)));
        s24 = ((unsigned int)((s47 + s29)) ^ (unsigned int)(((unsigned long)((unsigned int)((s24 + s24))) + s24)));
        s25 = ((unsigned int)((s00 + s30)) ^ (unsigned int)(((unsigned long)((unsigned int)((s25 + s25))) + s25)));
        s26 = ((unsigned int)((s01 + s31)) ^ (unsigned int)(((unsigned long)((unsigned int)((s26 + s26))) + s26)));
        s27 = ((unsigned int)((s02 + s32)) ^ (unsigned int)(((unsigned long)((unsigned int)((s27 + s27))) + s27)));
        s28 = ((unsigned int)((s03 + s33)) ^ (unsigned int)(((unsigned long)((unsigned int)((s28 + s28))) + s28)));
        s29 = ((unsigned int)((s04 + s34)) ^ (unsigned int)(((unsigned long)((unsigned int)((s29 + s29))) + s29)));
        s30 = ((unsigned int)((s05 + s35)) ^ (unsigned int)(((unsigned long)((unsigned int)((s30 + s30))) + s30)));
        s31 = ((unsigned int)((s06 + s36)) ^ (unsigned int)(((unsigned long)((unsigned int)((s31 + s31))) + s31)));
        s32 = ((unsigned int)((s07 + s37)) ^ (unsigned int)(((unsigned long)((unsigned int)((s32 + s32))) + s32)));
        s33 = ((unsigned int)((s08 + s38)) ^ (unsigned int)(((unsigned long)((unsigned int)((s33 + s33))) + s33)));
        s34 = ((unsigned int)((s09 + s39)) ^ (unsigned int)(((unsigned long)((unsigned int)((s34 + s34))) + s34)));
        s35 = ((unsigned int)((s10 + s40)) ^ (unsigned int)(((unsigned long)((unsigned int)((s35 + s35))) + s35)));
        s36 = ((unsigned int)((s11 + s41)) ^ (unsigned int)(((unsigned long)((unsigned int)((s36 + s36))) + s36)));
        s37 = ((unsigned int)((s12 + s42)) ^ (unsigned int)(((unsigned long)((unsigned int)((s37 + s37))) + s37)));
        s38 = ((unsigned int)((s13 + s43)) ^ (unsigned int)(((unsigned long)((unsigned int)((s38 + s38))) + s38)));
        s39 = ((unsigned int)((s14 + s44)) ^ (unsigned int)(((unsigned long)((unsigned int)((s39 + s39))) + s39)));
        s40 = ((unsigned int)((s15 + s45)) ^ (unsigned int)(((unsigned long)((unsigned int)((s40 + s40))) + s40)));
        s41 = ((unsigned int)((s16 + s46)) ^ (unsigned int)(((unsigned long)((unsigned int)((s41 + s41))) + s41)));
        s42 = ((unsigned int)((s17 + s47)) ^ (unsigned int)(((unsigned long)((unsigned int)((s42 + s42))) + s42)));
        s43 = ((unsigned int)((s18 + s00)) ^ (unsigned int)(((unsigned long)((unsigned int)((s43 + s43))) + s43)));
        s44 = ((unsigned int)((s19 + s01)) ^ (unsigned int)(((unsigned long)((unsigned int)((s44 + s44))) + s44)));
        s45 = ((unsigned int)((s20 + s02)) ^ (unsigned int)(((unsigned long)((unsigned int)((s45 + s45))) + s45)));
        s46 = ((unsigned int)((s21 + s03)) ^ (unsigned int)(((unsigned long)((unsigned int)((s46 + s46))) + s46)));
        s47 = ((unsigned int)((s22 + s04)) ^ (unsigned int)(((unsigned long)((unsigned int)((s47 + s47))) + s47)));
        total = (s00 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s01 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s02 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s03 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s04 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s05 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s06 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s07 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s08 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s09 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s10 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s11 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s12 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s13 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s14 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s15 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s16 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s17 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s18 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s19 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s20 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s21 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s22 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s23 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s24 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s25 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s26 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s27 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s28 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s29 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s30 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s31 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s32 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s33 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s34 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s35 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s36 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s37 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s38 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s39 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s40 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s41 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s42 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s43 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s44 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s45 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s46 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        total = (s47 + (unsigned int)(((unsigned long)((unsigned int)((total << 5))) - total)));
        *(int *)((long)arg0) = total;
        *(int *)((arg0 + 1)) = s00;
        return total;
    } else {
        return 0xffffffff;
    }
}

gcc -O2

4/4
dfs196_alias_control pass 33 lines
// glaurung: dfs196_alias_control @ 0x1f80
int32_t dfs196_alias_control(int32_t * arg0, int32_t arg1) {
    extern __attribute__((noreturn)) void __stack_chk_fail(void);
    int before;
    long local_10;
    unsigned char local_38[32];
    long ret;
    long var3;
    long var4;
    long var5;
    long var8;
    local_10 = (long)(0x28);
    if ((arg0 == 0)) {
        ret = 0xffffffff;
    } else {
        var3 = (long)(&local_38[0]);
        var4 = (long)((&local_38[0] + 32));
        var5 = (unsigned long)((unsigned int)(arg1));
        do {
            *(int *)((var3)) = var5;
            var3 = (var3 + 4);
            var5 = (unsigned long)((unsigned int)((var5 + 1)));
        } while ((var3 != var4));
        before = (unsigned long)((unsigned int)(*(int *)((&local_38[0] + 12))));
        var8 = (unsigned long)((unsigned int)((before + 4096)));
        *(int *)(((long)arg0)) = var8;
        ret = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)((var8 + (var8 * 2)))) + before)));
    }
    if ((local_10 != 0x28)) {
        __stack_chk_fail();
    }
    return ret;
}
dfs196_indexed_control pass 34 lines
// glaurung: dfs196_indexed_control @ 0x1ff0
int32_t dfs196_indexed_control(int32_t * arg0, int32_t arg1) {
    extern __attribute__((noreturn)) void __stack_chk_fail(void);
    int before;
    long local_10;
    unsigned char local_38[32];
    long ret;
    long var11;
    long var3;
    long var4;
    long var5;
    local_10 = (long)(0x28);
    if ((arg0 == 0)) {
        ret = 0xffffffff;
    } else {
        var3 = (unsigned long)((unsigned int)((arg1 + arg1)));
        var4 = (long)(&local_38[0]);
        var5 = (long)((&local_38[0] + 32));
        do {
            *(int *)((var4)) = var3;
            var4 = (var4 + 4);
            var3 = (unsigned long)((unsigned int)((var3 + 1)));
        } while ((var4 != var5));
        before = (unsigned long)((unsigned int)(*(int *)((&local_38[0] + 20))));
        *(int *)((&local_38[0] + ((unsigned long)((unsigned int)((arg1 & 7))) * 4))) = (before + 1911);
        var11 = (unsigned long)((unsigned int)(*(int *)((&local_38[0] + 20))));
        *(int *)(((long)arg0)) = var11;
        ret = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)((var11 + (var11 * 2)))) + before)));
    }
    if ((local_10 != 0x28)) {
        __stack_chk_fail();
    }
    return ret;
}
dfs196_overlap_control pass 12 lines
// glaurung: dfs196_overlap_control @ 0x2070
int32_t dfs196_overlap_control(int32_t * arg0, int32_t arg1) {
    long var4;
    int var8;
    if ((arg0 == 0)) {
        return 0xffffffff;
    }
    var4 = ((unsigned int)((unsigned short)((arg1 & 0xffff))) | ((unsigned int)((unsigned short)(((unsigned long)((unsigned int)((arg1 + 5))) & 0xffff))) << 16));
    *(int *)(((long)arg0)) = var4;
    var8 = (arg1 + 1);
    return (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((var4 + (var4 * 2)))) + arg1))) + ((unsigned long)((unsigned int)(var8)) * 8)))) - (unsigned long)((unsigned int)(var8))));
}
dfs196_spill_web pass 435 lines
// glaurung: dfs196_spill_web @ 0x1120
__attribute__((no_stack_protector)) int32_t dfs196_spill_web(int32_t * arg0, int32_t arg1) {
    unsigned int s20;
    unsigned int s19;
    unsigned int s22;
    unsigned int s00;
    unsigned int s05;
    unsigned int s06;
    unsigned int s07;
    unsigned int s08;
    unsigned int s09;
    unsigned int s10;
    unsigned int s11;
    unsigned int s12;
    unsigned int s24;
    unsigned int s25;
    unsigned int s26;
    unsigned int s27;
    unsigned int s04;
    unsigned int s28;
    unsigned int s29;
    unsigned int s30;
    unsigned int s31;
    unsigned int s02;
    unsigned int s13;
    unsigned int s14;
    unsigned int s15;
    unsigned int s16;
    unsigned int s17;
    unsigned int s18;
    unsigned int s21;
    unsigned int s23;
    unsigned int s38;
    unsigned int total;
    int local_100;
    int local_104;
    int local_108;
    int local_10c;
    int local_110;
    int local_114;
    int local_118;
    int local_11c;
    int local_120;
    int local_124;
    int local_128;
    int local_12c;
    unsigned char local_b8[184];
    int local_bc;
    int local_c0;
    int local_c4;
    int local_c8;
    int local_cc;
    int local_d0;
    int local_d4;
    int local_d8;
    int local_dc;
    int local_e0;
    int local_e4;
    int local_e8;
    int local_ec;
    int local_f0;
    int local_f4;
    int local_f8;
    int local_fc;
    long ret;
    long var1;
    long var10;
    int var1017;
    int var1028;
    int var1042;
    int var1056;
    int var1068;
    int var1079;
    int var1092;
    long var11;
    int var1103;
    int var1116;
    int var1130;
    int var1142;
    long var13;
    long var16;
    long var19;
    long var21;
    long var211;
    long var22;
    long var220;
    long var26;
    long var289;
    long var29;
    long var292;
    long var295;
    long var30;
    long var336;
    long var34;
    long var344;
    long var35;
    long var352;
    long var36;
    long var360;
    long var368;
    long var37;
    long var4;
    long var43;
    long var439;
    long var44;
    long var447;
    long var455;
    long var46;
    long var463;
    int var47;
    long var49;
    long var5;
    long var50;
    long var51;
    long var52;
    long var523;
    long var528;
    long var53;
    long var533;
    long var538;
    long var54;
    long var543;
    long var561;
    long var571;
    long var59;
    long var594;
    long var60;
    long var608;
    long var61;
    long var615;
    long var623;
    long var64;
    long var65;
    long var675;
    long var677;
    long var678;
    int var687;
    int var694;
    long var7;
    long var70;
    int var701;
    int var708;
    long var71;
    int var715;
    long var72;
    int var722;
    int var729;
    int var736;
    int var743;
    int var750;
    int var757;
    int var764;
    int var771;
    int var778;
    int var785;
    int var792;
    int var799;
    int var806;
    int var813;
    int var820;
    int var827;
    int var834;
    int var846;
    int var858;
    int var870;
    int var882;
    int var894;
    int var957;
    int var972;
    int var984;
    int var999;
    // x86-64 prologue: save callee registers, frame 48 bytes
    if ((arg0 == 0)) {
        return 0xffffffff;
    }
    var1 = (unsigned long)((unsigned int)((arg1 + 1)));
    var4 = (var1 * 0x6eee75bf);
    local_104 = (var1 * 0x10d1e349);
    var5 = (var1 * 0x76765533);
    local_10c = (var1 * 0x1859c2bd);
    var7 = (var1 * -0x5c5bb13LL);
    *(int *)((&local_b8[0] + 48)) = var4;
    *(int *)((&local_b8[0] + 40)) = var5;
    var10 = (var1 * -0x72f20c71LL);
    local_108 = (var1 * -0x6b6a2cfdLL);
    var11 = (var1 * -0xd4d9a87LL);
    local_114 = (var5 + 176);
    var13 = (var1 * 0x6766964b);
    *(int *)((&local_b8[0] + 36)) = var7;
    local_118 = (var7 + 169);
    var16 = (var1 * -0x14d579fbLL);
    *(int *)((&local_b8[0] + 44)) = var11;
    var19 = (var1 * 0x94a03d5);
    local_100 = (var4 + 190);
    local_110 = (var11 + 183);
    var21 = (var1 * 0x5fdeb6d7);
    local_f8 = (var13 + 204);
    var22 = (var1 * -0x1c5d596fLL);
    s20 = (unsigned long)((unsigned int)((var19 + 141)));
    *(int *)((&local_b8[0] + 52)) = var16;
    var26 = (var1 * 0x1c22461);
    local_fc = (var16 + 197);
    *(int *)((&local_b8[0] + 56)) = var13;
    local_f4 = (var22 + 211);
    var29 = (var1 * -0x23e538e3LL);
    local_f0 = (var21 + 218);
    var30 = (var1 * -0x2b6d1857LL);
    *(int *)((&local_b8[0] + 64)) = var21;
    *(int *)((&local_b8[0] + 68)) = var29;
    *(int *)((&local_b8[0] + 60)) = var22;
    local_ec = (var29 + 225);
    var34 = (var1 * 0x5856d763);
    var35 = (var1 * 0x50cef7ef);
    *(int *)((&local_b8[0] + 16)) = (var30 + 239);
    var36 = (var1 * -0x32f4f7cbLL);
    *(int *)((&local_b8[0] + 76)) = var30;
    var37 = (var1 * -0x7a79ebe5LL);
    *(int *)((&local_b8[0] + 72)) = var34;
    *(int *)((&local_b8[0] + 80)) = var35;
    local_12c = (var1 * -0x63e24d89LL);
    s19 = (unsigned long)((unsigned int)((var10 + 134)));
    var43 = (var1 * -0x54d28ea1LL);
    *(int *)((&local_b8[0] + 4)) = var10;
    var44 = (var1 * 0x276981a5);
    *(int *)((&local_b8[0] + 8)) = var19;
    s22 = (unsigned long)((unsigned int)((var26 + 155)));
    var46 = (var1 * -0x5c5a6e15LL);
    *(int *)((&local_b8[0] + 20)) = var37;
    var47 = (var37 + 148);
    var49 = (var1 * 0x1fe1a231);
    *(int *)((&local_b8[0] + 32)) = var26;
    var50 = (var1 * 0x7dfe34a7);
    local_e8 = (var34 + 232);
    *(int *)((&local_b8[0] + 132)) = (var35 + 246);
    var51 = (var1 * 0x4947187b);
    *(int *)((&local_b8[0] + 84)) = var36;
    var52 = (var1 * -0x3a7cd73fLL);
    local_e4 = (var36 + 253);
    var53 = (var1 * 0x41bf3907);
    var54 = (unsigned long)((unsigned int)((var50 + 162)));
    *(int *)((&local_b8[0] + 88)) = var51;
    *(int *)((&local_b8[0] + 92)) = var52;
    local_dc = (var52 + 267);
    local_d8 = (var53 + 274);
    var59 = (var1 * -0x4204b6b3LL);
    var60 = (var1 * -0x498c9627LL);
    *(int *)((&local_b8[0] + 96)) = var53;
    local_e0 = (var51 + 260);
    var61 = (var1 * 0x3a375993);
    *(int *)((&local_b8[0] + 100)) = var59;
    local_d4 = (var59 + 281);
    local_cc = (var60 + 295);
    var64 = (var1 * 0x32af7a1f);
    var65 = (var1 * -0x5114759bLL);
    *(int *)((&local_b8[0] + 108)) = var60;
    *(int *)((&local_b8[0] + 104)) = var61;
    *(int *)((&local_b8[0] + 112)) = var64;
    local_c8 = (var64 + 302);
    local_c4 = (var65 + 309);
    var70 = (var1 * -0x589c550fLL);
    var71 = (var1 * 0x239fbb37);
    *(int *)((&local_b8[0] + 116)) = var65;
    local_d0 = (var61 + 288);
    var72 = (var1 * 0x2b279aab);
    *(int *)((&local_b8[0] + 124)) = var70;
    *(int *)((&local_b8[0] + 128)) = var71;
    *(int *)(&local_b8[0]) = (var71 + 330);
    *(int *)((&local_b8[0] + 120)) = var72;
    local_c0 = (var72 + 316);
    local_bc = (var70 + 323);
    *(int *)((&local_b8[0] + 12)) = var54;
    s00 = (unsigned long)((unsigned int)((((unsigned long)((unsigned int)(((unsigned long)((unsigned int)((var43 + 78))) ^ (unsigned long)((unsigned int)(((unsigned int)(s19) >> 1)))))) + (var1 * 0x5498be5d)) + 0x1235)));
    local_128 = (((unsigned int)(((unsigned long)((unsigned int)((var44 + 85))) ^ (unsigned long)((unsigned int)(((unsigned int)(s20) >> 2))))) + (var1 * -0x2f2b315dLL)) + 0xb073);
    local_124 = (((unsigned int)(((unsigned long)((unsigned int)((var46 + 92))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var47)) >> 3))))) + (var1 * 0x4d10dee9)) + 0x14eb1);
    local_120 = (((unsigned int)(((unsigned long)((unsigned int)((var49 + 99))) ^ (unsigned long)((unsigned int)(((unsigned int)(s22) >> 4))))) + (var1 * -0x36b310d1LL)) + 0x1ecef);
    local_11c = (((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_12c)) + 106))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var54)) >> 5))))) + (var1 * 0x4588ff75)) + 0x28b2d);
    s05 = (unsigned long)((unsigned int)((((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_10c)) + 113))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_118)) >> 6)))))) + (var1 * -0x3e3af045LL)) + 0x3296b)));
    s06 = (unsigned long)((unsigned int)((((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_108)) + 120))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_114)) >> 7)))))) + (var1 * 0x3e012001)) + 0x3c7a9)));
    s07 = (unsigned long)((unsigned int)((((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_104)) + 127))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_110)) >> 1)))))) + (var1 * -0x45c2cfb9LL)) + 0x465e7)));
    s08 = (unsigned long)((unsigned int)((((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_100)) >> 2))) ^ s19))) + (var1 * 0x3679408d)) + 0x50425)));
    s09 = (unsigned long)((unsigned int)((((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_fc)) >> 3))) ^ s20))) + (var1 * -0x4d4aaf2dLL)) + 0x5a263)));
    s10 = (unsigned long)((unsigned int)((((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_f8)) >> 4))) ^ (unsigned long)((unsigned int)(var47))))) + (var1 * 0x2ef16119)) + 0x640a1)));
    s11 = (unsigned long)((unsigned int)(((var43 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_f4)) >> 5))) ^ s22)))) + 0x6dedf)));
    s12 = (unsigned long)((unsigned int)(((var44 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_f0)) >> 6))) ^ *(int *)((&local_b8[0] + 12)))))) + 0x77d1d)));
    local_118 = ((var46 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_ec)) >> 7))) ^ local_118))) + 0x81b5b);
    var211 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 16))));
    local_114 = ((var49 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_e8)) >> 1))) ^ local_114))) + 0x8b999);
    local_110 = (((unsigned int)(local_12c) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var211)) >> 2))) ^ local_110))) + 0x957d7);
    var220 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 132))));
    local_10c = (((unsigned int)(local_10c) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var220)) >> 3))) ^ local_100))) + 0x9f615);
    local_108 = (((unsigned int)(local_108) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_e4)) >> 4))) ^ local_fc))) + 0xa9453);
    local_104 = (((unsigned int)(local_104) + (unsigned int)(((unsigned long)((unsigned int)(local_f8)) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_e0)) >> 5)))))) + 0xb3291);
    *(int *)((&local_b8[0] + 12)) = (((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 4)))) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_dc)) >> 6))) ^ local_f4)))) + 0xbd0cf);
    *(int *)((&local_b8[0] + 16)) = (((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 8)))) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_d8)) >> 7))) ^ local_f0)))) + 0xc6f0d);
    *(int *)((&local_b8[0] + 20)) = (((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 20)))) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_ec)) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_d4)) >> 1))))))) + 0xd0d4b);
    *(int *)((&local_b8[0] + 32)) = (((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 32)))) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_e8)) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_d0)) >> 2))))))) + 0xdab89);
    var289 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 44))));
    var292 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 52))));
    var295 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 36))));
    local_100 = ((var50 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_cc)) >> 3))) ^ var211))) + 0xe49c7);
    s24 = (unsigned long)((unsigned int)(((var295 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_c8)) >> 4))) ^ var220)))) + 0xee805)));
    s25 = (unsigned long)((unsigned int)((((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 40)))) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_e4)) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_c4)) >> 5))))))) + 0xf8643)));
    s26 = (unsigned long)((unsigned int)(((var289 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_c0)) >> 6))) ^ local_e0)))) + 0x102481)));
    s27 = (unsigned long)((unsigned int)((((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 48)))) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_bc)) >> 7))) ^ local_dc)))) + 0x10c2bf)));
    local_fc = ((var292 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(*(int *)(&local_b8[0]))) >> 1))) ^ local_d8))) + 0x1160fd);
    var336 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 60))));
    local_f8 = (((unsigned int)(*(int *)((&local_b8[0] + 56))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s00) >> 2))) ^ local_d4))) + 0x11ff3b);
    var344 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 64))));
    local_f4 = ((var336 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_128)) >> 3))) ^ local_d0))) + 0x129d79);
    var352 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 68))));
    local_f0 = ((var344 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_124)) >> 4))) ^ local_cc))) + 0x133bb7);
    var360 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 72))));
    local_ec = ((var352 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_120)) >> 5))) ^ local_c8))) + 0x13d9f5);
    var368 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 76))));
    local_e8 = ((var360 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_11c)) >> 6))) ^ local_c4))) + 0x147833);
    local_e4 = ((var368 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s05) >> 7))) ^ local_c0))) + 0x151671);
    local_e0 = (((unsigned int)(*(int *)((&local_b8[0] + 80))) + (unsigned int)(((unsigned long)((unsigned int)(local_bc)) ^ (unsigned long)((unsigned int)(((unsigned int)(s06) >> 1)))))) + 0x15b4af);
    local_dc = (((unsigned int)(*(int *)((&local_b8[0] + 84))) + (unsigned int)(((unsigned long)((unsigned int)(*(int *)(&local_b8[0]))) ^ (unsigned long)((unsigned int)(((unsigned int)(s07) >> 2)))))) + 0x1652ed);
    local_d8 = (((unsigned int)(*(int *)((&local_b8[0] + 88))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned int)(s08) >> 3))) ^ s00))) + 0x16f12b);
    local_d4 = (((unsigned int)(*(int *)((&local_b8[0] + 92))) + (unsigned int)(((unsigned long)((unsigned int)(local_128)) ^ (unsigned long)((unsigned int)(((unsigned int)(s09) >> 4)))))) + 0x178f69);
    local_d0 = (((unsigned int)(*(int *)((&local_b8[0] + 96))) + (unsigned int)(((unsigned long)((unsigned int)(local_124)) ^ (unsigned long)((unsigned int)(((unsigned int)(s10) >> 5)))))) + 0x182da7);
    local_cc = (((unsigned int)(*(int *)((&local_b8[0] + 100))) + (unsigned int)(((unsigned long)((unsigned int)(local_120)) ^ (unsigned long)((unsigned int)(((unsigned int)(s11) >> 6)))))) + 0x18cbe5);
    var439 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 108))));
    local_c8 = (((unsigned int)(*(int *)((&local_b8[0] + 104))) + (unsigned int)(((unsigned long)((unsigned int)(local_11c)) ^ (unsigned long)((unsigned int)(((unsigned int)(s12) >> 7)))))) + 0x196a23);
    var447 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 112))));
    local_c4 = ((var439 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_118)) >> 1))) ^ s05))) + 0x1a0861);
    var455 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 116))));
    local_c0 = ((var447 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_114)) >> 2))) ^ s06))) + 0x1aa69f);
    var463 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 120))));
    local_bc = ((var455 + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_110)) >> 3))) ^ s07))) + 0x1b44dd);
    *(int *)(&local_b8[0]) = ((var463 + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_10c)) >> 4))) ^ s08)))) + 0x1be31b);
    *(int *)((&local_b8[0] + 4)) = (((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 124)))) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_108)) >> 5))) ^ s09)))) + 0x1c8159);
    *(int *)((&local_b8[0] + 8)) = (((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 128)))) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_104)) >> 6))) ^ s10)))) + 0x1d1f97);
    local_12c = ((unsigned int)(((unsigned long)((unsigned int)(local_100)) + s05)) ^ (unsigned int)((s00 + (s00 * 2))));
    local_128 = ((unsigned int)((s06 + s24)) ^ (unsigned int)(((unsigned long)((unsigned int)(local_128)) + ((unsigned long)((unsigned int)(local_128)) * 2))));
    local_124 = ((unsigned int)((s07 + s25)) ^ (unsigned int)(((unsigned long)((unsigned int)(local_124)) + ((unsigned long)((unsigned int)(local_124)) * 2))));
    local_120 = ((unsigned int)((s08 + s26)) ^ (unsigned int)(((unsigned long)((unsigned int)(local_120)) + ((unsigned long)((unsigned int)(local_120)) * 2))));
    s04 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)((s09 + s27))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_11c)) + ((unsigned long)((unsigned int)(local_11c)) * 2)))))));
    var523 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_fc)) + s10))) ^ (unsigned long)((unsigned int)((s05 + (s05 * 2)))))));
    var528 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_f8)) + s11))) ^ (unsigned long)((unsigned int)((s06 + (s06 * 2)))))));
    var533 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_f4)) + s12))) ^ (unsigned long)((unsigned int)((s07 + (s07 * 2)))))));
    var538 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_118)) + local_f0))) ^ (unsigned long)((unsigned int)((s08 + (s08 * 2)))))));
    var543 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_114)) + local_ec))) ^ (unsigned long)((unsigned int)((s09 + (s09 * 2)))))));
    local_11c = ((unsigned int)(((unsigned long)((unsigned int)(local_110)) + local_e8)) ^ (unsigned int)((s10 + (s10 * 2))));
    var561 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_10c)) + local_e4))) ^ (unsigned long)((unsigned int)((s11 + (s11 * 2)))))));
    var571 = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_108)) + local_e0))) ^ (unsigned long)((unsigned int)((s12 + (s12 * 2)))))));
    local_118 = ((unsigned int)(((unsigned long)((unsigned int)(local_104)) + local_dc)) ^ (unsigned int)(((unsigned long)((unsigned int)(local_118)) + ((unsigned long)((unsigned int)(local_118)) * 2))));
    local_114 = ((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 12)))) + local_d8)) ^ (unsigned int)(((unsigned long)((unsigned int)(local_114)) + ((unsigned long)((unsigned int)(local_114)) * 2))));
    local_110 = ((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 16)))) + local_d4)) ^ (unsigned int)(((unsigned long)((unsigned int)(local_110)) + ((unsigned long)((unsigned int)(local_110)) * 2))));
    local_10c = ((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 20)))) + local_d0)) ^ (unsigned int)(((unsigned long)((unsigned int)(local_10c)) + ((unsigned long)((unsigned int)(local_10c)) * 2))));
    var594 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 32))));
    local_108 = ((unsigned int)(((unsigned long)((unsigned int)(local_cc)) + var594)) ^ (unsigned int)(((unsigned long)((unsigned int)(local_108)) + ((unsigned long)((unsigned int)(local_108)) * 2))));
    local_104 = ((unsigned int)(((unsigned long)((unsigned int)(local_c8)) + local_100)) ^ (unsigned int)(((unsigned long)((unsigned int)(local_104)) + ((unsigned long)((unsigned int)(local_104)) * 2))));
    var608 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 12))));
    *(int *)((&local_b8[0] + 12)) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_c4)) + s24))) ^ (unsigned long)((unsigned int)((var608 + (var608 * 2)))));
    var615 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 16))));
    *(int *)((&local_b8[0] + 40)) = (s25 + (s25 * 2));
    *(int *)((&local_b8[0] + 16)) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_c0)) + s25))) ^ (unsigned long)((unsigned int)((var615 + (var615 * 2)))));
    var623 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 20))));
    *(int *)((&local_b8[0] + 44)) = (s26 + (s26 * 2));
    *(int *)((&local_b8[0] + 20)) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_bc)) + s26))) ^ (unsigned long)((unsigned int)((var623 + (var623 * 2)))));
    *(int *)((&local_b8[0] + 32)) = ((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(*(int *)(&local_b8[0]))) + s27))) ^ (unsigned long)((unsigned int)((var594 + (var594 * 2)))));
    local_100 = ((unsigned int)(local_100) + ((unsigned int)(local_100) * 2));
    *(int *)((&local_b8[0] + 36)) = (s24 + (s24 * 2));
    *(int *)((&local_b8[0] + 48)) = ((unsigned long)((unsigned int)(local_ec)) + ((unsigned long)((unsigned int)(local_ec)) * 2));
    *(int *)((&local_b8[0] + 52)) = ((unsigned long)((unsigned int)(local_e8)) + ((unsigned long)((unsigned int)(local_e8)) * 2));
    *(int *)((&local_b8[0] + 56)) = ((unsigned long)((unsigned int)(local_e4)) + ((unsigned long)((unsigned int)(local_e4)) * 2));
    *(int *)((&local_b8[0] + 60)) = ((unsigned long)((unsigned int)(local_e0)) + ((unsigned long)((unsigned int)(local_e0)) * 2));
    *(int *)((&local_b8[0] + 64)) = ((unsigned long)((unsigned int)(local_dc)) + ((unsigned long)((unsigned int)(local_dc)) * 2));
    *(int *)((&local_b8[0] + 68)) = ((unsigned long)((unsigned int)(local_d8)) + ((unsigned long)((unsigned int)(local_d8)) * 2));
    *(int *)((&local_b8[0] + 72)) = ((unsigned long)((unsigned int)(local_d4)) + ((unsigned long)((unsigned int)(local_d4)) * 2));
    *(int *)((&local_b8[0] + 76)) = ((unsigned long)((unsigned int)(local_d0)) + ((unsigned long)((unsigned int)(local_d0)) * 2));
    *(int *)((&local_b8[0] + 80)) = ((unsigned long)((unsigned int)(local_cc)) + ((unsigned long)((unsigned int)(local_cc)) * 2));
    *(int *)((&local_b8[0] + 84)) = ((unsigned long)((unsigned int)(local_c8)) + ((unsigned long)((unsigned int)(local_c8)) * 2));
    *(int *)((&local_b8[0] + 88)) = ((unsigned long)((unsigned int)(local_c4)) + ((unsigned long)((unsigned int)(local_c4)) * 2));
    *(int *)((&local_b8[0] + 92)) = ((unsigned long)((unsigned int)(local_c0)) + ((unsigned long)((unsigned int)(local_c0)) * 2));
    *(int *)((&local_b8[0] + 96)) = ((unsigned long)((unsigned int)(local_bc)) + ((unsigned long)((unsigned int)(local_bc)) * 2));
    var675 = (unsigned long)((unsigned int)(*(int *)(&local_b8[0])));
    var677 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 8))));
    *(int *)((&local_b8[0] + 100)) = (var675 + (var675 * 2));
    var678 = (unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 4))));
    *(int *)((&local_b8[0] + 108)) = (var677 + (var677 * 2));
    *(int *)((&local_b8[0] + 104)) = (var678 + (var678 * 2));
    var687 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_12c)) << 5))) - (unsigned long)((unsigned int)(local_12c)))) + local_128);
    var694 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var687)) << 5))) - (unsigned long)((unsigned int)(var687)))) + local_124);
    var701 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var694)) << 5))) - (unsigned long)((unsigned int)(var694)))) + local_120);
    var708 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var701)) << 5))) - (unsigned long)((unsigned int)(var701)))) + s04);
    var715 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var708)) << 5))) - (unsigned long)((unsigned int)(var708)))) + var523);
    var722 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var715)) << 5))) - (unsigned long)((unsigned int)(var715)))) + var528);
    var729 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var722)) << 5))) - (unsigned long)((unsigned int)(var722)))) + var533);
    var736 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var729)) << 5))) - (unsigned long)((unsigned int)(var729)))) + var538);
    var743 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var736)) << 5))) - (unsigned long)((unsigned int)(var736)))) + var543);
    var750 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var743)) << 5))) - (unsigned long)((unsigned int)(var743)))) + local_11c);
    var757 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var750)) << 5))) - (unsigned long)((unsigned int)(var750)))) + var561);
    var764 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var757)) << 5))) - (unsigned long)((unsigned int)(var757)))) + var571);
    var771 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var764)) << 5))) - (unsigned long)((unsigned int)(var764)))) + local_118);
    var778 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var771)) << 5))) - (unsigned long)((unsigned int)(var771)))) + local_114);
    var785 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var778)) << 5))) - (unsigned long)((unsigned int)(var778)))) + local_110);
    var792 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var785)) << 5))) - (unsigned long)((unsigned int)(var785)))) + local_10c);
    var799 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var792)) << 5))) - (unsigned long)((unsigned int)(var792)))) + local_108);
    var806 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var799)) << 5))) - (unsigned long)((unsigned int)(var799)))) + local_104);
    var813 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var806)) << 5))) - (unsigned long)((unsigned int)(var806)))) + *(int *)((&local_b8[0] + 12)));
    var820 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var813)) << 5))) - (unsigned long)((unsigned int)(var813)))) + *(int *)((&local_b8[0] + 16)));
    var827 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var820)) << 5))) - (unsigned long)((unsigned int)(var820)))) + *(int *)((&local_b8[0] + 20)));
    var834 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var827)) << 5))) - (unsigned long)((unsigned int)(var827)))) + *(int *)((&local_b8[0] + 32)));
    var846 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_fc)) + *(int *)((&local_b8[0] + 4))))) ^ local_100)) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var834)) << 5))) - (unsigned long)((unsigned int)(var834)))));
    var858 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_f8)) + *(int *)((&local_b8[0] + 8))))) ^ *(int *)((&local_b8[0] + 36)))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var846)) << 5))) - (unsigned long)((unsigned int)(var846)))));
    var870 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_f4)) + local_12c))) ^ *(int *)((&local_b8[0] + 40)))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var858)) << 5))) - (unsigned long)((unsigned int)(var858)))));
    var882 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_f0)) + local_128))) ^ *(int *)((&local_b8[0] + 44)))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var870)) << 5))) - (unsigned long)((unsigned int)(var870)))));
    var894 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_ec)) + local_124))) ^ (unsigned long)((unsigned int)((s27 + (s27 * 2)))))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var882)) << 5))) - (unsigned long)((unsigned int)(var882)))));
    s28 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_e8)) + (unsigned long)((unsigned int)(local_120))))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_fc)) + ((unsigned long)((unsigned int)(local_fc)) * 2)))))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var894)) << 5))) - (unsigned long)((unsigned int)(var894)))));
    s29 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_e4)) + s04))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_f8)) + ((unsigned long)((unsigned int)(local_f8)) * 2)))))) + (unsigned int)(((unsigned long)((unsigned int)((s28 << 5))) - s28)));
    s30 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_e0)) + var523))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_f4)) + ((unsigned long)((unsigned int)(local_f4)) * 2)))))) + (unsigned int)(((unsigned long)((unsigned int)((s29 << 5))) - s29)));
    s31 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_dc)) + var528))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_f0)) + ((unsigned long)((unsigned int)(local_f0)) * 2)))))) + (unsigned int)(((unsigned long)((unsigned int)((s30 << 5))) - s30)));
    var957 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_d8)) + var533))) ^ *(int *)((&local_b8[0] + 48)))) + (unsigned int)(((unsigned long)((unsigned int)((s31 << 5))) - s31)));
    var972 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_d4)) + var538))) ^ *(int *)((&local_b8[0] + 52)))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var957)) << 5))) - (unsigned long)((unsigned int)(var957)))));
    var984 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_d0)) + var543))) ^ *(int *)((&local_b8[0] + 56)))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var972)) << 5))) - (unsigned long)((unsigned int)(var972)))));
    var999 = ((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 60)))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_cc)) + local_11c))))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var984)) << 5))) - (unsigned long)((unsigned int)(var984)))));
    var1017 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_c8)) + var561))) ^ *(int *)((&local_b8[0] + 64)))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var999)) << 5))) - (unsigned long)((unsigned int)(var999)))));
    var1028 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_c4)) + var571))) ^ *(int *)((&local_b8[0] + 68)))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1017)) << 5))) - (unsigned long)((unsigned int)(var1017)))));
    var1042 = ((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 72)))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_c0)) + local_118))))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1028)) << 5))) - (unsigned long)((unsigned int)(var1028)))));
    var1056 = ((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 76)))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_bc)) + local_114))))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1042)) << 5))) - (unsigned long)((unsigned int)(var1042)))));
    var1068 = ((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 80)))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(*(int *)(&local_b8[0]))) + local_110))))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1056)) << 5))) - (unsigned long)((unsigned int)(var1056)))));
    var1079 = ((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 84)))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 4)))) + local_10c))))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1068)) << 5))) - (unsigned long)((unsigned int)(var1068)))));
    var1092 = ((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 88)))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 8)))) + local_108))))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1079)) << 5))) - (unsigned long)((unsigned int)(var1079)))));
    var1103 = ((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 92)))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_104)) + (unsigned long)((unsigned int)(local_12c))))))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1092)) << 5))) - (unsigned long)((unsigned int)(var1092)))));
    var1116 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_128)) + *(int *)((&local_b8[0] + 12))))) ^ *(int *)((&local_b8[0] + 96)))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1103)) << 5))) - (unsigned long)((unsigned int)(var1103)))));
    var1130 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(local_124)) + *(int *)((&local_b8[0] + 16))))) ^ *(int *)((&local_b8[0] + 100)))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1116)) << 5))) - (unsigned long)((unsigned int)(var1116)))));
    *(int *)(((long)arg0 + 0x4)) = local_12c;
    var1142 = ((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 20)))) + (unsigned long)((unsigned int)(local_120))))) ^ *(int *)((&local_b8[0] + 104)))) + (unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1130)) << 5))) - (unsigned long)((unsigned int)(var1130)))));
    ret = (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 108)))) ^ (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(*(int *)((&local_b8[0] + 32)))) + s04)))))) + (unsigned long)((unsigned int)(((unsigned long)((unsigned int)(((unsigned long)((unsigned int)(var1142)) << 5))) - (unsigned long)((unsigned int)(var1142))))))));
    *(int *)((long)arg0) = ret;
    // x86-64 epilogue: restore callee registers
    return ret;
}

← 213 fixtures