File 8base_80736669542d3727c77ccda1589f9d7c17568a1d97d98ffae84afbbbf081be67.elf
Function:
    00401908
    00401908fproduct:
    00401908sub sp, sp, 32
    0040190cstr x0, [sp+24]
    00401910str x1, [sp+16]
    00401914str x2, [sp+8]
    00401918ldr x0, [sp+16]
    0040191cldr x0, [x0]
    00401920sbfm x1, x0, 0, 31
    00401924ldr x0, [sp+8]
    00401928ldr x0, [x0]
    0040192csbfm x0, x0, 0, 31
    00401930madd x1, x1, x0, xzr
    00401934ldr x0, [sp+24]
    00401938str x1, [x0]
    0040193cldr x0, [sp+16]
    00401940ldr x0, [x0]
    00401944sbfm x1, x0, 0, 31
    00401948ldr x0, [sp+8]
    0040194cadd x0, x0, 8
    00401950ldr x0, [x0]
    00401954sbfm x0, x0, 0, 31
    00401958madd x2, x1, x0, xzr
    0040195cldr x0, [sp+16]
    00401960add x0, x0, 8
    00401964ldr x0, [x0]
    00401968sbfm x1, x0, 0, 31
    0040196cldr x0, [sp+8]
    00401970ldr x0, [x0]
    00401974sbfm x0, x0, 0, 31
    00401978madd x1, x1, x0, xzr
    0040197cldr x0, [sp+24]
    00401980add x0, x0, 8
    00401984add x1, x2, x1
    00401988str x1, [x0]
    0040198cldr x0, [sp+16]
    00401990add x0, x0, 8
    00401994ldr x0, [x0]
    00401998sbfm x1, x0, 0, 31
    0040199cldr x0, [sp+8]
    004019a0add x0, x0, 8
    004019a4ldr x0, [x0]
    004019a8sbfm x0, x0, 0, 31
    004019acmadd x0, x1, x0, xzr
    004019b0ubfm x1, x0, 63, 62
    004019b4ldr x0, [sp+16]
    004019b8ldr x0, [x0]
    004019bcsbfm x2, x0, 0, 31
    004019c0ldr x0, [sp+8]
    004019c4add x0, x0, 16
    004019c8ldr x0, [x0]
    004019ccsbfm x0, x0, 0, 31
    004019d0madd x0, x2, x0, xzr
    004019d4add x2, x1, x0
    004019d8ldr x0, [sp+16]
    004019dcadd x0, x0, 16
    004019e0ldr x0, [x0]
    004019e4sbfm x1, x0, 0, 31
    004019e8ldr x0, [sp+8]
    004019ecldr x0, [x0]
    004019f0sbfm x0, x0, 0, 31
    004019f4madd x1, x1, x0, xzr
    004019f8ldr x0, [sp+24]
    004019fcadd x0, x0, 16
    00401a00add x1, x2, x1
    00401a04str x1, [x0]
    00401a08ldr x0, [sp+16]
    00401a0cadd x0, x0, 8
    00401a10ldr x0, [x0]
    00401a14sbfm x1, x0, 0, 31
    00401a18ldr x0, [sp+8]
    00401a1cadd x0, x0, 16
    00401a20ldr x0, [x0]
    00401a24sbfm x0, x0, 0, 31
    00401a28madd x1, x1, x0, xzr
    00401a2cldr x0, [sp+16]
    00401a30add x0, x0, 16
    00401a34ldr x0, [x0]
    00401a38sbfm x2, x0, 0, 31
    00401a3cldr x0, [sp+8]
    00401a40add x0, x0, 8
    00401a44ldr x0, [x0]
    00401a48sbfm x0, x0, 0, 31
    00401a4cmadd x0, x2, x0, xzr
    00401a50add x1, x1, x0
    00401a54ldr x0, [sp+16]
    00401a58ldr x0, [x0]
    00401a5csbfm x2, x0, 0, 31
    00401a60ldr x0, [sp+8]
    00401a64add x0, x0, 24
    00401a68ldr x0, [x0]
    00401a6csbfm x0, x0, 0, 31
    00401a70madd x0, x2, x0, xzr
    00401a74add x2, x1, x0
    00401a78ldr x0, [sp+16]
    00401a7cadd x0, x0, 24
    00401a80ldr x0, [x0]
    00401a84sbfm x1, x0, 0, 31
    00401a88ldr x0, [sp+8]
    00401a8cldr x0, [x0]
    00401a90sbfm x0, x0, 0, 31
    00401a94madd x1, x1, x0, xzr
    00401a98ldr x0, [sp+24]
    00401a9cadd x0, x0, 24
    00401aa0add x1, x2, x1
    00401aa4str x1, [x0]
    00401aa8ldr x0, [sp+16]
    00401aacadd x0, x0, 16
    00401ab0ldr x0, [x0]
    00401ab4sbfm x1, x0, 0, 31
    00401ab8ldr x0, [sp+8]
    00401abcadd x0, x0, 16
    00401ac0ldr x0, [x0]
    00401ac4sbfm x0, x0, 0, 31
    00401ac8madd x1, x1, x0, xzr
    00401accldr x0, [sp+16]
    00401ad0add x0, x0, 8
    00401ad4ldr x0, [x0]
    00401ad8sbfm x2, x0, 0, 31
    00401adcldr x0, [sp+8]
    00401ae0add x0, x0, 24
    00401ae4ldr x0, [x0]
    00401ae8sbfm x0, x0, 0, 31
    00401aecmadd x2, x2, x0, xzr
    00401af0ldr x0, [sp+16]
    00401af4add x0, x0, 24
    00401af8ldr x0, [x0]
    00401afcsbfm x3, x0, 0, 31
    00401b00ldr x0, [sp+8]
    00401b04add x0, x0, 8
    00401b08ldr x0, [x0]
    00401b0csbfm x0, x0, 0, 31
    00401b10madd x0, x3, x0, xzr
    00401b14add x0, x2, x0
    00401b18ubfm x0, x0, 63, 62
    00401b1cadd x1, x1, x0
    00401b20ldr x0, [sp+16]
    00401b24ldr x0, [x0]
    00401b28sbfm x2, x0, 0, 31
    00401b2cldr x0, [sp+8]
    00401b30add x0, x0, 32
    00401b34ldr x0, [x0]
    00401b38sbfm x0, x0, 0, 31
    00401b3cmadd x0, x2, x0, xzr
    00401b40add x2, x1, x0
    00401b44ldr x0, [sp+16]
    00401b48add x0, x0, 32
    00401b4cldr x0, [x0]
    00401b50sbfm x1, x0, 0, 31
    00401b54ldr x0, [sp+8]
    00401b58ldr x0, [x0]
    00401b5csbfm x0, x0, 0, 31
    00401b60madd x1, x1, x0, xzr
    00401b64ldr x0, [sp+24]
    00401b68add x0, x0, 32
    00401b6cadd x1, x2, x1
    00401b70str x1, [x0]
    00401b74ldr x0, [sp+16]
    00401b78add x0, x0, 16
    00401b7cldr x0, [x0]
    00401b80sbfm x1, x0, 0, 31
    00401b84ldr x0, [sp+8]
    00401b88add x0, x0, 24
    00401b8cldr x0, [x0]
    00401b90sbfm x0, x0, 0, 31
    00401b94madd x1, x1, x0, xzr
    00401b98ldr x0, [sp+16]
    00401b9cadd x0, x0, 24
    00401ba0ldr x0, [x0]
    00401ba4sbfm x2, x0, 0, 31
    00401ba8ldr x0, [sp+8]
    00401bacadd x0, x0, 16
    00401bb0ldr x0, [x0]
    00401bb4sbfm x0, x0, 0, 31
    00401bb8madd x0, x2, x0, xzr
    00401bbcadd x1, x1, x0
    00401bc0ldr x0, [sp+16]
    00401bc4add x0, x0, 8
    00401bc8ldr x0, [x0]
    00401bccsbfm x2, x0, 0, 31
    00401bd0ldr x0, [sp+8]
    00401bd4add x0, x0, 32
    00401bd8ldr x0, [x0]
    00401bdcsbfm x0, x0, 0, 31
    00401be0madd x0, x2, x0, xzr
    00401be4add x1, x1, x0
    00401be8ldr x0, [sp+16]
    00401becadd x0, x0, 32
    00401bf0ldr x0, [x0]
    00401bf4sbfm x2, x0, 0, 31
    00401bf8ldr x0, [sp+8]
    00401bfcadd x0, x0, 8
    00401c00ldr x0, [x0]
    00401c04sbfm x0, x0, 0, 31
    00401c08madd x0, x2, x0, xzr
    00401c0cadd x1, x1, x0
    00401c10ldr x0, [sp+16]
    00401c14ldr x0, [x0]
    00401c18sbfm x2, x0, 0, 31
    00401c1cldr x0, [sp+8]
    00401c20add x0, x0, 40
    00401c24ldr x0, [x0]
    00401c28sbfm x0, x0, 0, 31
    00401c2cmadd x0, x2, x0, xzr
    00401c30add x2, x1, x0
    00401c34ldr x0, [sp+16]
    00401c38add x0, x0, 40
    00401c3cldr x0, [x0]
    00401c40sbfm x1, x0, 0, 31
    00401c44ldr x0, [sp+8]
    00401c48ldr x0, [x0]
    00401c4csbfm x0, x0, 0, 31
    00401c50madd x1, x1, x0, xzr
    00401c54ldr x0, [sp+24]
    00401c58add x0, x0, 40
    00401c5cadd x1, x2, x1
    00401c60str x1, [x0]
    00401c64ldr x0, [sp+16]
    00401c68add x0, x0, 24
    00401c6cldr x0, [x0]
    00401c70sbfm x1, x0, 0, 31
    00401c74ldr x0, [sp+8]
    00401c78add x0, x0, 24
    00401c7cldr x0, [x0]
    00401c80sbfm x0, x0, 0, 31
    00401c84madd x1, x1, x0, xzr
    00401c88ldr x0, [sp+16]
    00401c8cadd x0, x0, 8
    00401c90ldr x0, [x0]
    00401c94sbfm x2, x0, 0, 31
    00401c98ldr x0, [sp+8]
    00401c9cadd x0, x0, 40
    00401ca0ldr x0, [x0]
    00401ca4sbfm x0, x0, 0, 31
    00401ca8madd x0, x2, x0, xzr
    00401cacadd x1, x1, x0
    00401cb0ldr x0, [sp+16]
    00401cb4add x0, x0, 40
    00401cb8ldr x0, [x0]
    00401cbcsbfm x2, x0, 0, 31
    00401cc0ldr x0, [sp+8]
    00401cc4add x0, x0, 8
    00401cc8ldr x0, [x0]
    00401cccsbfm x0, x0, 0, 31
    00401cd0madd x0, x2, x0, xzr
    00401cd4add x0, x1, x0
    00401cd8ubfm x1, x0, 63, 62
    00401cdcldr x0, [sp+16]
    00401ce0add x0, x0, 16
    00401ce4ldr x0, [x0]
    00401ce8sbfm x2, x0, 0, 31
    00401cecldr x0, [sp+8]
    00401cf0add x0, x0, 32
    00401cf4ldr x0, [x0]
    00401cf8sbfm x0, x0, 0, 31
    00401cfcmadd x0, x2, x0, xzr
    00401d00add x1, x1, x0
    00401d04ldr x0, [sp+16]
    00401d08add x0, x0, 32
    00401d0cldr x0, [x0]
    00401d10sbfm x2, x0, 0, 31
    00401d14ldr x0, [sp+8]
    00401d18add x0, x0, 16
    00401d1cldr x0, [x0]
    00401d20sbfm x0, x0, 0, 31
    00401d24madd x0, x2, x0, xzr
    00401d28add x1, x1, x0
    00401d2cldr x0, [sp+16]
    00401d30ldr x0, [x0]
    00401d34sbfm x2, x0, 0, 31
    00401d38ldr x0, [sp+8]
    00401d3cadd x0, x0, 48
    00401d40ldr x0, [x0]
    00401d44sbfm x0, x0, 0, 31
    00401d48madd x0, x2, x0, xzr
    00401d4cadd x2, x1, x0
    00401d50ldr x0, [sp+16]
    00401d54add x0, x0, 48
    00401d58ldr x0, [x0]
    00401d5csbfm x1, x0, 0, 31
    00401d60ldr x0, [sp+8]
    00401d64ldr x0, [x0]
    00401d68sbfm x0, x0, 0, 31
    00401d6cmadd x1, x1, x0, xzr
    00401d70ldr x0, [sp+24]
    00401d74add x0, x0, 48
    00401d78add x1, x2, x1
    00401d7cstr x1, [x0]
    00401d80ldr x0, [sp+16]
    00401d84add x0, x0, 24
    00401d88ldr x0, [x0]
    00401d8csbfm x1, x0, 0, 31
    00401d90ldr x0, [sp+8]
    00401d94add x0, x0, 32
    00401d98ldr x0, [x0]
    00401d9csbfm x0, x0, 0, 31
    00401da0madd x1, x1, x0, xzr
    00401da4ldr x0, [sp+16]
    00401da8add x0, x0, 32
    00401dacldr x0, [x0]
    00401db0sbfm x2, x0, 0, 31
    00401db4ldr x0, [sp+8]
    00401db8add x0, x0, 24
    00401dbcldr x0, [x0]
    00401dc0sbfm x0, x0, 0, 31
    00401dc4madd x0, x2, x0, xzr
    00401dc8add x1, x1, x0
    00401dccldr x0, [sp+16]
    00401dd0add x0, x0, 16
    00401dd4ldr x0, [x0]
    00401dd8sbfm x2, x0, 0, 31
    00401ddcldr x0, [sp+8]
    00401de0add x0, x0, 40
    00401de4ldr x0, [x0]
    00401de8sbfm x0, x0, 0, 31
    00401decmadd x0, x2, x0, xzr
    00401df0add x1, x1, x0
    00401df4ldr x0, [sp+16]
    00401df8add x0, x0, 40
    00401dfcldr x0, [x0]
    00401e00sbfm x2, x0, 0, 31
    00401e04ldr x0, [sp+8]
    00401e08add x0, x0, 16
    00401e0cldr x0, [x0]
    00401e10sbfm x0, x0, 0, 31
    00401e14madd x0, x2, x0, xzr
    00401e18add x1, x1, x0
    00401e1cldr x0, [sp+16]
    00401e20add x0, x0, 8
    00401e24ldr x0, [x0]
    00401e28sbfm x2, x0, 0, 31
    00401e2cldr x0, [sp+8]
    00401e30add x0, x0, 48
    00401e34ldr x0, [x0]
    00401e38sbfm x0, x0, 0, 31
    00401e3cmadd x0, x2, x0, xzr
    00401e40add x1, x1, x0
    00401e44ldr x0, [sp+16]
    00401e48add x0, x0, 48
    00401e4cldr x0, [x0]
    00401e50sbfm x2, x0, 0, 31
    00401e54ldr x0, [sp+8]
    00401e58add x0, x0, 8
    00401e5cldr x0, [x0]
    00401e60sbfm x0, x0, 0, 31
    00401e64madd x0, x2, x0, xzr
    00401e68add x1, x1, x0
    00401e6cldr x0, [sp+16]
    00401e70ldr x0, [x0]
    00401e74sbfm x2, x0, 0, 31
    00401e78ldr x0, [sp+8]
    00401e7cadd x0, x0, 56
    00401e80ldr x0, [x0]
    00401e84sbfm x0, x0, 0, 31
    00401e88madd x0, x2, x0, xzr
    00401e8cadd x2, x1, x0
    00401e90ldr x0, [sp+16]
    00401e94add x0, x0, 56
    00401e98ldr x0, [x0]
    00401e9csbfm x1, x0, 0, 31
    00401ea0ldr x0, [sp+8]
    00401ea4ldr x0, [x0]
    00401ea8sbfm x0, x0, 0, 31
    00401eacmadd x1, x1, x0, xzr
    00401eb0ldr x0, [sp+24]
    00401eb4add x0, x0, 56
    00401eb8add x1, x2, x1
    00401ebcstr x1, [x0]
    00401ec0ldr x0, [sp+16]
    00401ec4add x0, x0, 32
    00401ec8ldr x0, [x0]
    00401eccsbfm x1, x0, 0, 31
    00401ed0ldr x0, [sp+8]
    00401ed4add x0, x0, 32
    00401ed8ldr x0, [x0]
    00401edcsbfm x0, x0, 0, 31
    00401ee0madd x1, x1, x0, xzr
    00401ee4ldr x0, [sp+16]
    00401ee8add x0, x0, 24
    00401eecldr x0, [x0]
    00401ef0sbfm x2, x0, 0, 31
    00401ef4ldr x0, [sp+8]
    00401ef8add x0, x0, 40
    00401efcldr x0, [x0]
    00401f00sbfm x0, x0, 0, 31
    00401f04madd x2, x2, x0, xzr
    00401f08ldr x0, [sp+16]
    00401f0cadd x0, x0, 40
    00401f10ldr x0, [x0]
    00401f14sbfm x3, x0, 0, 31
    00401f18ldr x0, [sp+8]
    00401f1cadd x0, x0, 24
    00401f20ldr x0, [x0]
    00401f24sbfm x0, x0, 0, 31
    00401f28madd x0, x3, x0, xzr
    00401f2cadd x2, x2, x0
    00401f30ldr x0, [sp+16]
    00401f34add x0, x0, 8
    00401f38ldr x0, [x0]
    00401f3csbfm x3, x0, 0, 31
    00401f40ldr x0, [sp+8]
    00401f44add x0, x0, 56
    00401f48ldr x0, [x0]
    00401f4csbfm x0, x0, 0, 31
    00401f50madd x0, x3, x0, xzr
    00401f54add x2, x2, x0
    00401f58ldr x0, [sp+16]
    00401f5cadd x0, x0, 56
    00401f60ldr x0, [x0]
    00401f64sbfm x3, x0, 0, 31
    00401f68ldr x0, [sp+8]
    00401f6cadd x0, x0, 8
    00401f70ldr x0, [x0]
    00401f74sbfm x0, x0, 0, 31
    00401f78madd x0, x3, x0, xzr
    00401f7cadd x0, x2, x0
    00401f80ubfm x0, x0, 63, 62
    00401f84add x1, x1, x0
    00401f88ldr x0, [sp+16]
    00401f8cadd x0, x0, 16
    00401f90ldr x0, [x0]
    00401f94sbfm x2, x0, 0, 31
    00401f98ldr x0, [sp+8]
    00401f9cadd x0, x0, 48
    00401fa0ldr x0, [x0]
    00401fa4sbfm x0, x0, 0, 31
    00401fa8madd x0, x2, x0, xzr
    00401facadd x1, x1, x0
    00401fb0ldr x0, [sp+16]
    00401fb4add x0, x0, 48
    00401fb8ldr x0, [x0]
    00401fbcsbfm x2, x0, 0, 31
    00401fc0ldr x0, [sp+8]
    00401fc4add x0, x0, 16
    00401fc8ldr x0, [x0]
    00401fccsbfm x0, x0, 0, 31
    00401fd0madd x0, x2, x0, xzr
    00401fd4add x1, x1, x0
    00401fd8ldr x0, [sp+16]
    00401fdcldr x0, [x0]
    00401fe0sbfm x2, x0, 0, 31
    00401fe4ldr x0, [sp+8]
    00401fe8add x0, x0, 64
    00401fecldr x0, [x0]
    00401ff0sbfm x0, x0, 0, 31
    00401ff4madd x0, x2, x0, xzr
    00401ff8add x2, x1, x0
    00401ffcldr x0, [sp+16]
    00402000add x0, x0, 64
    00402004ldr x0, [x0]
    00402008sbfm x1, x0, 0, 31
    0040200cldr x0, [sp+8]
    00402010ldr x0, [x0]
    00402014sbfm x0, x0, 0, 31
    00402018madd x1, x1, x0, xzr
    0040201cldr x0, [sp+24]
    00402020add x0, x0, 64
    00402024add x1, x2, x1
    00402028str x1, [x0]
    0040202cldr x0, [sp+16]
    00402030add x0, x0, 32
    00402034ldr x0, [x0]
    00402038sbfm x1, x0, 0, 31
    0040203cldr x0, [sp+8]
    00402040add x0, x0, 40
    00402044ldr x0, [x0]
    00402048sbfm x0, x0, 0, 31
    0040204cmadd x1, x1, x0, xzr
    00402050ldr x0, [sp+16]
    00402054add x0, x0, 40
    00402058ldr x0, [x0]
    0040205csbfm x2, x0, 0, 31
    00402060ldr x0, [sp+8]
    00402064add x0, x0, 32
    00402068ldr x0, [x0]
    0040206csbfm x0, x0, 0, 31
    00402070madd x0, x2, x0, xzr
    00402074add x1, x1, x0
    00402078ldr x0, [sp+16]
    0040207cadd x0, x0, 24
    00402080ldr x0, [x0]
    00402084sbfm x2, x0, 0, 31
    00402088ldr x0, [sp+8]
    0040208cadd x0, x0, 48
    00402090ldr x0, [x0]
    00402094sbfm x0, x0, 0, 31
    00402098madd x0, x2, x0, xzr
    0040209cadd x1, x1, x0
    004020a0ldr x0, [sp+16]
    004020a4add x0, x0, 48
    004020a8ldr x0, [x0]
    004020acsbfm x2, x0, 0, 31
    004020b0ldr x0, [sp+8]
    004020b4add x0, x0, 24
    004020b8ldr x0, [x0]
    004020bcsbfm x0, x0, 0, 31
    004020c0madd x0, x2, x0, xzr
    004020c4add x1, x1, x0
    004020c8ldr x0, [sp+16]
    004020ccadd x0, x0, 16
    004020d0ldr x0, [x0]
    004020d4sbfm x2, x0, 0, 31
    004020d8ldr x0, [sp+8]
    004020dcadd x0, x0, 56
    004020e0ldr x0, [x0]
    004020e4sbfm x0, x0, 0, 31
    004020e8madd x0, x2, x0, xzr
    004020ecadd x1, x1, x0
    004020f0ldr x0, [sp+16]
    004020f4add x0, x0, 56
    004020f8ldr x0, [x0]
    004020fcsbfm x2, x0, 0, 31
    00402100ldr x0, [sp+8]
    00402104add x0, x0, 16
    00402108ldr x0, [x0]
    0040210csbfm x0, x0, 0, 31
    00402110madd x0, x2, x0, xzr
    00402114add x1, x1, x0
    00402118ldr x0, [sp+16]
    0040211cadd x0, x0, 8
    00402120ldr x0, [x0]
    00402124sbfm x2, x0, 0, 31
    00402128ldr x0, [sp+8]
    0040212cadd x0, x0, 64
    00402130ldr x0, [x0]
    00402134sbfm x0, x0, 0, 31
    00402138madd x0, x2, x0, xzr
    0040213cadd x1, x1, x0
    00402140ldr x0, [sp+16]
    00402144add x0, x0, 64
    00402148ldr x0, [x0]
    0040214csbfm x2, x0, 0, 31
    00402150ldr x0, [sp+8]
    00402154add x0, x0, 8
    00402158ldr x0, [x0]
    0040215csbfm x0, x0, 0, 31
    00402160madd x0, x2, x0, xzr
    00402164add x1, x1, x0
    00402168ldr x0, [sp+16]
    0040216cldr x0, [x0]
    00402170sbfm x2, x0, 0, 31
    00402174ldr x0, [sp+8]
    00402178add x0, x0, 72
    0040217cldr x0, [x0]
    00402180sbfm x0, x0, 0, 31
    00402184madd x0, x2, x0, xzr
    00402188add x2, x1, x0
    0040218cldr x0, [sp+16]
    00402190add x0, x0, 72
    00402194ldr x0, [x0]
    00402198sbfm x1, x0, 0, 31
    0040219cldr x0, [sp+8]
    004021a0ldr x0, [x0]
    004021a4sbfm x0, x0, 0, 31
    004021a8madd x1, x1, x0, xzr
    004021acldr x0, [sp+24]
    004021b0add x0, x0, 72
    004021b4add x1, x2, x1
    004021b8str x1, [x0]
    004021bcldr x0, [sp+16]
    004021c0add x0, x0, 40
    004021c4ldr x0, [x0]
    004021c8sbfm x1, x0, 0, 31
    004021ccldr x0, [sp+8]
    004021d0add x0, x0, 40
    004021d4ldr x0, [x0]
    004021d8sbfm x0, x0, 0, 31
    004021dcmadd x1, x1, x0, xzr
    004021e0ldr x0, [sp+16]
    004021e4add x0, x0, 24
    004021e8ldr x0, [x0]
    004021ecsbfm x2, x0, 0, 31
    004021f0ldr x0, [sp+8]
    004021f4add x0, x0, 56
    004021f8ldr x0, [x0]
    004021fcsbfm x0, x0, 0, 31
    00402200madd x0, x2, x0, xzr
    00402204add x1, x1, x0
    00402208ldr x0, [sp+16]
    0040220cadd x0, x0, 56
    00402210ldr x0, [x0]
    00402214sbfm x2, x0, 0, 31
    00402218ldr x0, [sp+8]
    0040221cadd x0, x0, 24
    00402220ldr x0, [x0]
    00402224sbfm x0, x0, 0, 31
    00402228madd x0, x2, x0, xzr
    0040222cadd x1, x1, x0
    00402230ldr x0, [sp+16]
    00402234add x0, x0, 8
    00402238ldr x0, [x0]
    0040223csbfm x2, x0, 0, 31
    00402240ldr x0, [sp+8]
    00402244add x0, x0, 72
    00402248ldr x0, [x0]
    0040224csbfm x0, x0, 0, 31
    00402250madd x0, x2, x0, xzr
    00402254add x1, x1, x0
    00402258ldr x0, [sp+16]
    0040225cadd x0, x0, 72
    00402260ldr x0, [x0]
    00402264sbfm x2, x0, 0, 31
    00402268ldr x0, [sp+8]
    0040226cadd x0, x0, 8
    00402270ldr x0, [x0]
    00402274sbfm x0, x0, 0, 31
    00402278madd x0, x2, x0, xzr
    0040227cadd x0, x1, x0
    00402280ubfm x1, x0, 63, 62
    00402284ldr x0, [sp+16]
    00402288add x0, x0, 32
    0040228cldr x0, [x0]
    00402290sbfm x2, x0, 0, 31
    00402294ldr x0, [sp+8]
    00402298add x0, x0, 48
    0040229cldr x0, [x0]
    004022a0sbfm x0, x0, 0, 31
    004022a4madd x0, x2, x0, xzr
    004022a8add x1, x1, x0
    004022acldr x0, [sp+16]
    004022b0add x0, x0, 48
    004022b4ldr x0, [x0]
    004022b8sbfm x2, x0, 0, 31
    004022bcldr x0, [sp+8]
    004022c0add x0, x0, 32
    004022c4ldr x0, [x0]
    004022c8sbfm x0, x0, 0, 31
    004022ccmadd x0, x2, x0, xzr
    004022d0add x1, x1, x0
    004022d4ldr x0, [sp+16]
    004022d8add x0, x0, 16
    004022dcldr x0, [x0]
    004022e0sbfm x2, x0, 0, 31
    004022e4ldr x0, [sp+8]
    004022e8add x0, x0, 64
    004022ecldr x0, [x0]
    004022f0sbfm x0, x0, 0, 31
    004022f4madd x0, x2, x0, xzr
    004022f8add x2, x1, x0
    004022fcldr x0, [sp+16]
    00402300add x0, x0, 64
    00402304ldr x0, [x0]
    00402308sbfm x1, x0, 0, 31
    0040230cldr x0, [sp+8]
    00402310add x0, x0, 16
    00402314ldr x0, [x0]
    00402318sbfm x0, x0, 0, 31
    0040231cmadd x1, x1, x0, xzr
    00402320ldr x0, [sp+24]
    00402324add x0, x0, 80
    00402328add x1, x2, x1
    0040232cstr x1, [x0]
    00402330ldr x0, [sp+16]
    00402334add x0, x0, 40
    00402338ldr x0, [x0]
    0040233csbfm x1, x0, 0, 31
    00402340ldr x0, [sp+8]
    00402344add x0, x0, 48
    00402348ldr x0, [x0]
    0040234csbfm x0, x0, 0, 31
    00402350madd x1, x1, x0, xzr
    00402354ldr x0, [sp+16]
    00402358add x0, x0, 48
    0040235cldr x0, [x0]
    00402360sbfm x2, x0, 0, 31
    00402364ldr x0, [sp+8]
    00402368add x0, x0, 40
    0040236cldr x0, [x0]
    00402370sbfm x0, x0, 0, 31
    00402374madd x0, x2, x0, xzr
    00402378add x1, x1, x0
    0040237cldr x0, [sp+16]
    00402380add x0, x0, 32
    00402384ldr x0, [x0]
    00402388sbfm x2, x0, 0, 31
    0040238cldr x0, [sp+8]
    00402390add x0, x0, 56
    00402394ldr x0, [x0]
    00402398sbfm x0, x0, 0, 31
    0040239cmadd x0, x2, x0, xzr
    004023a0add x1, x1, x0
    004023a4ldr x0, [sp+16]
    004023a8add x0, x0, 56
    004023acldr x0, [x0]
    004023b0sbfm x2, x0, 0, 31
    004023b4ldr x0, [sp+8]
    004023b8add x0, x0, 32
    004023bcldr x0, [x0]
    004023c0sbfm x0, x0, 0, 31
    004023c4madd x0, x2, x0, xzr
    004023c8add x1, x1, x0
    004023ccldr x0, [sp+16]
    004023d0add x0, x0, 24
    004023d4ldr x0, [x0]
    004023d8sbfm x2, x0, 0, 31
    004023dcldr x0, [sp+8]
    004023e0add x0, x0, 64
    004023e4ldr x0, [x0]
    004023e8sbfm x0, x0, 0, 31
    004023ecmadd x0, x2, x0, xzr
    004023f0add x1, x1, x0
    004023f4ldr x0, [sp+16]
    004023f8add x0, x0, 64
    004023fcldr x0, [x0]
    00402400sbfm x2, x0, 0, 31
    00402404ldr x0, [sp+8]
    00402408add x0, x0, 24
    0040240cldr x0, [x0]
    00402410sbfm x0, x0, 0, 31
    00402414madd x0, x2, x0, xzr
    00402418add x1, x1, x0
    0040241cldr x0, [sp+16]
    00402420add x0, x0, 16
    00402424ldr x0, [x0]
    00402428sbfm x2, x0, 0, 31
    0040242cldr x0, [sp+8]
    00402430add x0, x0, 72
    00402434ldr x0, [x0]
    00402438sbfm x0, x0, 0, 31
    0040243cmadd x0, x2, x0, xzr
    00402440add x2, x1, x0
    00402444ldr x0, [sp+16]
    00402448add x0, x0, 72
    0040244cldr x0, [x0]
    00402450sbfm x1, x0, 0, 31
    00402454ldr x0, [sp+8]
    00402458add x0, x0, 16
    0040245cldr x0, [x0]
    00402460sbfm x0, x0, 0, 31
    00402464madd x1, x1, x0, xzr
    00402468ldr x0, [sp+24]
    0040246cadd x0, x0, 88
    00402470add x1, x2, x1
    00402474str x1, [x0]
    00402478ldr x0, [sp+16]
    0040247cadd x0, x0, 48
    00402480ldr x0, [x0]
    00402484sbfm x1, x0, 0, 31
    00402488ldr x0, [sp+8]
    0040248cadd x0, x0, 48
    00402490ldr x0, [x0]
    00402494sbfm x0, x0, 0, 31
    00402498madd x1, x1, x0, xzr
    0040249cldr x0, [sp+16]
    004024a0add x0, x0, 40
    004024a4ldr x0, [x0]
    004024a8sbfm x2, x0, 0, 31
    004024acldr x0, [sp+8]
    004024b0add x0, x0, 56
    004024b4ldr x0, [x0]
    004024b8sbfm x0, x0, 0, 31
    004024bcmadd x2, x2, x0, xzr
    004024c0ldr x0, [sp+16]
    004024c4add x0, x0, 56
    004024c8ldr x0, [x0]
    004024ccsbfm x3, x0, 0, 31
    004024d0ldr x0, [sp+8]
    004024d4add x0, x0, 40
    004024d8ldr x0, [x0]
    004024dcsbfm x0, x0, 0, 31
    004024e0madd x0, x3, x0, xzr
    004024e4add x2, x2, x0
    004024e8ldr x0, [sp+16]
    004024ecadd x0, x0, 24
    004024f0ldr x0, [x0]
    004024f4sbfm x3, x0, 0, 31
    004024f8ldr x0, [sp+8]
    004024fcadd x0, x0, 72
    00402500ldr x0, [x0]
    00402504sbfm x0, x0, 0, 31
    00402508madd x0, x3, x0, xzr
    0040250cadd x2, x2, x0
    00402510ldr x0, [sp+16]
    00402514add x0, x0, 72
    00402518ldr x0, [x0]
    0040251csbfm x3, x0, 0, 31
    00402520ldr x0, [sp+8]
    00402524add x0, x0, 24
    00402528ldr x0, [x0]
    0040252csbfm x0, x0, 0, 31
    00402530madd x0, x3, x0, xzr
    00402534add x0, x2, x0
    00402538ubfm x0, x0, 63, 62
    0040253cadd x1, x1, x0
    00402540ldr x0, [sp+16]
    00402544add x0, x0, 32
    00402548ldr x0, [x0]
    0040254csbfm x2, x0, 0, 31
    00402550ldr x0, [sp+8]
    00402554add x0, x0, 64
    00402558ldr x0, [x0]
    0040255csbfm x0, x0, 0, 31
    00402560madd x0, x2, x0, xzr
    00402564add x2, x1, x0
    00402568ldr x0, [sp+16]
    0040256cadd x0, x0, 64
    00402570ldr x0, [x0]
    00402574sbfm x1, x0, 0, 31
    00402578ldr x0, [sp+8]
    0040257cadd x0, x0, 32
    00402580ldr x0, [x0]
    00402584sbfm x0, x0, 0, 31
    00402588madd x1, x1, x0, xzr
    0040258cldr x0, [sp+24]
    00402590add x0, x0, 96
    00402594add x1, x2, x1
    00402598str x1, [x0]
    0040259cldr x0, [sp+16]
    004025a0add x0, x0, 48
    004025a4ldr x0, [x0]
    004025a8sbfm x1, x0, 0, 31
    004025acldr x0, [sp+8]
    004025b0add x0, x0, 56
    004025b4ldr x0, [x0]
    004025b8sbfm x0, x0, 0, 31
    004025bcmadd x1, x1, x0, xzr
    004025c0ldr x0, [sp+16]
    004025c4add x0, x0, 56
    004025c8ldr x0, [x0]
    004025ccsbfm x2, x0, 0, 31
    004025d0ldr x0, [sp+8]
    004025d4add x0, x0, 48
    004025d8ldr x0, [x0]
    004025dcsbfm x0, x0, 0, 31
    004025e0madd x0, x2, x0, xzr
    004025e4add x1, x1, x0
    004025e8ldr x0, [sp+16]
    004025ecadd x0, x0, 40
    004025f0ldr x0, [x0]
    004025f4sbfm x2, x0, 0, 31
    004025f8ldr x0, [sp+8]
    004025fcadd x0, x0, 64
    00402600ldr x0, [x0]
    00402604sbfm x0, x0, 0, 31
    00402608madd x0, x2, x0, xzr
    0040260cadd x1, x1, x0
    00402610ldr x0, [sp+16]
    00402614add x0, x0, 64
    00402618ldr x0, [x0]
    0040261csbfm x2, x0, 0, 31
    00402620ldr x0, [sp+8]
    00402624add x0, x0, 40
    00402628ldr x0, [x0]
    0040262csbfm x0, x0, 0, 31
    00402630madd x0, x2, x0, xzr
    00402634add x1, x1, x0
    00402638ldr x0, [sp+16]
    0040263cadd x0, x0, 32
    00402640ldr x0, [x0]
    00402644sbfm x2, x0, 0, 31
    00402648ldr x0, [sp+8]
    0040264cadd x0, x0, 72
    00402650ldr x0, [x0]
    00402654sbfm x0, x0, 0, 31
    00402658madd x0, x2, x0, xzr
    0040265cadd x2, x1, x0
    00402660ldr x0, [sp+16]
    00402664add x0, x0, 72
    00402668ldr x0, [x0]
    0040266csbfm x1, x0, 0, 31
    00402670ldr x0, [sp+8]
    00402674add x0, x0, 32
    00402678ldr x0, [x0]
    0040267csbfm x0, x0, 0, 31
    00402680madd x1, x1, x0, xzr
    00402684ldr x0, [sp+24]
    00402688add x0, x0, 104
    0040268cadd x1, x2, x1
    00402690str x1, [x0]
    00402694ldr x0, [sp+16]
    00402698add x0, x0, 56
    0040269cldr x0, [x0]
    004026a0sbfm x1, x0, 0, 31
    004026a4ldr x0, [sp+8]
    004026a8add x0, x0, 56
    004026acldr x0, [x0]
    004026b0sbfm x0, x0, 0, 31
    004026b4madd x1, x1, x0, xzr
    004026b8ldr x0, [sp+16]
    004026bcadd x0, x0, 40
    004026c0ldr x0, [x0]
    004026c4sbfm x2, x0, 0, 31
    004026c8ldr x0, [sp+8]
    004026ccadd x0, x0, 72
    004026d0ldr x0, [x0]
    004026d4sbfm x0, x0, 0, 31
    004026d8madd x0, x2, x0, xzr
    004026dcadd x1, x1, x0
    004026e0ldr x0, [sp+16]
    004026e4add x0, x0, 72
    004026e8ldr x0, [x0]
    004026ecsbfm x2, x0, 0, 31
    004026f0ldr x0, [sp+8]
    004026f4add x0, x0, 40
    004026f8ldr x0, [x0]
    004026fcsbfm x0, x0, 0, 31
    00402700madd x0, x2, x0, xzr
    00402704add x0, x1, x0
    00402708ubfm x1, x0, 63, 62
    0040270cldr x0, [sp+16]
    00402710add x0, x0, 48
    00402714ldr x0, [x0]
    00402718sbfm x2, x0, 0, 31
    0040271cldr x0, [sp+8]
    00402720add x0, x0, 64
    00402724ldr x0, [x0]
    00402728sbfm x0, x0, 0, 31
    0040272cmadd x0, x2, x0, xzr
    00402730add x2, x1, x0
    00402734ldr x0, [sp+16]
    00402738add x0, x0, 64
    0040273cldr x0, [x0]
    00402740sbfm x1, x0, 0, 31
    00402744ldr x0, [sp+8]
    00402748add x0, x0, 48
    0040274cldr x0, [x0]
    00402750sbfm x0, x0, 0, 31
    00402754madd x1, x1, x0, xzr
    00402758ldr x0, [sp+24]
    0040275cadd x0, x0, 112
    00402760add x1, x2, x1
    00402764str x1, [x0]
    00402768ldr x0, [sp+16]
    0040276cadd x0, x0, 56
    00402770ldr x0, [x0]
    00402774sbfm x1, x0, 0, 31
    00402778ldr x0, [sp+8]
    0040277cadd x0, x0, 64
    00402780ldr x0, [x0]
    00402784sbfm x0, x0, 0, 31
    00402788madd x1, x1, x0, xzr
    0040278cldr x0, [sp+16]
    00402790add x0, x0, 64
    00402794ldr x0, [x0]
    00402798sbfm x2, x0, 0, 31
    0040279cldr x0, [sp+8]
    004027a0add x0, x0, 56
    004027a4ldr x0, [x0]
    004027a8sbfm x0, x0, 0, 31
    004027acmadd x0, x2, x0, xzr
    004027b0add x1, x1, x0
    004027b4ldr x0, [sp+16]
    004027b8add x0, x0, 48
    004027bcldr x0, [x0]
    004027c0sbfm x2, x0, 0, 31
    004027c4ldr x0, [sp+8]
    004027c8add x0, x0, 72
    004027ccldr x0, [x0]
    004027d0sbfm x0, x0, 0, 31
    004027d4madd x0, x2, x0, xzr
    004027d8add x2, x1, x0
    004027dcldr x0, [sp+16]
    004027e0add x0, x0, 72
    004027e4ldr x0, [x0]
    004027e8sbfm x1, x0, 0, 31
    004027ecldr x0, [sp+8]
    004027f0add x0, x0, 48
    004027f4ldr x0, [x0]
    004027f8sbfm x0, x0, 0, 31
    004027fcmadd x1, x1, x0, xzr
    00402800ldr x0, [sp+24]
    00402804add x0, x0, 120
    00402808add x1, x2, x1
    0040280cstr x1, [x0]
    00402810ldr x0, [sp+16]
    00402814add x0, x0, 64
    00402818ldr x0, [x0]
    0040281csbfm x1, x0, 0, 31
    00402820ldr x0, [sp+8]
    00402824add x0, x0, 64
    00402828ldr x0, [x0]
    0040282csbfm x0, x0, 0, 31
    00402830madd x2, x1, x0, xzr
    00402834ldr x0, [sp+16]
    00402838add x0, x0, 56
    0040283cldr x0, [x0]
    00402840sbfm x1, x0, 0, 31
    00402844ldr x0, [sp+8]
    00402848add x0, x0, 72
    0040284cldr x0, [x0]
    00402850sbfm x0, x0, 0, 31
    00402854madd x1, x1, x0, xzr
    00402858ldr x0, [sp+16]
    0040285cadd x0, x0, 72
    00402860ldr x0, [x0]
    00402864sbfm x3, x0, 0, 31
    00402868ldr x0, [sp+8]
    0040286cadd x0, x0, 56
    00402870ldr x0, [x0]
    00402874sbfm x0, x0, 0, 31
    00402878madd x0, x3, x0, xzr
    0040287cadd x0, x1, x0
    00402880ubfm x1, x0, 63, 62
    00402884ldr x0, [sp+24]
    00402888add x0, x0, 128
    0040288cadd x1, x2, x1
    00402890str x1, [x0]
    00402894ldr x0, [sp+16]
    00402898add x0, x0, 64
    0040289cldr x0, [x0]
    004028a0sbfm x1, x0, 0, 31
    004028a4ldr x0, [sp+8]
    004028a8add x0, x0, 72
    004028acldr x0, [x0]
    004028b0sbfm x0, x0, 0, 31
    004028b4madd x2, x1, x0, xzr
    004028b8ldr x0, [sp+16]
    004028bcadd x0, x0, 72
    004028c0ldr x0, [x0]
    004028c4sbfm x1, x0, 0, 31
    004028c8ldr x0, [sp+8]
    004028ccadd x0, x0, 64
    004028d0ldr x0, [x0]
    004028d4sbfm x0, x0, 0, 31
    004028d8madd x1, x1, x0, xzr
    004028dcldr x0, [sp+24]
    004028e0add x0, x0, 136
    004028e4add x1, x2, x1
    004028e8str x1, [x0]
    004028ecldr x0, [sp+16]
    004028f0add x0, x0, 72
    004028f4ldr x0, [x0]
    004028f8sbfm x1, x0, 0, 31
    004028fcldr x0, [sp+8]
    00402900add x0, x0, 72
    00402904ldr x0, [x0]
    00402908sbfm x0, x0, 0, 31
    0040290cmadd x1, x1, x0, xzr
    00402910ldr x0, [sp+24]
    00402914add x0, x0, 144
    00402918ubfm x1, x1, 63, 62
    0040291cstr x1, [x0]
    00402920hint
    00402924add sp, sp, 32
    00402928ret x30
    00401908
    0040292c
    0040292cfreduce_degree:
    0040292csub sp, sp, 16
    00402930str x0, [sp+8]
    00402934ldr x0, [sp+8]
    00402938add x0, x0, 64
    0040293cldr x2, [x0]
    00402940ldr x0, [sp+8]
    00402944add x0, x0, 144
    00402948ldr x0, [x0]
    0040294cubfm x1, x0, 60, 59
    00402950ldr x0, [sp+8]
    00402954add x0, x0, 64
    00402958add x1, x2, x1
    0040295cstr x1, [x0]
    00402960ldr x0, [sp+8]
    00402964add x0, x0, 64
    00402968ldr x2, [x0]
    0040296cldr x0, [sp+8]
    00402970add x0, x0, 144
    00402974ldr x0, [x0]
    00402978ubfm x1, x0, 63, 62
    0040297cldr x0, [sp+8]
    00402980add x0, x0, 64
    00402984add x1, x2, x1
    00402988str x1, [x0]
    0040298cldr x0, [sp+8]
    00402990add x0, x0, 64
    00402994ldr x2, [x0]
    00402998ldr x0, [sp+8]
    0040299cadd x0, x0, 144
    004029a0ldr x1, [x0]
    004029a4ldr x0, [sp+8]
    004029a8add x0, x0, 64
    004029acadd x1, x2, x1
    004029b0str x1, [x0]
    004029b4ldr x0, [sp+8]
    004029b8add x0, x0, 56
    004029bcldr x2, [x0]
    004029c0ldr x0, [sp+8]
    004029c4add x0, x0, 136
    004029c8ldr x0, [x0]
    004029ccubfm x1, x0, 60, 59
    004029d0ldr x0, [sp+8]
    004029d4add x0, x0, 56
    004029d8add x1, x2, x1
    004029dcstr x1, [x0]
    004029e0ldr x0, [sp+8]
    004029e4add x0, x0, 56
    004029e8ldr x2, [x0]
    004029ecldr x0, [sp+8]
    004029f0add x0, x0, 136
    004029f4ldr x0, [x0]
    004029f8ubfm x1, x0, 63, 62
    004029fcldr x0, [sp+8]
    00402a00add x0, x0, 56
    00402a04add x1, x2, x1
    00402a08str x1, [x0]
    00402a0cldr x0, [sp+8]
    00402a10add x0, x0, 56
    00402a14ldr x2, [x0]
    00402a18ldr x0, [sp+8]
    00402a1cadd x0, x0, 136
    00402a20ldr x1, [x0]
    00402a24ldr x0, [sp+8]
    00402a28add x0, x0, 56
    00402a2cadd x1, x2, x1
    00402a30str x1, [x0]
    00402a34ldr x0, [sp+8]
    00402a38add x0, x0, 48
    00402a3cldr x2, [x0]
    00402a40ldr x0, [sp+8]
    00402a44add x0, x0, 128
    00402a48ldr x0, [x0]
    00402a4cubfm x1, x0, 60, 59
    00402a50ldr x0, [sp+8]
    00402a54add x0, x0, 48
    00402a58add x1, x2, x1
    00402a5cstr x1, [x0]
    00402a60ldr x0, [sp+8]
    00402a64add x0, x0, 48
    00402a68ldr x2, [x0]
    00402a6cldr x0, [sp+8]
    00402a70add x0, x0, 128
    00402a74ldr x0, [x0]
    00402a78ubfm x1, x0, 63, 62
    00402a7cldr x0, [sp+8]
    00402a80add x0, x0, 48
    00402a84add x1, x2, x1
    00402a88str x1, [x0]
    00402a8cldr x0, [sp+8]
    00402a90add x0, x0, 48
    00402a94ldr x2, [x0]
    00402a98ldr x0, [sp+8]
    00402a9cadd x0, x0, 128
    00402aa0ldr x1, [x0]
    00402aa4ldr x0, [sp+8]
    00402aa8add x0, x0, 48
    00402aacadd x1, x2, x1
    00402ab0str x1, [x0]
    00402ab4ldr x0, [sp+8]
    00402ab8add x0, x0, 40
    00402abcldr x2, [x0]
    00402ac0ldr x0, [sp+8]
    00402ac4add x0, x0, 120
    00402ac8ldr x0, [x0]
    00402accubfm x1, x0, 60, 59
    00402ad0ldr x0, [sp+8]
    00402ad4add x0, x0, 40
    00402ad8add x1, x2, x1
    00402adcstr x1, [x0]
    00402ae0ldr x0, [sp+8]
    00402ae4add x0, x0, 40
    00402ae8ldr x2, [x0]
    00402aecldr x0, [sp+8]
    00402af0add x0, x0, 120
    00402af4ldr x0, [x0]
    00402af8ubfm x1, x0, 63, 62
    00402afcldr x0, [sp+8]
    00402b00add x0, x0, 40
    00402b04add x1, x2, x1
    00402b08str x1, [x0]
    00402b0cldr x0, [sp+8]
    00402b10add x0, x0, 40
    00402b14ldr x2, [x0]
    00402b18ldr x0, [sp+8]
    00402b1cadd x0, x0, 120
    00402b20ldr x1, [x0]
    00402b24ldr x0, [sp+8]
    00402b28add x0, x0, 40
    00402b2cadd x1, x2, x1
    00402b30str x1, [x0]
    00402b34ldr x0, [sp+8]
    00402b38add x0, x0, 32
    00402b3cldr x2, [x0]
    00402b40ldr x0, [sp+8]
    00402b44add x0, x0, 112
    00402b48ldr x0, [x0]
    00402b4cubfm x1, x0, 60, 59
    00402b50ldr x0, [sp+8]
    00402b54add x0, x0, 32
    00402b58add x1, x2, x1
    00402b5cstr x1, [x0]
    00402b60ldr x0, [sp+8]
    00402b64add x0, x0, 32
    00402b68ldr x2, [x0]
    00402b6cldr x0, [sp+8]
    00402b70add x0, x0, 112
    00402b74ldr x0, [x0]
    00402b78ubfm x1, x0, 63, 62
    00402b7cldr x0, [sp+8]
    00402b80add x0, x0, 32
    00402b84add x1, x2, x1
    00402b88str x1, [x0]
    00402b8cldr x0, [sp+8]
    00402b90add x0, x0, 32
    00402b94ldr x2, [x0]
    00402b98ldr x0, [sp+8]
    00402b9cadd x0, x0, 112
    00402ba0ldr x1, [x0]
    00402ba4ldr x0, [sp+8]
    00402ba8add x0, x0, 32
    00402bacadd x1, x2, x1
    00402bb0str x1, [x0]
    00402bb4ldr x0, [sp+8]
    00402bb8add x0, x0, 24
    00402bbcldr x2, [x0]
    00402bc0ldr x0, [sp+8]
    00402bc4add x0, x0, 104
    00402bc8ldr x0, [x0]
    00402bccubfm x1, x0, 60, 59
    00402bd0ldr x0, [sp+8]
    00402bd4add x0, x0, 24
    00402bd8add x1, x2, x1
    00402bdcstr x1, [x0]
    00402be0ldr x0, [sp+8]
    00402be4add x0, x0, 24
    00402be8ldr x2, [x0]
    00402becldr x0, [sp+8]
    00402bf0add x0, x0, 104
    00402bf4ldr x0, [x0]
    00402bf8ubfm x1, x0, 63, 62
    00402bfcldr x0, [sp+8]
    00402c00add x0, x0, 24
    00402c04add x1, x2, x1
    00402c08str x1, [x0]
    00402c0cldr x0, [sp+8]
    00402c10add x0, x0, 24
    00402c14ldr x2, [x0]
    00402c18ldr x0, [sp+8]
    00402c1cadd x0, x0, 104
    00402c20ldr x1, [x0]
    00402c24ldr x0, [sp+8]
    00402c28add x0, x0, 24
    00402c2cadd x1, x2, x1
    00402c30str x1, [x0]
    00402c34ldr x0, [sp+8]
    00402c38add x0, x0, 16
    00402c3cldr x2, [x0]
    00402c40ldr x0, [sp+8]
    00402c44add x0, x0, 96
    00402c48ldr x0, [x0]
    00402c4cubfm x1, x0, 60, 59
    00402c50ldr x0, [sp+8]
    00402c54add x0, x0, 16
    00402c58add x1, x2, x1
    00402c5cstr x1, [x0]
    00402c60ldr x0, [sp+8]
    00402c64add x0, x0, 16
    00402c68ldr x2, [x0]
    00402c6cldr x0, [sp+8]
    00402c70add x0, x0, 96
    00402c74ldr x0, [x0]
    00402c78ubfm x1, x0, 63, 62
    00402c7cldr x0, [sp+8]
    00402c80add x0, x0, 16
    00402c84add x1, x2, x1
    00402c88str x1, [x0]
    00402c8cldr x0, [sp+8]
    00402c90add x0, x0, 16
    00402c94ldr x2, [x0]
    00402c98ldr x0, [sp+8]
    00402c9cadd x0, x0, 96
    00402ca0ldr x1, [x0]
    00402ca4ldr x0, [sp+8]
    00402ca8add x0, x0, 16
    00402cacadd x1, x2, x1
    00402cb0str x1, [x0]
    00402cb4ldr x0, [sp+8]
    00402cb8add x0, x0, 8
    00402cbcldr x2, [x0]
    00402cc0ldr x0, [sp+8]
    00402cc4add x0, x0, 88
    00402cc8ldr x0, [x0]
    00402cccubfm x1, x0, 60, 59
    00402cd0ldr x0, [sp+8]
    00402cd4add x0, x0, 8
    00402cd8add x1, x2, x1
    00402cdcstr x1, [x0]
    00402ce0ldr x0, [sp+8]
    00402ce4add x0, x0, 8
    00402ce8ldr x2, [x0]
    00402cecldr x0, [sp+8]
    00402cf0add x0, x0, 88
    00402cf4ldr x0, [x0]
    00402cf8ubfm x1, x0, 63, 62
    00402cfcldr x0, [sp+8]
    00402d00add x0, x0, 8
    00402d04add x1, x2, x1
    00402d08str x1, [x0]
    00402d0cldr x0, [sp+8]
    00402d10add x0, x0, 8
    00402d14ldr x2, [x0]
    00402d18ldr x0, [sp+8]
    00402d1cadd x0, x0, 88
    00402d20ldr x1, [x0]
    00402d24ldr x0, [sp+8]
    00402d28add x0, x0, 8
    00402d2cadd x1, x2, x1
    00402d30str x1, [x0]
    00402d34ldr x0, [sp+8]
    00402d38ldr x1, [x0]
    00402d3cldr x0, [sp+8]
    00402d40add x0, x0, 80
    00402d44ldr x0, [x0]
    00402d48ubfm x0, x0, 60, 59
    00402d4cadd x1, x1, x0
    00402d50ldr x0, [sp+8]
    00402d54str x1, [x0]
    00402d58ldr x0, [sp+8]
    00402d5cldr x1, [x0]
    00402d60ldr x0, [sp+8]
    00402d64add x0, x0, 80
    00402d68ldr x0, [x0]
    00402d6cubfm x0, x0, 63, 62
    00402d70add x1, x1, x0
    00402d74ldr x0, [sp+8]
    00402d78str x1, [x0]
    00402d7cldr x0, [sp+8]
    00402d80ldr x1, [x0]
    00402d84ldr x0, [sp+8]
    00402d88add x0, x0, 80
    00402d8cldr x0, [x0]
    00402d90add x1, x1, x0
    00402d94ldr x0, [sp+8]
    00402d98str x1, [x0]
    00402d9chint
    00402da0add sp, sp, 16
    00402da4ret x30
    0040292c
    00402da8
    00402da8div_by_2_26:
    00402da8sub sp, sp, 32
    00402dacstr x0, [sp+8]
    00402db0ldr x0, [sp+8]
    00402db4ubfm x0, x0, 32, 63
    00402db8str w0, [sp+28]
    00402dbcldr w0, [sp+28]
    00402dc0sbfm w0, w0, 31, 31
    00402dc4str w0, [sp+24]
    00402dc8ldr w0, [sp+24]
    00402dccubfm w0, w0, 6, 31
    00402dd0str w0, [sp+20]
    00402dd4ldrsw x1, [sp+20]
    00402dd8ldr x0, [sp+8]
    00402ddcadd x0, x1, x0
    00402de0sbfm x0, x0, 26, 63
    00402de4add sp, sp, 32
    00402de8ret x30
    00402da8
    00402dec
    00402decdiv_by_2_25:
    00402decsub sp, sp, 32
    00402df0str x0, [sp+8]
    00402df4ldr x0, [sp+8]
    00402df8ubfm x0, x0, 32, 63
    00402dfcstr w0, [sp+28]
    00402e00ldr w0, [sp+28]
    00402e04sbfm w0, w0, 31, 31
    00402e08str w0, [sp+24]
    00402e0cldr w0, [sp+24]
    00402e10ubfm w0, w0, 7, 31
    00402e14str w0, [sp+20]
    00402e18ldrsw x1, [sp+20]
    00402e1cldr x0, [sp+8]
    00402e20add x0, x1, x0
    00402e24sbfm x0, x0, 25, 63
    00402e28add sp, sp, 32
    00402e2cret x30
    00402dec
    00402e30
    00402e30freduce_coefficients:
    00402e30stp x29, x30, [sp-64]!
    00402e34add x29, sp, 0
    00402e38str x0, [sp+24]
    00402e3cldr x0, [sp+24]
    00402e40add x0, x0, 80
    00402e44str xzr, [x0]
    00402e48str wzr, [sp+60]
    00402e4cb 0x402f94
    00402e50
    00402e50loc_402e50:
    00402e50ldr w0, [sp+60]
    00402e54ubfm x0, x0, 61, 60
    00402e58ldr x1, [sp+24]
    00402e5cadd x0, x1, x0
    00402e60ldr x0, [x0]
    00402e64bl div_by_2_26
    00402e68str x0, [sp+40]
    00402e6cldr w0, [sp+60]
    00402e70ubfm x0, x0, 61, 60
    00402e74ldr x1, [sp+24]
    00402e78add x0, x1, x0
    00402e7cldr x2, [x0]
    00402e80ldr x0, [sp+40]
    00402e84ubfm x1, x0, 38, 37
    00402e88ldr w0, [sp+60]
    00402e8cubfm x0, x0, 61, 60
    00402e90ldr x3, [sp+24]
    00402e94add x0, x3, x0
    00402e98sub x1, x2, x1
    00402e9cstr x1, [x0]
    00402ea0ldr w0, [sp+60]
    00402ea4add w0, w0, 1
    00402ea8mov w0, w0
    00402eacubfm x0, x0, 61, 60
    00402eb0ldr x1, [sp+24]
    00402eb4add x0, x1, x0
    00402eb8ldr x2, [x0]
    00402ebcldr w0, [sp+60]
    00402ec0add w0, w0, 1
    00402ec4mov w0, w0
    00402ec8ubfm x0, x0, 61, 60
    00402eccldr x1, [sp+24]
    00402ed0add x0, x1, x0
    00402ed4ldr x1, [sp+40]
    00402ed8add x1, x2, x1
    00402edcstr x1, [x0]
    00402ee0ldr w0, [sp+60]
    00402ee4add w0, w0, 1
    00402ee8mov w0, w0
    00402eecubfm x0, x0, 61, 60
    00402ef0ldr x1, [sp+24]
    00402ef4add x0, x1, x0
    00402ef8ldr x0, [x0]
    00402efcbl div_by_2_25
    00402f00str x0, [sp+40]
    00402f04ldr w0, [sp+60]
    00402f08add w0, w0, 1
    00402f0cmov w0, w0
    00402f10ubfm x0, x0, 61, 60
    00402f14ldr x1, [sp+24]
    00402f18add x0, x1, x0
    00402f1cldr x2, [x0]
    00402f20ldr x0, [sp+40]
    00402f24ubfm x1, x0, 39, 38
    00402f28ldr w0, [sp+60]
    00402f2cadd w0, w0, 1
    00402f30mov w0, w0
    00402f34ubfm x0, x0, 61, 60
    00402f38ldr x3, [sp+24]
    00402f3cadd x0, x3, x0
    00402f40sub x1, x2, x1
    00402f44str x1, [x0]
    00402f48ldr w0, [sp+60]
    00402f4cadd w0, w0, 2
    00402f50mov w0, w0
    00402f54ubfm x0, x0, 61, 60
    00402f58ldr x1, [sp+24]
    00402f5cadd x0, x1, x0
    00402f60ldr x2, [x0]
    00402f64ldr w0, [sp+60]
    00402f68add w0, w0, 2
    00402f6cmov w0, w0
    00402f70ubfm x0, x0, 61, 60
    00402f74ldr x1, [sp+24]
    00402f78add x0, x1, x0
    00402f7cldr x1, [sp+40]
    00402f80add x1, x2, x1
    00402f84str x1, [x0]
    00402f88ldr w0, [sp+60]
    00402f8cadd w0, w0, 2
    00402f90str w0, [sp+60]
    00402f94
    00402f94loc_402f94:
    00402f94ldr w0, [sp+60]
    00402f98subs wzr, w0, 9
    00402f9cb.ls 0x402e50
    00402fa0ldr x0, [sp+24]
    00402fa4ldr x1, [x0]
    00402fa8ldr x0, [sp+24]
    00402facadd x0, x0, 80
    00402fb0ldr x0, [x0]
    00402fb4ubfm x0, x0, 60, 59
    00402fb8add x1, x1, x0
    00402fbcldr x0, [sp+24]
    00402fc0str x1, [x0]
    00402fc4ldr x0, [sp+24]
    00402fc8ldr x1, [x0]
    00402fccldr x0, [sp+24]
    00402fd0add x0, x0, 80
    00402fd4ldr x0, [x0]
    00402fd8ubfm x0, x0, 63, 62
    00402fdcadd x1, x1, x0
    00402fe0ldr x0, [sp+24]
    00402fe4str x1, [x0]
    00402fe8ldr x0, [sp+24]
    00402fecldr x1, [x0]
    00402ff0ldr x0, [sp+24]
    00402ff4add x0, x0, 80
    00402ff8ldr x0, [x0]
    00402ffcadd x1, x1, x0
    00403000ldr x0, [sp+24]
    00403004str x1, [x0]
    00403008ldr x0, [sp+24]
    0040300cadd x0, x0, 80
    00403010str xzr, [x0]
    00403014ldr x0, [sp+24]
    00403018ldr x0, [x0]
    0040301cbl div_by_2_26
    00403020str x0, [sp+48]
    00403024ldr x0, [sp+24]
    00403028ldr x1, [x0]
    0040302cldr x0, [sp+48]
    00403030ubfm x0, x0, 38, 37
    00403034sub x1, x1, x0
    00403038ldr x0, [sp+24]
    0040303cstr x1, [x0]
    00403040ldr x0, [sp+24]
    00403044add x0, x0, 8
    00403048ldr x2, [x0]
    0040304cldr x0, [sp+24]
    00403050add x0, x0, 8
    00403054ldr x1, [sp+48]
    00403058add x1, x2, x1
    0040305cstr x1, [x0]
    00403060hint
    00403064ldp x29, x30, [sp], 64
    00403068ret x30
    00402e30
    0040306c
    0040306cfmul:
    0040306cstp x29, x30, [sp-208]!
    00403070add x29, sp, 0
    00403074str x0, [sp+40]
    00403078str x1, [sp+32]
    0040307cstr x2, [sp+24]
    00403080add x0, sp, 56
    00403084ldr x2, [sp+24]
    00403088ldr x1, [sp+32]
    0040308cbl fproduct
    00403090add x0, sp, 56
    00403094bl freduce_degree
    00403098add x0, sp, 56
    0040309cbl freduce_coefficients
    004030a0add x0, sp, 56
    004030a4movz x2, 80
    004030a8mov x1, x0
    004030acldr x0, [sp+40]
    004030b0bl memcpy@plt
    004030b4hint
    004030b8ldp x29, x30, [sp], 208
    004030bcret x30
    0040306c
    004030c0
    004030c0fsquare_inner:
    004030c0sub sp, sp, 16
    004030c4str x0, [sp+8]
    004030c8str x1, [sp]
    004030ccldr x0, [sp]
    004030d0ldr x0, [x0]
    004030d4sbfm x1, x0, 0, 31
    004030d8ldr x0, [sp]
    004030dcldr x0, [x0]
    004030e0sbfm x0, x0, 0, 31
    004030e4madd x1, x1, x0, xzr
    004030e8ldr x0, [sp+8]
    004030ecstr x1, [x0]
    004030f0ldr x0, [sp]
    004030f4ldr x0, [x0]
    004030f8sbfm x1, x0, 0, 31
    004030fcldr x0, [sp]
    00403100add x0, x0, 8
    00403104ldr x0, [x0]
    00403108sbfm x0, x0, 0, 31
    0040310cmadd x1, x1, x0, xzr
    00403110ldr x0, [sp+8]
    00403114add x0, x0, 8
    00403118ubfm x1, x1, 63, 62
    0040311cstr x1, [x0]
    00403120ldr x0, [sp]
    00403124add x0, x0, 8
    00403128ldr x0, [x0]
    0040312csbfm x1, x0, 0, 31
    00403130ldr x0, [sp]
    00403134add x0, x0, 8
    00403138ldr x0, [x0]
    0040313csbfm x0, x0, 0, 31
    00403140madd x1, x1, x0, xzr
    00403144ldr x0, [sp]
    00403148ldr x0, [x0]
    0040314csbfm x2, x0, 0, 31
    00403150ldr x0, [sp]
    00403154add x0, x0, 16
    00403158ldr x0, [x0]
    0040315csbfm x0, x0, 0, 31
    00403160madd x0, x2, x0, xzr
    00403164add x1, x1, x0
    00403168ldr x0, [sp+8]
    0040316cadd x0, x0, 16
    00403170ubfm x1, x1, 63, 62
    00403174str x1, [x0]
    00403178ldr x0, [sp]
    0040317cadd x0, x0, 8
    00403180ldr x0, [x0]
    00403184sbfm x1, x0, 0, 31
    00403188ldr x0, [sp]
    0040318cadd x0, x0, 16
    00403190ldr x0, [x0]
    00403194sbfm x0, x0, 0, 31
    00403198madd x1, x1, x0, xzr
    0040319cldr x0, [sp]
    004031a0ldr x0, [x0]
    004031a4sbfm x2, x0, 0, 31
    004031a8ldr x0, [sp]
    004031acadd x0, x0, 24
    004031b0ldr x0, [x0]
    004031b4sbfm x0, x0, 0, 31
    004031b8madd x0, x2, x0, xzr
    004031bcadd x1, x1, x0
    004031c0ldr x0, [sp+8]
    004031c4add x0, x0, 24
    004031c8ubfm x1, x1, 63, 62
    004031ccstr x1, [x0]
    004031d0ldr x0, [sp]
    004031d4add x0, x0, 16
    004031d8ldr x0, [x0]
    004031dcsbfm x1, x0, 0, 31
    004031e0ldr x0, [sp]
    004031e4add x0, x0, 16
    004031e8ldr x0, [x0]
    004031ecsbfm x0, x0, 0, 31
    004031f0madd x1, x1, x0, xzr
    004031f4ldr x0, [sp]
    004031f8add x0, x0, 8
    004031fcldr x0, [x0]
    00403200sbfm x2, x0, 0, 31
    00403204ldr x0, [sp]
    00403208add x0, x0, 24
    0040320cldr x0, [x0]
    00403210sbfm x0, x0, 0, 31
    00403214madd x0, x2, x0, xzr
    00403218ubfm x0, x0, 62, 61
    0040321cadd x2, x1, x0
    00403220ldr x0, [sp]
    00403224ldr x0, [x0]
    00403228sbfm x1, x0, 0, 31
    0040322cldr x0, [sp]
    00403230add x0, x0, 32
    00403234ldr x0, [x0]
    00403238sbfm x0, x0, 0, 31
    0040323cmadd x0, x1, x0, xzr
    00403240ubfm x1, x0, 63, 62
    00403244ldr x0, [sp+8]
    00403248add x0, x0, 32
    0040324cadd x1, x2, x1
    00403250str x1, [x0]
    00403254ldr x0, [sp]
    00403258add x0, x0, 16
    0040325cldr x0, [x0]
    00403260sbfm x1, x0, 0, 31
    00403264ldr x0, [sp]
    00403268add x0, x0, 24
    0040326cldr x0, [x0]
    00403270sbfm x0, x0, 0, 31
    00403274madd x1, x1, x0, xzr
    00403278ldr x0, [sp]
    0040327cadd x0, x0, 8
    00403280ldr x0, [x0]
    00403284sbfm x2, x0, 0, 31
    00403288ldr x0, [sp]
    0040328cadd x0, x0, 32
    00403290ldr x0, [x0]
    00403294sbfm x0, x0, 0, 31
    00403298madd x0, x2, x0, xzr
    0040329cadd x1, x1, x0
    004032a0ldr x0, [sp]
    004032a4ldr x0, [x0]
    004032a8sbfm x2, x0, 0, 31
    004032acldr x0, [sp]
    004032b0add x0, x0, 40
    004032b4ldr x0, [x0]
    004032b8sbfm x0, x0, 0, 31
    004032bcmadd x0, x2, x0, xzr
    004032c0add x1, x1, x0
    004032c4ldr x0, [sp+8]
    004032c8add x0, x0, 40
    004032ccubfm x1, x1, 63, 62
    004032d0str x1, [x0]
    004032d4ldr x0, [sp]
    004032d8add x0, x0, 24
    004032dcldr x0, [x0]
    004032e0sbfm x1, x0, 0, 31
    004032e4ldr x0, [sp]
    004032e8add x0, x0, 24
    004032ecldr x0, [x0]
    004032f0sbfm x0, x0, 0, 31
    004032f4madd x1, x1, x0, xzr
    004032f8ldr x0, [sp]
    004032fcadd x0, x0, 16
    00403300ldr x0, [x0]
    00403304sbfm x2, x0, 0, 31
    00403308ldr x0, [sp]
    0040330cadd x0, x0, 32
    00403310ldr x0, [x0]
    00403314sbfm x0, x0, 0, 31
    00403318madd x0, x2, x0, xzr
    0040331cadd x1, x1, x0
    00403320ldr x0, [sp]
    00403324ldr x0, [x0]
    00403328sbfm x2, x0, 0, 31
    0040332cldr x0, [sp]
    00403330add x0, x0, 48
    00403334ldr x0, [x0]
    00403338sbfm x0, x0, 0, 31
    0040333cmadd x0, x2, x0, xzr
    00403340add x1, x1, x0
    00403344ldr x0, [sp]
    00403348add x0, x0, 8
    0040334cldr x0, [x0]
    00403350sbfm x2, x0, 0, 31
    00403354ldr x0, [sp]
    00403358add x0, x0, 40
    0040335cldr x0, [x0]
    00403360sbfm x0, x0, 0, 31
    00403364madd x0, x2, x0, xzr
    00403368ubfm x0, x0, 63, 62
    0040336cadd x1, x1, x0
    00403370ldr x0, [sp+8]
    00403374add x0, x0, 48
    00403378ubfm x1, x1, 63, 62
    0040337cstr x1, [x0]
    00403380ldr x0, [sp]
    00403384add x0, x0, 24
    00403388ldr x0, [x0]
    0040338csbfm x1, x0, 0, 31
    00403390ldr x0, [sp]
    00403394add x0, x0, 32
    00403398ldr x0, [x0]
    0040339csbfm x0, x0, 0, 31
    004033a0madd x1, x1, x0, xzr
    004033a4ldr x0, [sp]
    004033a8add x0, x0, 16
    004033acldr x0, [x0]
    004033b0sbfm x2, x0, 0, 31
    004033b4ldr x0, [sp]
    004033b8add x0, x0, 40
    004033bcldr x0, [x0]
    004033c0sbfm x0, x0, 0, 31
    004033c4madd x0, x2, x0, xzr
    004033c8add x1, x1, x0
    004033ccldr x0, [sp]
    004033d0add x0, x0, 8
    004033d4ldr x0, [x0]
    004033d8sbfm x2, x0, 0, 31
    004033dcldr x0, [sp]
    004033e0add x0, x0, 48
    004033e4ldr x0, [x0]
    004033e8sbfm x0, x0, 0, 31
    004033ecmadd x0, x2, x0, xzr
    004033f0add x1, x1, x0
    004033f4ldr x0, [sp]
    004033f8ldr x0, [x0]
    004033fcsbfm x2, x0, 0, 31
    00403400ldr x0, [sp]
    00403404add x0, x0, 56
    00403408ldr x0, [x0]
    0040340csbfm x0, x0, 0, 31
    00403410madd x0, x2, x0, xzr
    00403414add x1, x1, x0
    00403418ldr x0, [sp+8]
    0040341cadd x0, x0, 56
    00403420ubfm x1, x1, 63, 62
    00403424str x1, [x0]
    00403428ldr x0, [sp]
    0040342cadd x0, x0, 32
    00403430ldr x0, [x0]
    00403434sbfm x1, x0, 0, 31
    00403438ldr x0, [sp]
    0040343cadd x0, x0, 32
    00403440ldr x0, [x0]
    00403444sbfm x0, x0, 0, 31
    00403448madd x2, x1, x0, xzr
    0040344cldr x0, [sp]
    00403450add x0, x0, 16
    00403454ldr x0, [x0]
    00403458sbfm x1, x0, 0, 31
    0040345cldr x0, [sp]
    00403460add x0, x0, 48
    00403464ldr x0, [x0]
    00403468sbfm x0, x0, 0, 31
    0040346cmadd x1, x1, x0, xzr
    00403470ldr x0, [sp]
    00403474ldr x0, [x0]
    00403478sbfm x3, x0, 0, 31
    0040347cldr x0, [sp]
    00403480add x0, x0, 64
    00403484ldr x0, [x0]
    00403488sbfm x0, x0, 0, 31
    0040348cmadd x0, x3, x0, xzr
    00403490add x1, x1, x0
    00403494ldr x0, [sp]
    00403498add x0, x0, 8
    0040349cldr x0, [x0]
    004034a0sbfm x3, x0, 0, 31
    004034a4ldr x0, [sp]
    004034a8add x0, x0, 56
    004034acldr x0, [x0]
    004034b0sbfm x0, x0, 0, 31
    004034b4madd x3, x3, x0, xzr
    004034b8ldr x0, [sp]
    004034bcadd x0, x0, 24
    004034c0ldr x0, [x0]
    004034c4sbfm x4, x0, 0, 31
    004034c8ldr x0, [sp]
    004034ccadd x0, x0, 40
    004034d0ldr x0, [x0]
    004034d4sbfm x0, x0, 0, 31
    004034d8madd x0, x4, x0, xzr
    004034dcadd x0, x3, x0
    004034e0ubfm x0, x0, 63, 62
    004034e4add x0, x1, x0
    004034e8ubfm x1, x0, 63, 62
    004034ecldr x0, [sp+8]
    004034f0add x0, x0, 64
    004034f4add x1, x2, x1
    004034f8str x1, [x0]
    004034fcldr x0, [sp]
    00403500add x0, x0, 32
    00403504ldr x0, [x0]
    00403508sbfm x1, x0, 0, 31
    0040350cldr x0, [sp]
    00403510add x0, x0, 40
    00403514ldr x0, [x0]
    00403518sbfm x0, x0, 0, 31
    0040351cmadd x1, x1, x0, xzr
    00403520ldr x0, [sp]
    00403524add x0, x0, 24
    00403528ldr x0, [x0]
    0040352csbfm x2, x0, 0, 31
    00403530ldr x0, [sp]
    00403534add x0, x0, 48
    00403538ldr x0, [x0]
    0040353csbfm x0, x0, 0, 31
    00403540madd x0, x2, x0, xzr
    00403544add x1, x1, x0
    00403548ldr x0, [sp]
    0040354cadd x0, x0, 16
    00403550ldr x0, [x0]
    00403554sbfm x2, x0, 0, 31
    00403558ldr x0, [sp]
    0040355cadd x0, x0, 56
    00403560ldr x0, [x0]
    00403564sbfm x0, x0, 0, 31
    00403568madd x0, x2, x0, xzr
    0040356cadd x1, x1, x0
    00403570ldr x0, [sp]
    00403574add x0, x0, 8
    00403578ldr x0, [x0]
    0040357csbfm x2, x0, 0, 31
    00403580ldr x0, [sp]
    00403584add x0, x0, 64
    00403588ldr x0, [x0]
    0040358csbfm x0, x0, 0, 31
    00403590madd x0, x2, x0, xzr
    00403594add x1, x1, x0
    00403598ldr x0, [sp]
    0040359cldr x0, [x0]
    004035a0sbfm x2, x0, 0, 31
    004035a4ldr x0, [sp]
    004035a8add x0, x0, 72
    004035acldr x0, [x0]
    004035b0sbfm x0, x0, 0, 31
    004035b4madd x0, x2, x0, xzr
    004035b8add x1, x1, x0
    004035bcldr x0, [sp+8]
    004035c0add x0, x0, 72
    004035c4ubfm x1, x1, 63, 62
    004035c8str x1, [x0]
    004035ccldr x0, [sp]
    004035d0add x0, x0, 40
    004035d4ldr x0, [x0]
    004035d8sbfm x1, x0, 0, 31
    004035dcldr x0, [sp]
    004035e0add x0, x0, 40
    004035e4ldr x0, [x0]
    004035e8sbfm x0, x0, 0, 31
    004035ecmadd x1, x1, x0, xzr
    004035f0ldr x0, [sp]
    004035f4add x0, x0, 32
    004035f8ldr x0, [x0]
    004035fcsbfm x2, x0, 0, 31
    00403600ldr x0, [sp]
    00403604add x0, x0, 48
    00403608ldr x0, [x0]
    0040360csbfm x0, x0, 0, 31
    00403610madd x0, x2, x0, xzr
    00403614add x1, x1, x0
    00403618ldr x0, [sp]
    0040361cadd x0, x0, 16
    00403620ldr x0, [x0]
    00403624sbfm x2, x0, 0, 31
    00403628ldr x0, [sp]
    0040362cadd x0, x0, 64
    00403630ldr x0, [x0]
    00403634sbfm x0, x0, 0, 31
    00403638madd x0, x2, x0, xzr
    0040363cadd x1, x1, x0
    00403640ldr x0, [sp]
    00403644add x0, x0, 24
    00403648ldr x0, [x0]
    0040364csbfm x2, x0, 0, 31
    00403650ldr x0, [sp]
    00403654add x0, x0, 56
    00403658ldr x0, [x0]
    0040365csbfm x0, x0, 0, 31
    00403660madd x2, x2, x0, xzr
    00403664ldr x0, [sp]
    00403668add x0, x0, 8
    0040366cldr x0, [x0]
    00403670sbfm x3, x0, 0, 31
    00403674ldr x0, [sp]
    00403678add x0, x0, 72
    0040367cldr x0, [x0]
    00403680sbfm x0, x0, 0, 31
    00403684madd x0, x3, x0, xzr
    00403688add x0, x2, x0
    0040368cubfm x0, x0, 63, 62
    00403690add x1, x1, x0
    00403694ldr x0, [sp+8]
    00403698add x0, x0, 80
    0040369cubfm x1, x1, 63, 62
    004036a0str x1, [x0]
    004036a4ldr x0, [sp]
    004036a8add x0, x0, 40
    004036acldr x0, [x0]
    004036b0sbfm x1, x0, 0, 31
    004036b4ldr x0, [sp]
    004036b8add x0, x0, 48
    004036bcldr x0, [x0]
    004036c0sbfm x0, x0, 0, 31
    004036c4madd x1, x1, x0, xzr
    004036c8ldr x0, [sp]
    004036ccadd x0, x0, 32
    004036d0ldr x0, [x0]
    004036d4sbfm x2, x0, 0, 31
    004036d8ldr x0, [sp]
    004036dcadd x0, x0, 56
    004036e0ldr x0, [x0]
    004036e4sbfm x0, x0, 0, 31
    004036e8madd x0, x2, x0, xzr
    004036ecadd x1, x1, x0
    004036f0ldr x0, [sp]
    004036f4add x0, x0, 24
    004036f8ldr x0, [x0]
    004036fcsbfm x2, x0, 0, 31
    00403700ldr x0, [sp]
    00403704add x0, x0, 64
    00403708ldr x0, [x0]
    0040370csbfm x0, x0, 0, 31
    00403710madd x0, x2, x0, xzr
    00403714add x1, x1, x0
    00403718ldr x0, [sp]
    0040371cadd x0, x0, 16
    00403720ldr x0, [x0]
    00403724sbfm x2, x0, 0, 31
    00403728ldr x0, [sp]
    0040372cadd x0, x0, 72
    00403730ldr x0, [x0]
    00403734sbfm x0, x0, 0, 31
    00403738madd x0, x2, x0, xzr
    0040373cadd x1, x1, x0
    00403740ldr x0, [sp+8]
    00403744add x0, x0, 88
    00403748ubfm x1, x1, 63, 62
    0040374cstr x1, [x0]
    00403750ldr x0, [sp]
    00403754add x0, x0, 48
    00403758ldr x0, [x0]
    0040375csbfm x1, x0, 0, 31
    00403760ldr x0, [sp]
    00403764add x0, x0, 48
    00403768ldr x0, [x0]
    0040376csbfm x0, x0, 0, 31
    00403770madd x2, x1, x0, xzr
    00403774ldr x0, [sp]
    00403778add x0, x0, 32
    0040377cldr x0, [x0]
    00403780sbfm x1, x0, 0, 31
    00403784ldr x0, [sp]
    00403788add x0, x0, 64
    0040378cldr x0, [x0]
    00403790sbfm x0, x0, 0, 31
    00403794madd x1, x1, x0, xzr
    00403798ldr x0, [sp]
    0040379cadd x0, x0, 40
    004037a0ldr x0, [x0]
    004037a4sbfm x3, x0, 0, 31
    004037a8ldr x0, [sp]
    004037acadd x0, x0, 56
    004037b0ldr x0, [x0]
    004037b4sbfm x0, x0, 0, 31
    004037b8madd x3, x3, x0, xzr
    004037bcldr x0, [sp]
    004037c0add x0, x0, 24
    004037c4ldr x0, [x0]
    004037c8sbfm x4, x0, 0, 31
    004037ccldr x0, [sp]
    004037d0add x0, x0, 72
    004037d4ldr x0, [x0]
    004037d8sbfm x0, x0, 0, 31
    004037dcmadd x0, x4, x0, xzr
    004037e0add x0, x3, x0
    004037e4ubfm x0, x0, 63, 62
    004037e8add x0, x1, x0
    004037ecubfm x1, x0, 63, 62
    004037f0ldr x0, [sp+8]
    004037f4add x0, x0, 96
    004037f8add x1, x2, x1
    004037fcstr x1, [x0]
    00403800ldr x0, [sp]
    00403804add x0, x0, 48
    00403808ldr x0, [x0]
    0040380csbfm x1, x0, 0, 31
    00403810ldr x0, [sp]
    00403814add x0, x0, 56
    00403818ldr x0, [x0]
    0040381csbfm x0, x0, 0, 31
    00403820madd x1, x1, x0, xzr
    00403824ldr x0, [sp]
    00403828add x0, x0, 40
    0040382cldr x0, [x0]
    00403830sbfm x2, x0, 0, 31
    00403834ldr x0, [sp]
    00403838add x0, x0, 64
    0040383cldr x0, [x0]
    00403840sbfm x0, x0, 0, 31
    00403844madd x0, x2, x0, xzr
    00403848add x1, x1, x0
    0040384cldr x0, [sp]
    00403850add x0, x0, 32
    00403854ldr x0, [x0]
    00403858sbfm x2, x0, 0, 31
    0040385cldr x0, [sp]
    00403860add x0, x0, 72
    00403864ldr x0, [x0]
    00403868sbfm x0, x0, 0, 31
    0040386cmadd x0, x2, x0, xzr
    00403870add x1, x1, x0
    00403874ldr x0, [sp+8]
    00403878add x0, x0, 104
    0040387cubfm x1, x1, 63, 62
    00403880str x1, [x0]
    00403884ldr x0, [sp]
    00403888add x0, x0, 56
    0040388cldr x0, [x0]
    00403890sbfm x1, x0, 0, 31
    00403894ldr x0, [sp]
    00403898add x0, x0, 56
    0040389cldr x0, [x0]
    004038a0sbfm x0, x0, 0, 31
    004038a4madd x1, x1, x0, xzr
    004038a8ldr x0, [sp]
    004038acadd x0, x0, 48
    004038b0ldr x0, [x0]
    004038b4sbfm x2, x0, 0, 31
    004038b8ldr x0, [sp]
    004038bcadd x0, x0, 64
    004038c0ldr x0, [x0]
    004038c4sbfm x0, x0, 0, 31
    004038c8madd x0, x2, x0, xzr
    004038ccadd x1, x1, x0
    004038d0ldr x0, [sp]
    004038d4add x0, x0, 40
    004038d8ldr x0, [x0]
    004038dcsbfm x2, x0, 0, 31
    004038e0ldr x0, [sp]
    004038e4add x0, x0, 72
    004038e8ldr x0, [x0]
    004038ecsbfm x0, x0, 0, 31
    004038f0madd x0, x2, x0, xzr
    004038f4ubfm x0, x0, 63, 62
    004038f8add x1, x1, x0
    004038fcldr x0, [sp+8]
    00403900add x0, x0, 112
    00403904ubfm x1, x1, 63, 62
    00403908str x1, [x0]
    0040390cldr x0, [sp]
    00403910add x0, x0, 56
    00403914ldr x0, [x0]
    00403918sbfm x1, x0, 0, 31
    0040391cldr x0, [sp]
    00403920add x0, x0, 64
    00403924ldr x0, [x0]
    00403928sbfm x0, x0, 0, 31
    0040392cmadd x1, x1, x0, xzr
    00403930ldr x0, [sp]
    00403934add x0, x0, 48
    00403938ldr x0, [x0]
    0040393csbfm x2, x0, 0, 31
    00403940ldr x0, [sp]
    00403944add x0, x0, 72
    00403948ldr x0, [x0]
    0040394csbfm x0, x0, 0, 31
    00403950madd x0, x2, x0, xzr
    00403954add x1, x1, x0
    00403958ldr x0, [sp+8]
    0040395cadd x0, x0, 120
    00403960ubfm x1, x1, 63, 62
    00403964str x1, [x0]
    00403968ldr x0, [sp]
    0040396cadd x0, x0, 64
    00403970ldr x0, [x0]
    00403974sbfm x1, x0, 0, 31
    00403978ldr x0, [sp]
    0040397cadd x0, x0, 64
    00403980ldr x0, [x0]
    00403984sbfm x0, x0, 0, 31
    00403988madd x2, x1, x0, xzr
    0040398cldr x0, [sp]
    00403990add x0, x0, 56
    00403994ldr x0, [x0]
    00403998sbfm x1, x0, 0, 31
    0040399cldr x0, [sp]
    004039a0add x0, x0, 72
    004039a4ldr x0, [x0]
    004039a8sbfm x0, x0, 0, 31
    004039acmadd x0, x1, x0, xzr
    004039b0ubfm x1, x0, 62, 61
    004039b4ldr x0, [sp+8]
    004039b8add x0, x0, 128
    004039bcadd x1, x2, x1
    004039c0str x1, [x0]
    004039c4ldr x0, [sp]
    004039c8add x0, x0, 64
    004039ccldr x0, [x0]
    004039d0sbfm x1, x0, 0, 31
    004039d4ldr x0, [sp]
    004039d8add x0, x0, 72
    004039dcldr x0, [x0]
    004039e0sbfm x0, x0, 0, 31
    004039e4madd x1, x1, x0, xzr
    004039e8ldr x0, [sp+8]
    004039ecadd x0, x0, 136
    004039f0ubfm x1, x1, 63, 62
    004039f4str x1, [x0]
    004039f8ldr x0, [sp]
    004039fcadd x0, x0, 72
    00403a00ldr x0, [x0]
    00403a04sbfm x1, x0, 0, 31
    00403a08ldr x0, [sp]
    00403a0cadd x0, x0, 72
    00403a10ldr x0, [x0]
    00403a14sbfm x0, x0, 0, 31
    00403a18madd x1, x1, x0, xzr
    00403a1cldr x0, [sp+8]
    00403a20add x0, x0, 144
    00403a24ubfm x1, x1, 63, 62
    00403a28str x1, [x0]
    00403a2chint
    00403a30add sp, sp, 16
    00403a34ret x30
    004030c0
    00403a38
    00403a38fsquare:
    00403a38stp x29, x30, [sp-192]!
    00403a3cadd x29, sp, 0
    00403a40str x0, [sp+24]
    00403a44str x1, [sp+16]
    00403a48add x0, sp, 40
    00403a4cldr x1, [sp+16]
    00403a50bl fsquare_inner
    00403a54add x0, sp, 40
    00403a58bl freduce_degree
    00403a5cadd x0, sp, 40
    00403a60bl freduce_coefficients
    00403a64add x0, sp, 40
    00403a68movz x2, 80
    00403a6cmov x1, x0
    00403a70ldr x0, [sp+24]
    00403a74bl memcpy@plt
    00403a78hint
    00403a7cldp x29, x30, [sp], 192
    00403a80ret x30
    00403a38
    00403a84
    00403a84fexpand:
    00403a84sub sp, sp, 16
    00403a88str x0, [sp+8]
    00403a8cstr x1, [sp]
    00403a90ldr x0, [sp]
    00403a94ldrb w0, [x0]
    00403a98and x1, x0, 255
    00403a9cldr x0, [sp]
    00403aa0add x0, x0, 1
    00403aa4ldrb w0, [x0]
    00403aa8and x0, x0, 255
    00403aacubfm x0, x0, 56, 55
    00403ab0orr x1, x1, x0
    00403ab4ldr x0, [sp]
    00403ab8add x0, x0, 2
    00403abcldrb w0, [x0]
    00403ac0and x0, x0, 255
    00403ac4ubfm x0, x0, 48, 47
    00403ac8orr x1, x1, x0
    00403accldr x0, [sp]
    00403ad0add x0, x0, 3
    00403ad4ldrb w0, [x0]
    00403ad8and x0, x0, 255
    00403adcubfm x0, x0, 40, 39
    00403ae0orr x0, x1, x0
    00403ae4and x1, x0, 0x3ffffff
    00403ae8ldr x0, [sp+8]
    00403aecstr x1, [x0]
    00403af0ldr x0, [sp]
    00403af4add x0, x0, 3
    00403af8ldrb w0, [x0]
    00403afcand x1, x0, 255
    00403b00ldr x0, [sp]
    00403b04add x0, x0, 4
    00403b08ldrb w0, [x0]
    00403b0cand x0, x0, 255
    00403b10ubfm x0, x0, 56, 55
    00403b14orr x1, x1, x0
    00403b18ldr x0, [sp]
    00403b1cadd x0, x0, 5
    00403b20ldrb w0, [x0]
    00403b24and x0, x0, 255
    00403b28ubfm x0, x0, 48, 47
    00403b2corr x1, x1, x0
    00403b30ldr x0, [sp]
    00403b34add x0, x0, 6
    00403b38ldrb w0, [x0]
    00403b3cand x0, x0, 255
    00403b40ubfm x0, x0, 40, 39
    00403b44orr x0, x1, x0
    00403b48sbfm x1, x0, 2, 63
    00403b4cldr x0, [sp+8]
    00403b50add x0, x0, 8
    00403b54and x1, x1, 0x1ffffff
    00403b58str x1, [x0]
    00403b5cldr x0, [sp]
    00403b60add x0, x0, 6
    00403b64ldrb w0, [x0]
    00403b68and x1, x0, 255
    00403b6cldr x0, [sp]
    00403b70add x0, x0, 7
    00403b74ldrb w0, [x0]
    00403b78and x0, x0, 255
    00403b7cubfm x0, x0, 56, 55
    00403b80orr x1, x1, x0
    00403b84ldr x0, [sp]
    00403b88add x0, x0, 8
    00403b8cldrb w0, [x0]
    00403b90and x0, x0, 255
    00403b94ubfm x0, x0, 48, 47
    00403b98orr x1, x1, x0
    00403b9cldr x0, [sp]
    00403ba0add x0, x0, 9
    00403ba4ldrb w0, [x0]
    00403ba8and x0, x0, 255
    00403bacubfm x0, x0, 40, 39
    00403bb0orr x0, x1, x0
    00403bb4sbfm x1, x0, 3, 63
    00403bb8ldr x0, [sp+8]
    00403bbcadd x0, x0, 16
    00403bc0and x1, x1, 0x3ffffff
    00403bc4str x1, [x0]
    00403bc8ldr x0, [sp]
    00403bccadd x0, x0, 9
    00403bd0ldrb w0, [x0]
    00403bd4and x1, x0, 255
    00403bd8ldr x0, [sp]
    00403bdcadd x0, x0, 10
    00403be0ldrb w0, [x0]
    00403be4and x0, x0, 255
    00403be8ubfm x0, x0, 56, 55
    00403becorr x1, x1, x0
    00403bf0ldr x0, [sp]
    00403bf4add x0, x0, 11
    00403bf8ldrb w0, [x0]
    00403bfcand x0, x0, 255
    00403c00ubfm x0, x0, 48, 47
    00403c04orr x1, x1, x0
    00403c08ldr x0, [sp]
    00403c0cadd x0, x0, 12
    00403c10ldrb w0, [x0]
    00403c14and x0, x0, 255
    00403c18ubfm x0, x0, 40, 39
    00403c1corr x0, x1, x0
    00403c20sbfm x1, x0, 5, 63
    00403c24ldr x0, [sp+8]
    00403c28add x0, x0, 24
    00403c2cand x1, x1, 0x1ffffff
    00403c30str x1, [x0]
    00403c34ldr x0, [sp]
    00403c38add x0, x0, 12
    00403c3cldrb w0, [x0]
    00403c40and x1, x0, 255
    00403c44ldr x0, [sp]
    00403c48add x0, x0, 13
    00403c4cldrb w0, [x0]
    00403c50and x0, x0, 255
    00403c54ubfm x0, x0, 56, 55
    00403c58orr x1, x1, x0
    00403c5cldr x0, [sp]
    00403c60add x0, x0, 14
    00403c64ldrb w0, [x0]
    00403c68and x0, x0, 255
    00403c6cubfm x0, x0, 48, 47
    00403c70orr x1, x1, x0
    00403c74ldr x0, [sp]
    00403c78add x0, x0, 15
    00403c7cldrb w0, [x0]
    00403c80and x0, x0, 255
    00403c84ubfm x0, x0, 40, 39
    00403c88orr x0, x1, x0
    00403c8csbfm x1, x0, 6, 63
    00403c90ldr x0, [sp+8]
    00403c94add x0, x0, 32
    00403c98and x1, x1, 0x3ffffff
    00403c9cstr x1, [x0]
    00403ca0ldr x0, [sp]
    00403ca4add x0, x0, 16
    00403ca8ldrb w0, [x0]
    00403cacand x1, x0, 255
    00403cb0ldr x0, [sp]
    00403cb4add x0, x0, 17
    00403cb8ldrb w0, [x0]
    00403cbcand x0, x0, 255
    00403cc0ubfm x0, x0, 56, 55
    00403cc4orr x1, x1, x0
    00403cc8ldr x0, [sp]
    00403cccadd x0, x0, 18
    00403cd0ldrb w0, [x0]
    00403cd4and x0, x0, 255
    00403cd8ubfm x0, x0, 48, 47
    00403cdcorr x1, x1, x0
    00403ce0ldr x0, [sp]
    00403ce4add x0, x0, 19
    00403ce8ldrb w0, [x0]
    00403cecand x0, x0, 255
    00403cf0ubfm x0, x0, 40, 39
    00403cf4orr x1, x1, x0
    00403cf8ldr x0, [sp+8]
    00403cfcadd x0, x0, 40
    00403d00and x1, x1, 0x1ffffff
    00403d04str x1, [x0]
    00403d08ldr x0, [sp]
    00403d0cadd x0, x0, 19
    00403d10ldrb w0, [x0]
    00403d14and x1, x0, 255
    00403d18ldr x0, [sp]
    00403d1cadd x0, x0, 20
    00403d20ldrb w0, [x0]
    00403d24and x0, x0, 255
    00403d28ubfm x0, x0, 56, 55
    00403d2corr x1, x1, x0
    00403d30ldr x0, [sp]
    00403d34add x0, x0, 21
    00403d38ldrb w0, [x0]
    00403d3cand x0, x0, 255
    00403d40ubfm x0, x0, 48, 47
    00403d44orr x1, x1, x0
    00403d48ldr x0, [sp]
    00403d4cadd x0, x0, 22
    00403d50ldrb w0, [x0]
    00403d54and x0, x0, 255
    00403d58ubfm x0, x0, 40, 39
    00403d5corr x0, x1, x0
    00403d60sbfm x1, x0, 1, 63
    00403d64ldr x0, [sp+8]
    00403d68add x0, x0, 48
    00403d6cand x1, x1, 0x3ffffff
    00403d70str x1, [x0]
    00403d74ldr x0, [sp]
    00403d78add x0, x0, 22
    00403d7cldrb w0, [x0]
    00403d80and x1, x0, 255
    00403d84ldr x0, [sp]
    00403d88add x0, x0, 23
    00403d8cldrb w0, [x0]
    00403d90and x0, x0, 255
    00403d94ubfm x0, x0, 56, 55
    00403d98orr x1, x1, x0
    00403d9cldr x0, [sp]
    00403da0add x0, x0, 24
    00403da4ldrb w0, [x0]
    00403da8and x0, x0, 255
    00403dacubfm x0, x0, 48, 47
    00403db0orr x1, x1, x0
    00403db4ldr x0, [sp]
    00403db8add x0, x0, 25
    00403dbcldrb w0, [x0]
    00403dc0and x0, x0, 255
    00403dc4ubfm x0, x0, 40, 39
    00403dc8orr x0, x1, x0
    00403dccsbfm x1, x0, 3, 63
    00403dd0ldr x0, [sp+8]
    00403dd4add x0, x0, 56
    00403dd8and x1, x1, 0x1ffffff
    00403ddcstr x1, [x0]
    00403de0ldr x0, [sp]
    00403de4add x0, x0, 25
    00403de8ldrb w0, [x0]
    00403decand x1, x0, 255
    00403df0ldr x0, [sp]
    00403df4add x0, x0, 26
    00403df8ldrb w0, [x0]
    00403dfcand x0, x0, 255
    00403e00ubfm x0, x0, 56, 55
    00403e04orr x1, x1, x0
    00403e08ldr x0, [sp]
    00403e0cadd x0, x0, 27
    00403e10ldrb w0, [x0]
    00403e14and x0, x0, 255
    00403e18ubfm x0, x0, 48, 47
    00403e1corr x1, x1, x0
    00403e20ldr x0, [sp]
    00403e24add x0, x0, 28
    00403e28ldrb w0, [x0]
    00403e2cand x0, x0, 255
    00403e30ubfm x0, x0, 40, 39
    00403e34orr x0, x1, x0
    00403e38sbfm x1, x0, 4, 63
    00403e3cldr x0, [sp+8]
    00403e40add x0, x0, 64
    00403e44and x1, x1, 0x3ffffff
    00403e48str x1, [x0]
    00403e4cldr x0, [sp]
    00403e50add x0, x0, 28
    00403e54ldrb w0, [x0]
    00403e58and x1, x0, 255
    00403e5cldr x0, [sp]
    00403e60add x0, x0, 29
    00403e64ldrb w0, [x0]
    00403e68and x0, x0, 255
    00403e6cubfm x0, x0, 56, 55
    00403e70orr x1, x1, x0
    00403e74ldr x0, [sp]
    00403e78add x0, x0, 30
    00403e7cldrb w0, [x0]
    00403e80and x0, x0, 255
    00403e84ubfm x0, x0, 48, 47
    00403e88orr x1, x1, x0
    00403e8cldr x0, [sp]
    00403e90add x0, x0, 31
    00403e94ldrb w0, [x0]
    00403e98and x0, x0, 255
    00403e9cubfm x0, x0, 40, 39
    00403ea0orr x0, x1, x0
    00403ea4sbfm x1, x0, 6, 63
    00403ea8ldr x0, [sp+8]
    00403eacadd x0, x0, 72
    00403eb0and x1, x1, 0x1ffffff
    00403eb4str x1, [x0]
    00403eb8hint
    00403ebcadd sp, sp, 16
    00403ec0ret x30
    00403a84
    00403ec4
    00403ec4s32_eq:
    00403ec4sub sp, sp, 16
    00403ec8str w0, [sp+12]
    00403eccstr w1, [sp+8]
    00403ed0ldr w1, [sp+12]
    00403ed4ldr w0, [sp+8]
    00403ed8eor w0, w1, w0
    00403edcorn w0, wzr, w0
    00403ee0str w0, [sp+12]
    00403ee4ldr w0, [sp+12]
    00403ee8ubfm w0, w0, 16, 15
    00403eecldr w1, [sp+12]
    00403ef0and w0, w1, w0
    00403ef4str w0, [sp+12]
    00403ef8ldr w0, [sp+12]
    00403efcubfm w0, w0, 24, 23
    00403f00ldr w1, [sp+12]
    00403f04and w0, w1, w0
    00403f08str w0, [sp+12]
    00403f0cldr w0, [sp+12]
    00403f10ubfm w0, w0, 28, 27
    00403f14ldr w1, [sp+12]
    00403f18and w0, w1, w0
    00403f1cstr w0, [sp+12]
    00403f20ldr w0, [sp+12]
    00403f24ubfm w0, w0, 30, 29
    00403f28ldr w1, [sp+12]
    00403f2cand w0, w1, w0
    00403f30str w0, [sp+12]
    00403f34ldr w0, [sp+12]
    00403f38ubfm w0, w0, 31, 30
    00403f3cldr w1, [sp+12]
    00403f40and w0, w1, w0
    00403f44str w0, [sp+12]
    00403f48ldr w0, [sp+12]
    00403f4csbfm w0, w0, 31, 31
    00403f50add sp, sp, 16
    00403f54ret x30
    00403ec4
    00403f58
    00403f58s32_gte:
    00403f58sub sp, sp, 16
    00403f5cstr w0, [sp+12]
    00403f60str w1, [sp+8]
    00403f64ldr w1, [sp+12]
    00403f68ldr w0, [sp+8]
    00403f6csub w0, w1, w0
    00403f70str w0, [sp+12]
    00403f74ldr w0, [sp+12]
    00403f78sbfm w0, w0, 31, 31
    00403f7corn w0, wzr, w0
    00403f80add sp, sp, 16
    00403f84ret x30
    00403f58
    00403f88
    00403f88fcontract:
    00403f88stp x29, x30, [sp-128]!
    00403f8cadd x29, sp, 0
    00403f90str x0, [sp+24]
    00403f94str x1, [sp+16]
    00403f98str wzr, [sp+124]
    00403f9cb 0x403fd4
    00403fa0
    00403fa0loc_403fa0:
    00403fa0ldrsw x0, [sp+124]
    00403fa4ubfm x0, x0, 61, 60
    00403fa8ldr x1, [sp+16]
    00403facadd x0, x1, x0
    00403fb0ldr x0, [x0]
    00403fb4mov w2, w0
    00403fb8ldrsw x0, [sp+124]
    00403fbcubfm x0, x0, 62, 61
    00403fc0add x1, sp, 32
    00403fc4str w2, [x1+x0]
    00403fc8ldr w0, [sp+124]
    00403fccadd w0, w0, 1
    00403fd0str w0, [sp+124]
    00403fd4
    00403fd4loc_403fd4:
    00403fd4ldr w0, [sp+124]
    00403fd8subs wzr, w0, 9
    00403fdcb.le 0x403fa0
    00403fe0str wzr, [sp+120]
    00403fe4b 0x4041b8
    00403fe8
    00403fe8loc_403fe8:
    00403fe8str wzr, [sp+124]
    00403fecb 0x404150
    00403ff0
    00403ff0loc_403ff0:
    00403ff0ldr w0, [sp+124]
    00403ff4and w0, w0, 1
    00403ff8subs wzr, w0, 0
    00403ffcb.eq 0x4040a4
    00404000ldrsw x0, [sp+124]
    00404004ubfm x0, x0, 62, 61
    00404008add x1, sp, 32
    0040400cldr w0, [x1+x0]
    00404010sbfm w0, w0, 31, 31
    00404014str w0, [sp+76]
    00404018ldrsw x0, [sp+124]
    0040401cubfm x0, x0, 62, 61
    00404020add x1, sp, 32
    00404024ldr w1, [x1+x0]
    00404028ldr w0, [sp+76]
    0040402cand w0, w1, w0
    00404030sbfm w0, w0, 25, 31
    00404034sub w0, wzr, w0
    00404038str w0, [sp+72]
    0040403cldrsw x0, [sp+124]
    00404040ubfm x0, x0, 62, 61
    00404044add x1, sp, 32
    00404048ldr w1, [x1+x0]
    0040404cldr w0, [sp+72]
    00404050ubfm w0, w0, 7, 6
    00404054add w2, w1, w0
    00404058ldrsw x0, [sp+124]
    0040405cubfm x0, x0, 62, 61
    00404060add x1, sp, 32
    00404064str w2, [x1+x0]
    00404068ldr w0, [sp+124]
    0040406cadd w0, w0, 1
    00404070sbfm x0, x0, 0, 31
    00404074ubfm x0, x0, 62, 61
    00404078add x1, sp, 32
    0040407cldr w1, [x1+x0]
    00404080ldr w0, [sp+124]
    00404084add w3, w0, 1
    00404088ldr w0, [sp+72]
    0040408csub w2, w1, w0
    00404090sbfm x0, x3, 0, 31
    00404094ubfm x0, x0, 62, 61
    00404098add x1, sp, 32
    0040409cstr w2, [x1+x0]
    004040a0b 0x404144
    004040a4
    004040a4loc_4040a4:
    004040a4ldrsw x0, [sp+124]
    004040a8ubfm x0, x0, 62, 61
    004040acadd x1, sp, 32
    004040b0ldr w0, [x1+x0]
    004040b4sbfm w0, w0, 31, 31
    004040b8str w0, [sp+84]
    004040bcldrsw x0, [sp+124]
    004040c0ubfm x0, x0, 62, 61
    004040c4add x1, sp, 32
    004040c8ldr w1, [x1+x0]
    004040ccldr w0, [sp+84]
    004040d0and w0, w1, w0
    004040d4sbfm w0, w0, 26, 31
    004040d8sub w0, wzr, w0
    004040dcstr w0, [sp+80]
    004040e0ldrsw x0, [sp+124]
    004040e4ubfm x0, x0, 62, 61
    004040e8add x1, sp, 32
    004040ecldr w1, [x1+x0]
    004040f0ldr w0, [sp+80]
    004040f4ubfm w0, w0, 6, 5
    004040f8add w2, w1, w0
    004040fcldrsw x0, [sp+124]
    00404100ubfm x0, x0, 62, 61
    00404104add x1, sp, 32
    00404108str w2, [x1+x0]
    0040410cldr w0, [sp+124]
    00404110add w0, w0, 1
    00404114sbfm x0, x0, 0, 31
    00404118ubfm x0, x0, 62, 61
    0040411cadd x1, sp, 32
    00404120ldr w1, [x1+x0]
    00404124ldr w0, [sp+124]
    00404128add w3, w0, 1
    0040412cldr w0, [sp+80]
    00404130sub w2, w1, w0
    00404134sbfm x0, x3, 0, 31
    00404138ubfm x0, x0, 62, 61
    0040413cadd x1, sp, 32
    00404140str w2, [x1+x0]
    00404144
    00404144loc_404144:
    00404144ldr w0, [sp+124]
    00404148add w0, w0, 1
    0040414cstr w0, [sp+124]
    00404150
    00404150loc_404150:
    00404150ldr w0, [sp+124]
    00404154subs wzr, w0, 8
    00404158b.le 0x403ff0
    0040415cldr w0, [sp+68]
    00404160sbfm w0, w0, 31, 31
    00404164str w0, [sp+92]
    00404168ldr w1, [sp+68]
    0040416cldr w0, [sp+92]
    00404170and w0, w1, w0
    00404174sbfm w0, w0, 25, 31
    00404178sub w0, wzr, w0
    0040417cstr w0, [sp+88]
    00404180ldr w1, [sp+68]
    00404184ldr w0, [sp+88]
    00404188ubfm w0, w0, 7, 6
    0040418cadd w0, w1, w0
    00404190str w0, [sp+68]
    00404194ldr w1, [sp+32]
    00404198ldr w2, [sp+88]
    0040419cmovn w0, 18
    004041a0madd w0, w2, w0, wzr
    004041a4add w0, w1, w0
    004041a8str w0, [sp+32]
    004041acldr w0, [sp+120]
    004041b0add w0, w0, 1
    004041b4str w0, [sp+120]
    004041b8
    004041b8loc_4041b8:
    004041b8ldr w0, [sp+120]
    004041bcsubs wzr, w0, 1
    004041c0b.le 0x403fe8
    004041c4ldr w0, [sp+32]
    004041c8sbfm w0, w0, 31, 31
    004041ccstr w0, [sp+112]
    004041d0ldr w1, [sp+32]
    004041d4ldr w0, [sp+112]
    004041d8and w0, w1, w0
    004041dcsbfm w0, w0, 26, 31
    004041e0sub w0, wzr, w0
    004041e4str w0, [sp+108]
    004041e8ldr w1, [sp+32]
    004041ecldr w0, [sp+108]
    004041f0ubfm w0, w0, 6, 5
    004041f4add w0, w1, w0
    004041f8str w0, [sp+32]
    004041fcldr w1, [sp+36]
    00404200ldr w0, [sp+108]
    00404204sub w0, w1, w0
    00404208str w0, [sp+36]
    0040420cstr wzr, [sp+120]
    00404210b 0x40436c
    00404214
    00404214loc_404214:
    00404214str wzr, [sp+124]
    00404218b 0x404324
    0040421c
    0040421cloc_40421c:
    0040421cldr w0, [sp+124]
    00404220and w0, w0, 1
    00404224subs wzr, w0, 0
    00404228b.eq 0x4042a4
    0040422cldrsw x0, [sp+124]
    00404230ubfm x0, x0, 62, 61
    00404234add x1, sp, 32
    00404238ldr w0, [x1+x0]
    0040423csbfm w0, w0, 25, 31
    00404240str w0, [sp+96]
    00404244ldrsw x0, [sp+124]
    00404248ubfm x0, x0, 62, 61
    0040424cadd x1, sp, 32
    00404250ldr w0, [x1+x0]
    00404254and w2, w0, 0x1ffffff
    00404258ldrsw x0, [sp+124]
    0040425cubfm x0, x0, 62, 61
    00404260add x1, sp, 32
    00404264str w2, [x1+x0]
    00404268ldr w0, [sp+124]
    0040426cadd w0, w0, 1
    00404270sbfm x0, x0, 0, 31
    00404274ubfm x0, x0, 62, 61
    00404278add x1, sp, 32
    0040427cldr w1, [x1+x0]
    00404280ldr w0, [sp+124]
    00404284add w3, w0, 1
    00404288ldr w0, [sp+96]
    0040428cadd w2, w1, w0
    00404290sbfm x0, x3, 0, 31
    00404294ubfm x0, x0, 62, 61
    00404298add x1, sp, 32
    0040429cstr w2, [x1+x0]
    004042a0b 0x404318
    004042a4
    004042a4loc_4042a4:
    004042a4ldrsw x0, [sp+124]
    004042a8ubfm x0, x0, 62, 61
    004042acadd x1, sp, 32
    004042b0ldr w0, [x1+x0]
    004042b4sbfm w0, w0, 26, 31
    004042b8str w0, [sp+100]
    004042bcldrsw x0, [sp+124]
    004042c0ubfm x0, x0, 62, 61
    004042c4add x1, sp, 32
    004042c8ldr w0, [x1+x0]
    004042ccand w2, w0, 0x3ffffff
    004042d0ldrsw x0, [sp+124]
    004042d4ubfm x0, x0, 62, 61
    004042d8add x1, sp, 32
    004042dcstr w2, [x1+x0]
    004042e0ldr w0, [sp+124]
    004042e4add w0, w0, 1
    004042e8sbfm x0, x0, 0, 31
    004042ecubfm x0, x0, 62, 61
    004042f0add x1, sp, 32
    004042f4ldr w1, [x1+x0]
    004042f8ldr w0, [sp+124]
    004042fcadd w3, w0, 1
    00404300ldr w0, [sp+100]
    00404304add w2, w1, w0
    00404308sbfm x0, x3, 0, 31
    0040430cubfm x0, x0, 62, 61
    00404310add x1, sp, 32
    00404314str w2, [x1+x0]
    00404318
    00404318loc_404318:
    00404318ldr w0, [sp+124]
    0040431cadd w0, w0, 1
    00404320str w0, [sp+124]
    00404324
    00404324loc_404324:
    00404324ldr w0, [sp+124]
    00404328subs wzr, w0, 8
    0040432cb.le 0x40421c
    00404330ldr w0, [sp+68]
    00404334sbfm w0, w0, 25, 31
    00404338str w0, [sp+104]
    0040433cldr w0, [sp+68]
    00404340and w0, w0, 0x1ffffff
    00404344str w0, [sp+68]
    00404348ldr w1, [sp+32]
    0040434cldr w2, [sp+104]
    00404350movz w0, 19
    00404354madd w0, w2, w0, wzr
    00404358add w0, w1, w0
    0040435cstr w0, [sp+32]
    00404360ldr w0, [sp+120]
    00404364add w0, w0, 1
    00404368str w0, [sp+120]
    0040436c
    0040436cloc_40436c:
    0040436cldr w0, [sp+120]
    00404370subs wzr, w0, 1
    00404374b.le 0x404214
    00404378ldr w0, [sp+32]
    0040437cmovz w1, 65517
    00404380movk w1, 0x3ff0000
    00404384bl s32_gte
    00404388str w0, [sp+116]
    0040438cmovz w0, 1
    00404390str w0, [sp+124]
    00404394b 0x404408
    00404398
    00404398loc_404398:
    00404398ldr w0, [sp+124]
    0040439cand w0, w0, 1
    004043a0subs wzr, w0, 0
    004043a4b.eq 0x4043d4
    004043a8ldrsw x0, [sp+124]
    004043acubfm x0, x0, 62, 61
    004043b0add x1, sp, 32
    004043b4ldr w0, [x1+x0]
    004043b8movn w1, 0xfe000000
    004043bcbl s32_eq
    004043c0mov w1, w0
    004043c4ldr w0, [sp+116]
    004043c8and w0, w0, w1
    004043ccstr w0, [sp+116]
    004043d0b 0x4043fc
    004043d4
    004043d4loc_4043d4:
    004043d4ldrsw x0, [sp+124]
    004043d8ubfm x0, x0, 62, 61
    004043dcadd x1, sp, 32
    004043e0ldr w0, [x1+x0]
    004043e4movn w1, 0xfc000000
    004043e8bl s32_eq
    004043ecmov w1, w0
    004043f0ldr w0, [sp+116]
    004043f4and w0, w0, w1
    004043f8str w0, [sp+116]
    004043fc
    004043fcloc_4043fc:
    004043fcldr w0, [sp+124]
    00404400add w0, w0, 1
    00404404str w0, [sp+124]
    00404408
    00404408loc_404408:
    00404408ldr w0, [sp+124]
    0040440csubs wzr, w0, 9
    00404410b.le 0x404398
    00404414ldr w1, [sp+32]
    00404418ldr w2, [sp+116]
    0040441cmovz w0, 65517
    00404420movk w0, 0x3ff0000
    00404424and w0, w2, w0
    00404428sub w0, w1, w0
    0040442cstr w0, [sp+32]
    00404430movz w0, 1
    00404434str w0, [sp+124]
    00404438b 0x4044b4
    0040443c
    0040443cloc_40443c:
    0040443cldr w0, [sp+124]
    00404440and w0, w0, 1
    00404444subs wzr, w0, 0
    00404448b.eq 0x40447c
    0040444cldrsw x0, [sp+124]
    00404450ubfm x0, x0, 62, 61
    00404454add x1, sp, 32
    00404458ldr w1, [x1+x0]
    0040445cldr w0, [sp+116]
    00404460and w0, w0, 0x1ffffff
    00404464sub w2, w1, w0
    00404468ldrsw x0, [sp+124]
    0040446cubfm x0, x0, 62, 61
    00404470add x1, sp, 32
    00404474str w2, [x1+x0]
    00404478b 0x4044a8
    0040447c
    0040447cloc_40447c:
    0040447cldrsw x0, [sp+124]
    00404480ubfm x0, x0, 62, 61
    00404484add x1, sp, 32
    00404488ldr w1, [x1+x0]
    0040448cldr w0, [sp+116]
    00404490and w0, w0, 0x3ffffff
    00404494sub w2, w1, w0
    00404498ldrsw x0, [sp+124]
    0040449cubfm x0, x0, 62, 61
    004044a0add x1, sp, 32
    004044a4str w2, [x1+x0]
    004044a8
    004044a8loc_4044a8:
    004044a8ldr w0, [sp+124]
    004044acadd w0, w0, 1
    004044b0str w0, [sp+124]
    004044b4
    004044b4loc_4044b4:
    004044b4ldr w0, [sp+124]
    004044b8subs wzr, w0, 9
    004044bcb.le 0x40443c
    004044c0ldr w0, [sp+36]
    004044c4ubfm w0, w0, 30, 29
    004044c8str w0, [sp+36]
    004044ccldr w0, [sp+40]
    004044d0ubfm w0, w0, 29, 28
    004044d4str w0, [sp+40]
    004044d8ldr w0, [sp+44]
    004044dcubfm w0, w0, 27, 26
    004044e0str w0, [sp+44]
    004044e4ldr w0, [sp+48]
    004044e8ubfm w0, w0, 26, 25
    004044ecstr w0, [sp+48]
    004044f0ldr w0, [sp+56]
    004044f4ubfm w0, w0, 31, 30
    004044f8str w0, [sp+56]
    004044fcldr w0, [sp+60]
    00404500ubfm w0, w0, 29, 28
    00404504str w0, [sp+60]
    00404508ldr w0, [sp+64]
    0040450cubfm w0, w0, 28, 27
    00404510str w0, [sp+64]
    00404514ldr w0, [sp+68]
    00404518ubfm w0, w0, 26, 25
    0040451cstr w0, [sp+68]
    00404520ldr x0, [sp+24]
    00404524strb wzr, [x0]
    00404528ldr x0, [sp+24]
    0040452cadd x0, x0, 16
    00404530strb wzr, [x0]
    00404534ldr x0, [sp+24]
    00404538ldrb w0, [x0]
    0040453csbfm w1, w0, 0, 7
    00404540ldr w0, [sp+32]
    00404544sbfm w0, w0, 0, 7
    00404548orr w0, w1, w0
    0040454csbfm w0, w0, 0, 7
    00404550and w1, w0, 255
    00404554ldr x0, [sp+24]
    00404558strb w1, [x0]
    0040455cldr w0, [sp+32]
    00404560sbfm w1, w0, 8, 31
    00404564ldr x0, [sp+24]
    00404568add x0, x0, 1
    0040456cand w1, w1, 255
    00404570strb w1, [x0]
    00404574ldr w0, [sp+32]
    00404578sbfm w1, w0, 16, 31
    0040457cldr x0, [sp+24]
    00404580add x0, x0, 2
    00404584and w1, w1, 255
    00404588strb w1, [x0]
    0040458cldr w0, [sp+32]
    00404590ubfm w1, w0, 24, 31
    00404594ldr x0, [sp+24]
    00404598add x0, x0, 3
    0040459cand w1, w1, 255
    004045a0strb w1, [x0]
    004045a4ldr x0, [sp+24]
    004045a8add x0, x0, 3
    004045acldrb w0, [x0]
    004045b0sbfm w1, w0, 0, 7
    004045b4ldr w0, [sp+36]
    004045b8sbfm w0, w0, 0, 7
    004045bcorr w0, w1, w0
    004045c0sbfm w1, w0, 0, 7
    004045c4ldr x0, [sp+24]
    004045c8add x0, x0, 3
    004045ccand w1, w1, 255
    004045d0strb w1, [x0]
    004045d4ldr w0, [sp+36]
    004045d8sbfm w1, w0, 8, 31
    004045dcldr x0, [sp+24]
    004045e0add x0, x0, 4
    004045e4and w1, w1, 255
    004045e8strb w1, [x0]
    004045ecldr w0, [sp+36]
    004045f0sbfm w1, w0, 16, 31
    004045f4ldr x0, [sp+24]
    004045f8add x0, x0, 5
    004045fcand w1, w1, 255
    00404600strb w1, [x0]
    00404604ldr w0, [sp+36]
    00404608ubfm w1, w0, 24, 31
    0040460cldr x0, [sp+24]
    00404610add x0, x0, 6
    00404614and w1, w1, 255
    00404618strb w1, [x0]
    0040461cldr x0, [sp+24]
    00404620add x0, x0, 6
    00404624ldrb w0, [x0]
    00404628sbfm w1, w0, 0, 7
    0040462cldr w0, [sp+40]
    00404630sbfm w0, w0, 0, 7
    00404634orr w0, w1, w0
    00404638sbfm w1, w0, 0, 7
    0040463cldr x0, [sp+24]
    00404640add x0, x0, 6
    00404644and w1, w1, 255
    00404648strb w1, [x0]
    0040464cldr w0, [sp+40]
    00404650sbfm w1, w0, 8, 31
    00404654ldr x0, [sp+24]
    00404658add x0, x0, 7
    0040465cand w1, w1, 255
    00404660strb w1, [x0]
    00404664ldr w0, [sp+40]
    00404668sbfm w1, w0, 16, 31
    0040466cldr x0, [sp+24]
    00404670add x0, x0, 8
    00404674and w1, w1, 255
    00404678strb w1, [x0]
    0040467cldr w0, [sp+40]
    00404680ubfm w1, w0, 24, 31
    00404684ldr x0, [sp+24]
    00404688add x0, x0, 9
    0040468cand w1, w1, 255
    00404690strb w1, [x0]
    00404694ldr x0, [sp+24]
    00404698add x0, x0, 9
    0040469cldrb w0, [x0]
    004046a0sbfm w1, w0, 0, 7
    004046a4ldr w0, [sp+44]
    004046a8sbfm w0, w0, 0, 7
    004046acorr w0, w1, w0
    004046b0sbfm w1, w0, 0, 7
    004046b4ldr x0, [sp+24]
    004046b8add x0, x0, 9
    004046bcand w1, w1, 255
    004046c0strb w1, [x0]
    004046c4ldr w0, [sp+44]
    004046c8sbfm w1, w0, 8, 31
    004046ccldr x0, [sp+24]
    004046d0add x0, x0, 10
    004046d4and w1, w1, 255
    004046d8strb w1, [x0]
    004046dcldr w0, [sp+44]
    004046e0sbfm w1, w0, 16, 31
    004046e4ldr x0, [sp+24]
    004046e8add x0, x0, 11
    004046ecand w1, w1, 255
    004046f0strb w1, [x0]
    004046f4ldr w0, [sp+44]
    004046f8ubfm w1, w0, 24, 31
    004046fcldr x0, [sp+24]
    00404700add x0, x0, 12
    00404704and w1, w1, 255
    00404708strb w1, [x0]
    0040470cldr x0, [sp+24]
    00404710add x0, x0, 12
    00404714ldrb w0, [x0]
    00404718sbfm w1, w0, 0, 7
    0040471cldr w0, [sp+48]
    00404720sbfm w0, w0, 0, 7
    00404724orr w0, w1, w0
    00404728sbfm w1, w0, 0, 7
    0040472cldr x0, [sp+24]
    00404730add x0, x0, 12
    00404734and w1, w1, 255
    00404738strb w1, [x0]
    0040473cldr w0, [sp+48]
    00404740sbfm w1, w0, 8, 31
    00404744ldr x0, [sp+24]
    00404748add x0, x0, 13
    0040474cand w1, w1, 255
    00404750strb w1, [x0]
    00404754ldr w0, [sp+48]
    00404758sbfm w1, w0, 16, 31
    0040475cldr x0, [sp+24]
    00404760add x0, x0, 14
    00404764and w1, w1, 255
    00404768strb w1, [x0]
    0040476cldr w0, [sp+48]
    00404770ubfm w1, w0, 24, 31
    00404774ldr x0, [sp+24]
    00404778add x0, x0, 15
    0040477cand w1, w1, 255
    00404780strb w1, [x0]
    00404784ldr x0, [sp+24]
    00404788add x0, x0, 16
    0040478cldrb w0, [x0]
    00404790sbfm w1, w0, 0, 7
    00404794ldr w0, [sp+52]
    00404798sbfm w0, w0, 0, 7
    0040479corr w0, w1, w0
    004047a0sbfm w1, w0, 0, 7
    004047a4ldr x0, [sp+24]
    004047a8add x0, x0, 16
    004047acand w1, w1, 255
    004047b0strb w1, [x0]
    004047b4ldr w0, [sp+52]
    004047b8sbfm w1, w0, 8, 31
    004047bcldr x0, [sp+24]
    004047c0add x0, x0, 17
    004047c4and w1, w1, 255
    004047c8strb w1, [x0]
    004047ccldr w0, [sp+52]
    004047d0sbfm w1, w0, 16, 31
    004047d4ldr x0, [sp+24]
    004047d8add x0, x0, 18
    004047dcand w1, w1, 255
    004047e0strb w1, [x0]
    004047e4ldr w0, [sp+52]
    004047e8ubfm w1, w0, 24, 31
    004047ecldr x0, [sp+24]
    004047f0add x0, x0, 19
    004047f4and w1, w1, 255
    004047f8strb w1, [x0]
    004047fcldr x0, [sp+24]
    00404800add x0, x0, 19
    00404804ldrb w0, [x0]
    00404808sbfm w1, w0, 0, 7
    0040480cldr w0, [sp+56]
    00404810sbfm w0, w0, 0, 7
    00404814orr w0, w1, w0
    00404818sbfm w1, w0, 0, 7
    0040481cldr x0, [sp+24]
    00404820add x0, x0, 19
    00404824and w1, w1, 255
    00404828strb w1, [x0]
    0040482cldr w0, [sp+56]
    00404830sbfm w1, w0, 8, 31
    00404834ldr x0, [sp+24]
    00404838add x0, x0, 20
    0040483cand w1, w1, 255
    00404840strb w1, [x0]
    00404844ldr w0, [sp+56]
    00404848sbfm w1, w0, 16, 31
    0040484cldr x0, [sp+24]
    00404850add x0, x0, 21
    00404854and w1, w1, 255
    00404858strb w1, [x0]
    0040485cldr w0, [sp+56]
    00404860ubfm w1, w0, 24, 31
    00404864ldr x0, [sp+24]
    00404868add x0, x0, 22
    0040486cand w1, w1, 255
    00404870strb w1, [x0]
    00404874ldr x0, [sp+24]
    00404878add x0, x0, 22
    0040487cldrb w0, [x0]
    00404880sbfm w1, w0, 0, 7
    00404884ldr w0, [sp+60]
    00404888sbfm w0, w0, 0, 7
    0040488corr w0, w1, w0
    00404890sbfm w1, w0, 0, 7
    00404894ldr x0, [sp+24]
    00404898add x0, x0, 22
    0040489cand w1, w1, 255
    004048a0strb w1, [x0]
    004048a4ldr w0, [sp+60]
    004048a8sbfm w1, w0, 8, 31
    004048acldr x0, [sp+24]
    004048b0add x0, x0, 23
    004048b4and w1, w1, 255
    004048b8strb w1, [x0]
    004048bcldr w0, [sp+60]
    004048c0sbfm w1, w0, 16, 31
    004048c4ldr x0, [sp+24]
    004048c8add x0, x0, 24
    004048ccand w1, w1, 255
    004048d0strb w1, [x0]
    004048d4ldr w0, [sp+60]
    004048d8ubfm w1, w0, 24, 31
    004048dcldr x0, [sp+24]
    004048e0add x0, x0, 25
    004048e4and w1, w1, 255
    004048e8strb w1, [x0]
    004048ecldr x0, [sp+24]
    004048f0add x0, x0, 25
    004048f4ldrb w0, [x0]
    004048f8sbfm w1, w0, 0, 7
    004048fcldr w0, [sp+64]
    00404900sbfm w0, w0, 0, 7
    00404904orr w0, w1, w0
    00404908sbfm w1, w0, 0, 7
    0040490cldr x0, [sp+24]
    00404910add x0, x0, 25
    00404914and w1, w1, 255
    00404918strb w1, [x0]
    0040491cldr w0, [sp+64]
    00404920sbfm w1, w0, 8, 31
    00404924ldr x0, [sp+24]
    00404928add x0, x0, 26
    0040492cand w1, w1, 255
    00404930strb w1, [x0]
    00404934ldr w0, [sp+64]
    00404938sbfm w1, w0, 16, 31
    0040493cldr x0, [sp+24]
    00404940add x0, x0, 27
    00404944and w1, w1, 255
    00404948strb w1, [x0]
    0040494cldr w0, [sp+64]
    00404950ubfm w1, w0, 24, 31
    00404954ldr x0, [sp+24]
    00404958add x0, x0, 28
    0040495cand w1, w1, 255
    00404960strb w1, [x0]
    00404964ldr x0, [sp+24]
    00404968add x0, x0, 28
    0040496cldrb w0, [x0]
    00404970sbfm w1, w0, 0, 7
    00404974ldr w0, [sp+68]
    00404978sbfm w0, w0, 0, 7
    0040497corr w0, w1, w0
    00404980sbfm w1, w0, 0, 7
    00404984ldr x0, [sp+24]
    00404988add x0, x0, 28
    0040498cand w1, w1, 255
    00404990strb w1, [x0]
    00404994ldr w0, [sp+68]
    00404998sbfm w1, w0, 8, 31
    0040499cldr x0, [sp+24]
    004049a0add x0, x0, 29
    004049a4and w1, w1, 255
    004049a8strb w1, [x0]
    004049acldr w0, [sp+68]
    004049b0sbfm w1, w0, 16, 31
    004049b4ldr x0, [sp+24]
    004049b8add x0, x0, 30
    004049bcand w1, w1, 255
    004049c0strb w1, [x0]
    004049c4ldr w0, [sp+68]
    004049c8ubfm w1, w0, 24, 31
    004049ccldr x0, [sp+24]
    004049d0add x0, x0, 31
    004049d4and w1, w1, 255
    004049d8strb w1, [x0]
    004049dchint
    004049e0ldp x29, x30, [sp], 128
    004049e4ret x30
    00403f88