File 8base_80736669542d3727c77ccda1589f9d7c17568a1d97d98ffae84afbbbf081be67.elf
Function:
Loading..
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
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
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
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
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
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
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
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
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
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
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
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
004049e8
004049e8fmonty:
004049e8sub sp, sp, 1312
004049ecstp x29, x30, [sp]
004049f0add x29, sp, 0
004049f4str x0, [sp+72]
004049f8str x1, [sp+64]
004049fcstr x2, [sp+56]
00404a00str x3, [sp+48]
00404a04str x4, [sp+40]
00404a08str x5, [sp+32]
00404a0cstr x6, [sp+24]
00404a10str x7, [sp+16]
00404a14add x0, sp, 1232
00404a18movz x2, 80
00404a1cldr x1, [sp+40]
00404a20bl memcpy@plt
00404a24ldr x1, [sp+32]
00404a28ldr x0, [sp+40]
00404a2cbl fsum
00404a30add x0, sp, 1232
00404a34mov x1, x0
00404a38ldr x0, [sp+32]
00404a3cbl fdifference
00404a40add x0, sp, 1152
00404a44movz x2, 80
00404a48ldr x1, [sp+24]
00404a4cbl memcpy@plt
00404a50ldr x1, [sp+16]
00404a54ldr x0, [sp+24]
00404a58bl fsum
00404a5cadd x0, sp, 1152
00404a60mov x1, x0
00404a64ldr x0, [sp+16]
00404a68bl fdifference
00404a6cadd x0, sp, 544
00404a70ldr x2, [sp+32]
00404a74ldr x1, [sp+24]
00404a78bl fproduct
00404a7cadd x0, sp, 392
00404a80ldr x2, [sp+16]
00404a84ldr x1, [sp+40]
00404a88bl fproduct
00404a8cadd x0, sp, 544
00404a90bl freduce_degree
00404a94add x0, sp, 544
00404a98bl freduce_coefficients
00404a9cadd x0, sp, 392
00404aa0bl freduce_degree
00404aa4add x0, sp, 392
00404aa8bl freduce_coefficients
00404aacadd x0, sp, 1152
00404ab0add x1, sp, 544
00404ab4ldp q0, q1, [x1]
00404ab8stp q0, q1, [x0]
00404abcldp q0, q1, [x1+32]
00404ac0stp q0, q1, [x0+32]
00404ac4ldr q0, [x1+64]
00404ac8str q0, [x0+64]
00404accadd x1, sp, 392
00404ad0add x0, sp, 544
00404ad4bl fsum
00404ad8add x1, sp, 1152
00404adcadd x0, sp, 392
00404ae0bl fdifference
00404ae4add x1, sp, 544
00404ae8add x0, sp, 88
00404aecbl fsquare
00404af0add x1, sp, 392
00404af4add x0, sp, 240
00404af8bl fsquare
00404afcadd x1, sp, 240
00404b00add x0, sp, 392
00404b04ldr x2, [sp+1312]
00404b08bl fproduct
00404b0cadd x0, sp, 392
00404b10bl freduce_degree
00404b14add x0, sp, 392
00404b18bl freduce_coefficients
00404b1cadd x0, sp, 88
00404b20movz x2, 80
00404b24mov x1, x0
00404b28ldr x0, [sp+56]
00404b2cbl memcpy@plt
00404b30add x0, sp, 392
00404b34movz x2, 80
00404b38mov x1, x0
00404b3cldr x0, [sp+48]
00404b40bl memcpy@plt
00404b44add x0, sp, 848
00404b48ldr x1, [sp+40]
00404b4cbl fsquare
00404b50add x0, sp, 696
00404b54ldr x1, [sp+32]
00404b58bl fsquare
00404b5cadd x1, sp, 696
00404b60add x0, sp, 848
00404b64mov x2, x1
00404b68mov x1, x0
00404b6cldr x0, [sp+72]
00404b70bl fproduct
00404b74ldr x0, [sp+72]
00404b78bl freduce_degree
00404b7cldr x0, [sp+72]
00404b80bl freduce_coefficients
00404b84add x1, sp, 848
00404b88add x0, sp, 696
00404b8cbl fdifference
00404b90add x0, sp, 1000
00404b94add x0, x0, 80
00404b98movz x2, 72
00404b9cmovz w1, 0
00404ba0bl memset@plt
00404ba4add x1, sp, 696
00404ba8add x0, sp, 1000
00404bacmovz x2, 56129
00404bb0movk x2, 0x10000
00404bb4bl fscalar_product
00404bb8add x0, sp, 1000
00404bbcbl freduce_coefficients
00404bc0add x1, sp, 848
00404bc4add x0, sp, 1000
00404bc8bl fsum
00404bccadd x1, sp, 1000
00404bd0add x0, sp, 696
00404bd4mov x2, x1
00404bd8mov x1, x0
00404bdcldr x0, [sp+64]
00404be0bl fproduct
00404be4ldr x0, [sp+64]
00404be8bl freduce_degree
00404becldr x0, [sp+64]
00404bf0bl freduce_coefficients
00404bf4hint
00404bf8ldp x29, x30, [sp]
00404bfcadd sp, sp, 1312
00404c00ret x30
004049e8
004049e8fmonty:
004049e8sub sp, sp, 1312
004049ecstp x29, x30, [sp]
004049f0add x29, sp, 0
004049f4str x0, [sp+72]
004049f8str x1, [sp+64]
004049fcstr x2, [sp+56]
00404a00str x3, [sp+48]
00404a04str x4, [sp+40]
00404a08str x5, [sp+32]
00404a0cstr x6, [sp+24]
00404a10str x7, [sp+16]
00404a14add x0, sp, 1232
00404a18movz x2, 80
00404a1cldr x1, [sp+40]
00404a20bl memcpy@plt
00404a24ldr x1, [sp+32]
00404a28ldr x0, [sp+40]
00404a2cbl fsum
00404a30add x0, sp, 1232
00404a34mov x1, x0
00404a38ldr x0, [sp+32]
00404a3cbl fdifference
00404a40add x0, sp, 1152
00404a44movz x2, 80
00404a48ldr x1, [sp+24]
00404a4cbl memcpy@plt
00404a50ldr x1, [sp+16]
00404a54ldr x0, [sp+24]
00404a58bl fsum
00404a5cadd x0, sp, 1152
00404a60mov x1, x0
00404a64ldr x0, [sp+16]
00404a68bl fdifference
00404a6cadd x0, sp, 544
00404a70ldr x2, [sp+32]
00404a74ldr x1, [sp+24]
00404a78bl fproduct
00404a7cadd x0, sp, 392
00404a80ldr x2, [sp+16]
00404a84ldr x1, [sp+40]
00404a88bl fproduct
00404a8cadd x0, sp, 544
00404a90bl freduce_degree
00404a94add x0, sp, 544
00404a98bl freduce_coefficients
00404a9cadd x0, sp, 392
00404aa0bl freduce_degree
00404aa4add x0, sp, 392
00404aa8bl freduce_coefficients
00404aacadd x0, sp, 1152
00404ab0add x1, sp, 544
00404ab4ldp q0, q1, [x1]
00404ab8stp q0, q1, [x0]
00404abcldp q0, q1, [x1+32]
00404ac0stp q0, q1, [x0+32]
00404ac4ldr q0, [x1+64]
00404ac8str q0, [x0+64]
00404accadd x1, sp, 392
00404ad0add x0, sp, 544
00404ad4bl fsum
00404ad8add x1, sp, 1152
00404adcadd x0, sp, 392
00404ae0bl fdifference
00404ae4add x1, sp, 544
00404ae8add x0, sp, 88
00404aecbl fsquare
00404af0add x1, sp, 392
00404af4add x0, sp, 240
00404af8bl fsquare
00404afcadd x1, sp, 240
00404b00add x0, sp, 392
00404b04ldr x2, [sp+1312]
00404b08bl fproduct
00404b0cadd x0, sp, 392
00404b10bl freduce_degree
00404b14add x0, sp, 392
00404b18bl freduce_coefficients
00404b1cadd x0, sp, 88
00404b20movz x2, 80
00404b24mov x1, x0
00404b28ldr x0, [sp+56]
00404b2cbl memcpy@plt
00404b30add x0, sp, 392
00404b34movz x2, 80
00404b38mov x1, x0
00404b3cldr x0, [sp+48]
00404b40bl memcpy@plt
00404b44add x0, sp, 848
00404b48ldr x1, [sp+40]
00404b4cbl fsquare
00404b50add x0, sp, 696
00404b54ldr x1, [sp+32]
00404b58bl fsquare
00404b5cadd x1, sp, 696
00404b60add x0, sp, 848
00404b64mov x2, x1
00404b68mov x1, x0
00404b6cldr x0, [sp+72]
00404b70bl fproduct
00404b74ldr x0, [sp+72]
00404b78bl freduce_degree
00404b7cldr x0, [sp+72]
00404b80bl freduce_coefficients
00404b84add x1, sp, 848
00404b88add x0, sp, 696
00404b8cbl fdifference
00404b90add x0, sp, 1000
00404b94add x0, x0, 80
00404b98movz x2, 72
00404b9cmovz w1, 0
00404ba0bl memset@plt
00404ba4add x1, sp, 696
00404ba8add x0, sp, 1000
00404bacmovz x2, 56129
00404bb0movk x2, 0x10000
00404bb4bl fscalar_product
00404bb8add x0, sp, 1000
00404bbcbl freduce_coefficients
00404bc0add x1, sp, 848
00404bc4add x0, sp, 1000
00404bc8bl fsum
00404bccadd x1, sp, 1000
00404bd0add x0, sp, 696
00404bd4mov x2, x1
00404bd8mov x1, x0
00404bdcldr x0, [sp+64]
00404be0bl fproduct
00404be4ldr x0, [sp+64]
00404be8bl freduce_degree
00404becldr x0, [sp+64]
00404bf0bl freduce_coefficients
00404bf4hint
00404bf8ldp x29, x30, [sp]
00404bfcadd sp, sp, 1312
00404c00ret x30
004049e8
Loading..