File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0052d280
    0052d280crypto/internal/fips140/aes/gcm.gcmAesDec.abi0: ; void crypto/internal/fips140/aes/gcm.gcmAesDec(void)
    0052d280ldr x0, [sp+8]
    0052d284ldr x1, [sp+16]
    0052d288ldr x3, [sp+40]
    0052d28cldr x6, [sp+48]
    0052d290ldr x2, [sp+64]
    0052d294ldr x5, [sp+72]
    0052d298ldr x4, [sp+80]
    0052d29cldr x10, [sp+88]
    0052d2a0movz x12, 194
    0052d2a4ubfm x12, x12, 8, 7
    0052d2a8orr x11, xzr, 1
    0052d2acins v15.d[0], x12
    0052d2b0ins v15.d[1], x11
    0052d2b4eor v16.16b, v16.16b, v16.16b
    0052d2b8mov x14, x0
    0052d2bcld1
    0052d2c0eor v9.16b, v9.16b, v9.16b
    0052d2c4eor v10.16b, v10.16b, v10.16b
    0052d2c8ld1
    0052d2cceor v17.16b, v17.16b, v17.16b
    0052d2d0orr x11, xzr, 1
    0052d2d4ins v17.s[3], w11
    0052d2d8rev32 v18.16b, v18.16b
    0052d2dcadd v18.4s, v17.4s, v18.4s
    0052d2e0mov x11, x4
    0052d2e4ld1
    0052d2e8ld1
    0052d2ecld1
    0052d2f0orr v31.16b, v29.16b, v29.16b
    0052d2f4subs xzr, x6, 128
    0052d2f8b.lt 0x52d8bc
    0052d2fctbz w10, 4, 0x52d32c
    0052d300orr v29.16b, v27.16b, v27.16b
    0052d304orr v30.16b, v28.16b, v28.16b
    0052d308orr v27.16b, v31.16b, v31.16b
    0052d30cld1
    0052d310ld1
    0052d314tbz w10, 3, 0x52d32c
    0052d318orr v27.16b, v31.16b, v31.16b
    0052d31cld1
    0052d320ld1
    0052d324add x11, x4, 160
    0052d328mov x13, x11
    0052d32c
    0052d32cloc_52d32c:
    0052d32csub x6, x6, 128
    0052d330orr v0.16b, v18.16b, v18.16b
    0052d334add v1.4s, v17.4s, v0.4s
    0052d338rev32 v0.16b, v0.16b
    0052d33cadd v2.4s, v17.4s, v1.4s
    0052d340rev32 v1.16b, v1.16b
    0052d344add v3.4s, v17.4s, v2.4s
    0052d348rev32 v2.16b, v2.16b
    0052d34cadd v4.4s, v17.4s, v3.4s
    0052d350rev32 v3.16b, v3.16b
    0052d354add v5.4s, v17.4s, v4.4s
    0052d358rev32 v4.16b, v4.16b
    0052d35cadd v6.4s, v17.4s, v5.4s
    0052d360rev32 v5.16b, v5.16b
    0052d364add v7.4s, v17.4s, v6.4s
    0052d368rev32 v6.16b, v6.16b
    0052d36cadd v18.4s, v17.4s, v7.4s
    0052d370rev32 v7.16b, v7.16b
    0052d374aese v0.16b, v19.16b
    0052d378aesmc v0.16b, v0.16b
    0052d37caese v1.16b, v19.16b
    0052d380aesmc v1.16b, v1.16b
    0052d384aese v2.16b, v19.16b
    0052d388aesmc v2.16b, v2.16b
    0052d38caese v3.16b, v19.16b
    0052d390aesmc v3.16b, v3.16b
    0052d394aese v4.16b, v19.16b
    0052d398aesmc v4.16b, v4.16b
    0052d39caese v5.16b, v19.16b
    0052d3a0aesmc v5.16b, v5.16b
    0052d3a4aese v6.16b, v19.16b
    0052d3a8aesmc v6.16b, v6.16b
    0052d3acaese v7.16b, v19.16b
    0052d3b0aesmc v7.16b, v7.16b
    0052d3b4aese v0.16b, v20.16b
    0052d3b8aesmc v0.16b, v0.16b
    0052d3bcaese v1.16b, v20.16b
    0052d3c0aesmc v1.16b, v1.16b
    0052d3c4aese v2.16b, v20.16b
    0052d3c8aesmc v2.16b, v2.16b
    0052d3ccaese v3.16b, v20.16b
    0052d3d0aesmc v3.16b, v3.16b
    0052d3d4aese v4.16b, v20.16b
    0052d3d8aesmc v4.16b, v4.16b
    0052d3dcaese v5.16b, v20.16b
    0052d3e0aesmc v5.16b, v5.16b
    0052d3e4aese v6.16b, v20.16b
    0052d3e8aesmc v6.16b, v6.16b
    0052d3ecaese v7.16b, v20.16b
    0052d3f0aesmc v7.16b, v7.16b
    0052d3f4aese v0.16b, v21.16b
    0052d3f8aesmc v0.16b, v0.16b
    0052d3fcaese v1.16b, v21.16b
    0052d400aesmc v1.16b, v1.16b
    0052d404aese v2.16b, v21.16b
    0052d408aesmc v2.16b, v2.16b
    0052d40caese v3.16b, v21.16b
    0052d410aesmc v3.16b, v3.16b
    0052d414aese v4.16b, v21.16b
    0052d418aesmc v4.16b, v4.16b
    0052d41caese v5.16b, v21.16b
    0052d420aesmc v5.16b, v5.16b
    0052d424aese v6.16b, v21.16b
    0052d428aesmc v6.16b, v6.16b
    0052d42caese v7.16b, v21.16b
    0052d430aesmc v7.16b, v7.16b
    0052d434aese v0.16b, v22.16b
    0052d438aesmc v0.16b, v0.16b
    0052d43caese v1.16b, v22.16b
    0052d440aesmc v1.16b, v1.16b
    0052d444aese v2.16b, v22.16b
    0052d448aesmc v2.16b, v2.16b
    0052d44caese v3.16b, v22.16b
    0052d450aesmc v3.16b, v3.16b
    0052d454aese v4.16b, v22.16b
    0052d458aesmc v4.16b, v4.16b
    0052d45caese v5.16b, v22.16b
    0052d460aesmc v5.16b, v5.16b
    0052d464aese v6.16b, v22.16b
    0052d468aesmc v6.16b, v6.16b
    0052d46caese v7.16b, v22.16b
    0052d470aesmc v7.16b, v7.16b
    0052d474aese v0.16b, v23.16b
    0052d478aesmc v0.16b, v0.16b
    0052d47caese v1.16b, v23.16b
    0052d480aesmc v1.16b, v1.16b
    0052d484aese v2.16b, v23.16b
    0052d488aesmc v2.16b, v2.16b
    0052d48caese v3.16b, v23.16b
    0052d490aesmc v3.16b, v3.16b
    0052d494aese v4.16b, v23.16b
    0052d498aesmc v4.16b, v4.16b
    0052d49caese v5.16b, v23.16b
    0052d4a0aesmc v5.16b, v5.16b
    0052d4a4aese v6.16b, v23.16b
    0052d4a8aesmc v6.16b, v6.16b
    0052d4acaese v7.16b, v23.16b
    0052d4b0aesmc v7.16b, v7.16b
    0052d4b4aese v0.16b, v24.16b
    0052d4b8aesmc v0.16b, v0.16b
    0052d4bcaese v1.16b, v24.16b
    0052d4c0aesmc v1.16b, v1.16b
    0052d4c4aese v2.16b, v24.16b
    0052d4c8aesmc v2.16b, v2.16b
    0052d4ccaese v3.16b, v24.16b
    0052d4d0aesmc v3.16b, v3.16b
    0052d4d4aese v4.16b, v24.16b
    0052d4d8aesmc v4.16b, v4.16b
    0052d4dcaese v5.16b, v24.16b
    0052d4e0aesmc v5.16b, v5.16b
    0052d4e4aese v6.16b, v24.16b
    0052d4e8aesmc v6.16b, v6.16b
    0052d4ecaese v7.16b, v24.16b
    0052d4f0aesmc v7.16b, v7.16b
    0052d4f4aese v0.16b, v25.16b
    0052d4f8aesmc v0.16b, v0.16b
    0052d4fcaese v1.16b, v25.16b
    0052d500aesmc v1.16b, v1.16b
    0052d504aese v2.16b, v25.16b
    0052d508aesmc v2.16b, v2.16b
    0052d50caese v3.16b, v25.16b
    0052d510aesmc v3.16b, v3.16b
    0052d514aese v4.16b, v25.16b
    0052d518aesmc v4.16b, v4.16b
    0052d51caese v5.16b, v25.16b
    0052d520aesmc v5.16b, v5.16b
    0052d524aese v6.16b, v25.16b
    0052d528aesmc v6.16b, v6.16b
    0052d52caese v7.16b, v25.16b
    0052d530aesmc v7.16b, v7.16b
    0052d534aese v0.16b, v26.16b
    0052d538aesmc v0.16b, v0.16b
    0052d53caese v1.16b, v26.16b
    0052d540aesmc v1.16b, v1.16b
    0052d544aese v2.16b, v26.16b
    0052d548aesmc v2.16b, v2.16b
    0052d54caese v3.16b, v26.16b
    0052d550aesmc v3.16b, v3.16b
    0052d554aese v4.16b, v26.16b
    0052d558aesmc v4.16b, v4.16b
    0052d55caese v5.16b, v26.16b
    0052d560aesmc v5.16b, v5.16b
    0052d564aese v6.16b, v26.16b
    0052d568aesmc v6.16b, v6.16b
    0052d56caese v7.16b, v26.16b
    0052d570aesmc v7.16b, v7.16b
    0052d574tbz w10, 4, 0x52d684
    0052d578aese v0.16b, v29.16b
    0052d57caesmc v0.16b, v0.16b
    0052d580aese v1.16b, v29.16b
    0052d584aesmc v1.16b, v1.16b
    0052d588aese v2.16b, v29.16b
    0052d58caesmc v2.16b, v2.16b
    0052d590aese v3.16b, v29.16b
    0052d594aesmc v3.16b, v3.16b
    0052d598aese v4.16b, v29.16b
    0052d59caesmc v4.16b, v4.16b
    0052d5a0aese v5.16b, v29.16b
    0052d5a4aesmc v5.16b, v5.16b
    0052d5a8aese v6.16b, v29.16b
    0052d5acaesmc v6.16b, v6.16b
    0052d5b0aese v7.16b, v29.16b
    0052d5b4aesmc v7.16b, v7.16b
    0052d5b8aese v0.16b, v30.16b
    0052d5bcaesmc v0.16b, v0.16b
    0052d5c0aese v1.16b, v30.16b
    0052d5c4aesmc v1.16b, v1.16b
    0052d5c8aese v2.16b, v30.16b
    0052d5ccaesmc v2.16b, v2.16b
    0052d5d0aese v3.16b, v30.16b
    0052d5d4aesmc v3.16b, v3.16b
    0052d5d8aese v4.16b, v30.16b
    0052d5dcaesmc v4.16b, v4.16b
    0052d5e0aese v5.16b, v30.16b
    0052d5e4aesmc v5.16b, v5.16b
    0052d5e8aese v6.16b, v30.16b
    0052d5ecaesmc v6.16b, v6.16b
    0052d5f0aese v7.16b, v30.16b
    0052d5f4aesmc v7.16b, v7.16b
    0052d5f8tbz w10, 3, 0x52d684
    0052d5fcld1
    0052d600aese v0.16b, v12.16b
    0052d604aesmc v0.16b, v0.16b
    0052d608aese v1.16b, v12.16b
    0052d60caesmc v1.16b, v1.16b
    0052d610aese v2.16b, v12.16b
    0052d614aesmc v2.16b, v2.16b
    0052d618aese v3.16b, v12.16b
    0052d61caesmc v3.16b, v3.16b
    0052d620aese v4.16b, v12.16b
    0052d624aesmc v4.16b, v4.16b
    0052d628aese v5.16b, v12.16b
    0052d62caesmc v5.16b, v5.16b
    0052d630aese v6.16b, v12.16b
    0052d634aesmc v6.16b, v6.16b
    0052d638aese v7.16b, v12.16b
    0052d63caesmc v7.16b, v7.16b
    0052d640aese v0.16b, v13.16b
    0052d644aesmc v0.16b, v0.16b
    0052d648aese v1.16b, v13.16b
    0052d64caesmc v1.16b, v1.16b
    0052d650aese v2.16b, v13.16b
    0052d654aesmc v2.16b, v2.16b
    0052d658aese v3.16b, v13.16b
    0052d65caesmc v3.16b, v3.16b
    0052d660aese v4.16b, v13.16b
    0052d664aesmc v4.16b, v4.16b
    0052d668aese v5.16b, v13.16b
    0052d66caesmc v5.16b, v5.16b
    0052d670aese v6.16b, v13.16b
    0052d674aesmc v6.16b, v6.16b
    0052d678aese v7.16b, v13.16b
    0052d67caesmc v7.16b, v7.16b
    0052d680mov x13, x11
    0052d684
    0052d684loc_52d684:
    0052d684aese v0.16b, v27.16b
    0052d688aesmc v0.16b, v0.16b
    0052d68caese v1.16b, v27.16b
    0052d690aesmc v1.16b, v1.16b
    0052d694aese v2.16b, v27.16b
    0052d698aesmc v2.16b, v2.16b
    0052d69caese v3.16b, v27.16b
    0052d6a0aesmc v3.16b, v3.16b
    0052d6a4aese v4.16b, v27.16b
    0052d6a8aesmc v4.16b, v4.16b
    0052d6acaese v5.16b, v27.16b
    0052d6b0aesmc v5.16b, v5.16b
    0052d6b4aese v6.16b, v27.16b
    0052d6b8aesmc v6.16b, v6.16b
    0052d6bcaese v7.16b, v27.16b
    0052d6c0aesmc v7.16b, v7.16b
    0052d6c4aese v0.16b, v28.16b
    0052d6c8aese v1.16b, v28.16b
    0052d6ccaese v2.16b, v28.16b
    0052d6d0aese v3.16b, v28.16b
    0052d6d4aese v4.16b, v28.16b
    0052d6d8aese v5.16b, v28.16b
    0052d6dcaese v6.16b, v28.16b
    0052d6e0aese v7.16b, v28.16b
    0052d6e4eor v12.16b, v0.16b, v31.16b
    0052d6e8eor v13.16b, v1.16b, v31.16b
    0052d6eceor v2.16b, v2.16b, v31.16b
    0052d6f0eor v3.16b, v3.16b, v31.16b
    0052d6f4eor v4.16b, v4.16b, v31.16b
    0052d6f8eor v5.16b, v5.16b, v31.16b
    0052d6fceor v6.16b, v6.16b, v31.16b
    0052d700eor v7.16b, v7.16b, v31.16b
    0052d704ld1
    0052d708eor v12.16b, v12.16b, v0.16b
    0052d70ceor v13.16b, v13.16b, v1.16b
    0052d710st1
    0052d714ld1
    0052d718rev64 v0.16b, v0.16b
    0052d71ceor v0.16b, v0.16b, v8.16b
    0052d720ext v11.16b, v0.16b, v0.16b, 8
    0052d724eor v11.16b, v11.16b, v0.16b
    0052d728pmull v9.1q, v12.1d, v0.1d
    0052d72cpmull2 v8.1q, v12.2d, v0.2d
    0052d730pmull v10.1q, v13.1d, v11.1d
    0052d734ld1
    0052d738rev64 v1.16b, v1.16b
    0052d73cext v11.16b, v1.16b, v1.16b, 8
    0052d740eor v11.16b, v11.16b, v1.16b
    0052d744pmull v14.1q, v12.1d, v1.1d
    0052d748eor v9.16b, v9.16b, v14.16b
    0052d74cpmull2 v14.1q, v12.2d, v1.2d
    0052d750eor v8.16b, v8.16b, v14.16b
    0052d754pmull v14.1q, v13.1d, v11.1d
    0052d758eor v10.16b, v10.16b, v14.16b
    0052d75cld1
    0052d760eor v12.16b, v0.16b, v2.16b
    0052d764eor v13.16b, v1.16b, v3.16b
    0052d768st1
    0052d76cld1
    0052d770rev64 v0.16b, v0.16b
    0052d774ext v11.16b, v0.16b, v0.16b, 8
    0052d778eor v11.16b, v11.16b, v0.16b
    0052d77cpmull v14.1q, v12.1d, v0.1d
    0052d780eor v9.16b, v9.16b, v14.16b
    0052d784pmull2 v14.1q, v12.2d, v0.2d
    0052d788eor v8.16b, v8.16b, v14.16b
    0052d78cpmull v14.1q, v13.1d, v11.1d
    0052d790eor v10.16b, v10.16b, v14.16b
    0052d794ld1
    0052d798rev64 v1.16b, v1.16b
    0052d79cext v11.16b, v1.16b, v1.16b, 8
    0052d7a0eor v11.16b, v11.16b, v1.16b
    0052d7a4pmull v14.1q, v12.1d, v1.1d
    0052d7a8eor v9.16b, v9.16b, v14.16b
    0052d7acpmull2 v14.1q, v12.2d, v1.2d
    0052d7b0eor v8.16b, v8.16b, v14.16b
    0052d7b4pmull v14.1q, v13.1d, v11.1d
    0052d7b8eor v10.16b, v10.16b, v14.16b
    0052d7bcld1
    0052d7c0eor v12.16b, v0.16b, v4.16b
    0052d7c4eor v13.16b, v1.16b, v5.16b
    0052d7c8st1
    0052d7ccld1
    0052d7d0rev64 v0.16b, v0.16b
    0052d7d4ext v11.16b, v0.16b, v0.16b, 8
    0052d7d8eor v11.16b, v11.16b, v0.16b
    0052d7dcpmull v14.1q, v12.1d, v0.1d
    0052d7e0eor v9.16b, v9.16b, v14.16b
    0052d7e4pmull2 v14.1q, v12.2d, v0.2d
    0052d7e8eor v8.16b, v8.16b, v14.16b
    0052d7ecpmull v14.1q, v13.1d, v11.1d
    0052d7f0eor v10.16b, v10.16b, v14.16b
    0052d7f4ld1
    0052d7f8rev64 v1.16b, v1.16b
    0052d7fcext v11.16b, v1.16b, v1.16b, 8
    0052d800eor v11.16b, v11.16b, v1.16b
    0052d804pmull v14.1q, v12.1d, v1.1d
    0052d808eor v9.16b, v9.16b, v14.16b
    0052d80cpmull2 v14.1q, v12.2d, v1.2d
    0052d810eor v8.16b, v8.16b, v14.16b
    0052d814pmull v14.1q, v13.1d, v11.1d
    0052d818eor v10.16b, v10.16b, v14.16b
    0052d81cld1
    0052d820eor v12.16b, v0.16b, v6.16b
    0052d824eor v13.16b, v1.16b, v7.16b
    0052d828st1
    0052d82cld1
    0052d830rev64 v0.16b, v0.16b
    0052d834ext v11.16b, v0.16b, v0.16b, 8
    0052d838eor v11.16b, v11.16b, v0.16b
    0052d83cpmull v14.1q, v12.1d, v0.1d
    0052d840eor v9.16b, v9.16b, v14.16b
    0052d844pmull2 v14.1q, v12.2d, v0.2d
    0052d848eor v8.16b, v8.16b, v14.16b
    0052d84cpmull v14.1q, v13.1d, v11.1d
    0052d850eor v10.16b, v10.16b, v14.16b
    0052d854ld1
    0052d858rev64 v1.16b, v1.16b
    0052d85cext v11.16b, v1.16b, v1.16b, 8
    0052d860eor v11.16b, v11.16b, v1.16b
    0052d864pmull v14.1q, v12.1d, v1.1d
    0052d868eor v9.16b, v9.16b, v14.16b
    0052d86cpmull2 v14.1q, v12.2d, v1.2d
    0052d870eor v8.16b, v8.16b, v14.16b
    0052d874pmull v14.1q, v13.1d, v11.1d
    0052d878eor v10.16b, v10.16b, v14.16b
    0052d87cmov x0, x14
    0052d880eor v10.16b, v10.16b, v8.16b
    0052d884eor v10.16b, v10.16b, v9.16b
    0052d888ext v11.16b, v10.16b, v16.16b, 8
    0052d88cext v10.16b, v16.16b, v10.16b, 8
    0052d890eor v8.16b, v8.16b, v10.16b
    0052d894eor v9.16b, v9.16b, v11.16b
    0052d898pmull v11.1q, v8.1d, v15.1d
    0052d89cext v8.16b, v8.16b, v8.16b, 8
    0052d8a0eor v8.16b, v8.16b, v11.16b
    0052d8a4pmull v11.1q, v8.1d, v15.1d
    0052d8a8eor v9.16b, v9.16b, v11.16b
    0052d8acext v9.16b, v9.16b, v9.16b, 8
    0052d8b0eor v8.16b, v8.16b, v9.16b
    0052d8b4subs xzr, x6, 128
    0052d8b8b.ge 0x52d32c
    0052d8bc
    0052d8bcloc_52d8bc:
    0052d8bccbz x6, 0x52db1c
    0052d8c0add x0, x0, 224
    0052d8c4ld1
    0052d8c8add x4, x4, 128
    0052d8ccld1
    0052d8d0orr v31.16b, v29.16b, v29.16b
    0052d8d4tbz w10, 4, 0x52d8ec
    0052d8d8ld1
    0052d8dcorr v31.16b, v2.16b, v2.16b
    0052d8e0tbz w10, 3, 0x52d8ec
    0052d8e4ld1
    0052d8e8orr v31.16b, v4.16b, v4.16b
    0052d8ec
    0052d8ecloc_52d8ec:
    0052d8ecsubs xzr, x6, 16
    0052d8f0b.lt 0x52d9d8
    0052d8f4sub x6, x6, 16
    0052d8f8ld1
    0052d8fcrev64 v5.16b, v11.16b
    0052d900eor v11.16b, v11.16b, v31.16b
    0052d904rev32 v0.16b, v18.16b
    0052d908add v18.4s, v17.4s, v18.4s
    0052d90caese v0.16b, v19.16b
    0052d910aesmc v0.16b, v0.16b
    0052d914aese v0.16b, v20.16b
    0052d918aesmc v0.16b, v0.16b
    0052d91caese v0.16b, v21.16b
    0052d920aesmc v0.16b, v0.16b
    0052d924aese v0.16b, v22.16b
    0052d928aesmc v0.16b, v0.16b
    0052d92caese v0.16b, v23.16b
    0052d930aesmc v0.16b, v0.16b
    0052d934aese v0.16b, v24.16b
    0052d938aesmc v0.16b, v0.16b
    0052d93caese v0.16b, v25.16b
    0052d940aesmc v0.16b, v0.16b
    0052d944aese v0.16b, v26.16b
    0052d948aesmc v0.16b, v0.16b
    0052d94caese v0.16b, v27.16b
    0052d950aesmc v0.16b, v0.16b
    0052d954aese v0.16b, v28.16b
    0052d958tbz w10, 4, 0x52d980
    0052d95caesmc v0.16b, v0.16b
    0052d960aese v0.16b, v29.16b
    0052d964aesmc v0.16b, v0.16b
    0052d968aese v0.16b, v1.16b
    0052d96ctbz w10, 3, 0x52d980
    0052d970aesmc v0.16b, v0.16b
    0052d974aese v0.16b, v2.16b
    0052d978aesmc v0.16b, v0.16b
    0052d97caese v0.16b, v3.16b
    0052d980
    0052d980loc_52d980:
    0052d980eor v0.16b, v0.16b, v11.16b
    0052d984st1
    0052d988eor v5.16b, v5.16b, v8.16b
    0052d98cext v11.16b, v5.16b, v5.16b, 8
    0052d990eor v11.16b, v11.16b, v5.16b
    0052d994pmull v9.1q, v12.1d, v5.1d
    0052d998pmull2 v8.1q, v12.2d, v5.2d
    0052d99cpmull v10.1q, v13.1d, v11.1d
    0052d9a0eor v10.16b, v10.16b, v8.16b
    0052d9a4eor v10.16b, v10.16b, v9.16b
    0052d9a8ext v11.16b, v10.16b, v16.16b, 8
    0052d9acext v10.16b, v16.16b, v10.16b, 8
    0052d9b0eor v8.16b, v8.16b, v10.16b
    0052d9b4eor v9.16b, v9.16b, v11.16b
    0052d9b8pmull v11.1q, v8.1d, v15.1d
    0052d9bcext v8.16b, v8.16b, v8.16b, 8
    0052d9c0eor v8.16b, v8.16b, v11.16b
    0052d9c4pmull v11.1q, v8.1d, v15.1d
    0052d9c8eor v9.16b, v9.16b, v11.16b
    0052d9ccext v9.16b, v9.16b, v9.16b, 8
    0052d9d0eor v8.16b, v8.16b, v9.16b
    0052d9d4b 0x52d8ec
    0052d9d8
    0052d9d8loc_52d9d8:
    0052d9d8cbz x6, 0x52db1c
    0052d9dcrev32 v0.16b, v18.16b
    0052d9e0add v18.4s, v17.4s, v18.4s
    0052d9e4aese v0.16b, v19.16b
    0052d9e8aesmc v0.16b, v0.16b
    0052d9ecaese v0.16b, v20.16b
    0052d9f0aesmc v0.16b, v0.16b
    0052d9f4aese v0.16b, v21.16b
    0052d9f8aesmc v0.16b, v0.16b
    0052d9fcaese v0.16b, v22.16b
    0052da00aesmc v0.16b, v0.16b
    0052da04aese v0.16b, v23.16b
    0052da08aesmc v0.16b, v0.16b
    0052da0caese v0.16b, v24.16b
    0052da10aesmc v0.16b, v0.16b
    0052da14aese v0.16b, v25.16b
    0052da18aesmc v0.16b, v0.16b
    0052da1caese v0.16b, v26.16b
    0052da20aesmc v0.16b, v0.16b
    0052da24aese v0.16b, v27.16b
    0052da28aesmc v0.16b, v0.16b
    0052da2caese v0.16b, v28.16b
    0052da30tbz w10, 4, 0x52da58
    0052da34aesmc v0.16b, v0.16b
    0052da38aese v0.16b, v29.16b
    0052da3caesmc v0.16b, v0.16b
    0052da40aese v0.16b, v1.16b
    0052da44tbz w10, 3, 0x52da58
    0052da48aesmc v0.16b, v0.16b
    0052da4caese v0.16b, v2.16b
    0052da50aesmc v0.16b, v0.16b
    0052da54aese v0.16b, v3.16b
    0052da58
    0052da58loc_52da58:
    0052da58eor v0.16b, v0.16b, v31.16b
    0052da5cld1
    0052da60eor v0.16b, v0.16b, v5.16b
    0052da64eor v14.16b, v14.16b, v14.16b
    0052da68mov x12, xzr
    0052da6csub x12, x12, 1
    0052da70tbz w6, 3, 0x52da84
    0052da74umov x11, v0.d[0]
    0052da78str x11, [x1], 8
    0052da7cins v14.d[0], x12
    0052da80ext v0.16b, v0.16b, v16.16b, 8
    0052da84
    0052da84loc_52da84:
    0052da84tbz w6, 2, 0x52da9c
    0052da88umov w11, v0.s[0]
    0052da8cstr w11, [x1], 4
    0052da90ext v14.16b, v16.16b, v14.16b, 12
    0052da94ins v14.s[0], w12
    0052da98ext v0.16b, v0.16b, v16.16b, 4
    0052da9c
    0052da9cloc_52da9c:
    0052da9ctbz w6, 1, 0x52dab4
    0052daa0umov w11, v0.h[0]
    0052daa4strh w11, [x1], 2
    0052daa8ext v14.16b, v16.16b, v14.16b, 14
    0052daacins v14.h[0], w12
    0052dab0ext v0.16b, v0.16b, v16.16b, 2
    0052dab4
    0052dab4loc_52dab4:
    0052dab4tbz w6, 0, 0x52dac8
    0052dab8umov w11, v0.b[0]
    0052dabcstrb w11, [x1], 1
    0052dac0ext v14.16b, v16.16b, v14.16b, 15
    0052dac4ins v14.b[0], w12
    0052dac8
    0052dac8loc_52dac8:
    0052dac8and v5.16b, v5.16b, v14.16b
    0052daccrev64 v5.16b, v5.16b
    0052dad0eor v5.16b, v5.16b, v8.16b
    0052dad4ext v11.16b, v5.16b, v5.16b, 8
    0052dad8eor v11.16b, v11.16b, v5.16b
    0052dadcpmull v9.1q, v12.1d, v5.1d
    0052dae0pmull2 v8.1q, v12.2d, v5.2d
    0052dae4pmull v10.1q, v13.1d, v11.1d
    0052dae8eor v10.16b, v10.16b, v8.16b
    0052daeceor v10.16b, v10.16b, v9.16b
    0052daf0ext v11.16b, v10.16b, v16.16b, 8
    0052daf4ext v10.16b, v16.16b, v10.16b, 8
    0052daf8eor v8.16b, v8.16b, v10.16b
    0052dafceor v9.16b, v9.16b, v11.16b
    0052db00pmull v11.1q, v8.1d, v15.1d
    0052db04ext v8.16b, v8.16b, v8.16b, 8
    0052db08eor v8.16b, v8.16b, v11.16b
    0052db0cpmull v11.1q, v8.1d, v15.1d
    0052db10eor v9.16b, v9.16b, v11.16b
    0052db14ext v9.16b, v9.16b, v9.16b, 8
    0052db18eor v8.16b, v8.16b, v9.16b
    0052db1c
    0052db1cloc_52db1c:
    0052db1cst1
    0052db20ret x30
    0052db24udf 0
    0052db28udf 0
    0052db2cudf 0
    0052d280
    0052db30
    0052db30crypto/internal/fips140/nistec/fiat.(*P224Element).One: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).One(crypto/internal/fips140/nistec/fiat.P224Element * e)
    0052db30ldr x16, [x28+16]
    0052db34subs xzr, sp, x16
    0052db38b.ls 0x52db74
    0052db3cstr x30, [sp-48]!
    0052db40stur x29, [sp-8]
    0052db44sub x29, sp, 8
    0052db48str x0, [sp+56]
    0052db4cstr xzr, [sp+24]
    0052db50ldr x0, [sp+56]
    0052db54ldrsb x27, [x0]
    0052db58str x0, [sp+32]
    0052db5cbl crypto/internal/fips140/nistec/fiat.p224SetOne
    0052db60ldr x0, [sp+56]
    0052db64str x0, [sp+24]
    0052db68ldur x29, [sp-8]
    0052db6cldr x30, [sp], 48
    0052db70ret x30
    0052db74
    0052db74loc_52db74:
    0052db74str x0, [sp+8]
    0052db78mov x3, x30
    0052db7cbl runtime.morestack_noctxt.abi0
    0052db80ldr x0, [sp+8]
    0052db84b 0x52db30
    0052db88udf 0
    0052db8cudf 0
    0052db30
    0052db90
    0052db90crypto/internal/fips140/nistec/fiat.(*P224Element).Equal: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).Equal(crypto/internal/fips140/nistec/fiat.P224Element * e, crypto/internal/fips140/nistec/fiat.P224Element * t)
    0052db90ldr x16, [x28+16]
    0052db94subs xzr, sp, x16
    0052db98b.ls 0x52dc20
    0052db9cstr x30, [sp-128]!
    0052dba0stur x29, [sp-8]
    0052dba4sub x29, sp, 8
    0052dba8str x0, [sp+136]
    0052dbacstr x1, [sp+144]
    0052dbb0str xzr, [sp+56]
    0052dbb4bl crypto/internal/fips140/nistec/fiat.(*P224Element).Bytes
    0052dbb8str x0, [sp+96]
    0052dbbcstr x1, [sp+104]
    0052dbc0str x2, [sp+112]
    0052dbc4ldr x0, [sp+144]
    0052dbc8bl crypto/internal/fips140/nistec/fiat.(*P224Element).Bytes
    0052dbccstr x0, [sp+72]
    0052dbd0str x1, [sp+80]
    0052dbd4str x2, [sp+88]
    0052dbd8ldr x3, [sp+96]
    0052dbdcldr x4, [sp+104]
    0052dbe0ldr x5, [sp+112]
    0052dbe4mov x6, x0
    0052dbe8mov x0, x3
    0052dbecmov x7, x1
    0052dbf0mov x1, x4
    0052dbf4mov x8, x2
    0052dbf8mov x2, x5
    0052dbfcmov x3, x6
    0052dc00mov x4, x7
    0052dc04mov x5, x8
    0052dc08bl crypto/internal/fips140/subtle.ConstantTimeCompare
    0052dc0cstr x0, [sp+64]
    0052dc10str x0, [sp+56]
    0052dc14ldur x29, [sp-8]
    0052dc18ldr x30, [sp], 128
    0052dc1cret x30
    0052dc20
    0052dc20loc_52dc20:
    0052dc20stp x0, x1, [sp+8]
    0052dc24mov x3, x30
    0052dc28bl runtime.morestack_noctxt.abi0
    0052dc2cldp x0, x1, [sp+8]
    0052dc30b 0x52db90
    0052dc34udf 0
    0052dc38udf 0
    0052dc3cudf 0
    0052db90
    0052dc40
    0052dc40crypto/internal/fips140/nistec/fiat.(*P224Element).IsZero: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).IsZero(crypto/internal/fips140/nistec/fiat.P224Element * e)
    0052dc40ldr x16, [x28+16]
    0052dc44sub x17, sp, 32
    0052dc48subs xzr, x17, x16
    0052dc4cb.ls 0x52dcc8
    0052dc50str x30, [sp-160]!
    0052dc54stur x29, [sp-8]
    0052dc58sub x29, sp, 8
    0052dc5cstr x0, [sp+168]
    0052dc60str xzr, [sp+88]
    0052dc64b 0x52dc68
    0052dc68
    0052dc68loc_52dc68:
    0052dc68add x27, sp, 60
    0052dc6cstp xzr, xzr, [x27]
    0052dc70stp xzr, xzr, [sp+72]
    0052dc74add x1, sp, 60
    0052dc78ldrsb x27, [x1]
    0052dc7cb 0x52dc80
    0052dc80
    0052dc80loc_52dc80:
    0052dc80str x1, [sp+104]
    0052dc84orr x1, xzr, 28
    0052dc88str x1, [sp+112]
    0052dc8cstr x1, [sp+120]
    0052dc90ldr x0, [sp+168]
    0052dc94bl crypto/internal/fips140/nistec/fiat.(*P224Element).Bytes
    0052dc98str x0, [sp+128]
    0052dc9cstr x1, [sp+136]
    0052dca0str x2, [sp+144]
    0052dca4ldr x4, [sp+112]
    0052dca8ldr x5, [sp+120]
    0052dcacldr x3, [sp+104]
    0052dcb0bl crypto/internal/fips140/subtle.ConstantTimeCompare
    0052dcb4str x0, [sp+96]
    0052dcb8str x0, [sp+88]
    0052dcbcldur x29, [sp-8]
    0052dcc0ldr x30, [sp], 160
    0052dcc4ret x30
    0052dcc8
    0052dcc8loc_52dcc8:
    0052dcc8str x0, [sp+8]
    0052dcccmov x3, x30
    0052dcd0bl runtime.morestack_noctxt.abi0
    0052dcd4ldr x0, [sp+8]
    0052dcd8b 0x52dc40
    0052dcdcudf 0
    0052dc40
    0052dce0
    0052dce0crypto/internal/fips140/nistec/fiat.(*P224Element).Set: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).Set(crypto/internal/fips140/nistec/fiat.P224Element * e, crypto/internal/fips140/nistec/fiat.P224Element * t)
    0052dce0str x30, [sp-32]!
    0052dce4stur x29, [sp-8]
    0052dce8sub x29, sp, 8
    0052dcecstr x0, [sp+40]
    0052dcf0str x1, [sp+48]
    0052dcf4str xzr, [sp+16]
    0052dcf8ldr x1, [sp+40]
    0052dcfcldrsb x27, [x1]
    0052dd00ldr x2, [sp+48]
    0052dd04ldrsb x27, [x2]
    0052dd08ldp x3, x4, [x2]
    0052dd0cldp x2, x5, [x2+16]
    0052dd10stp x3, x4, [x1]
    0052dd14stp x2, x5, [x1+16]
    0052dd18ldr x0, [sp+40]
    0052dd1cstr x0, [sp+16]
    0052dd20add x29, sp, 24
    0052dd24add sp, sp, 32
    0052dd28ret x30
    0052dd2cudf 0
    0052dce0
    0052dd30
    0052dd30crypto/internal/fips140/nistec/fiat.(*P224Element).Bytes: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).Bytes(crypto/internal/fips140/nistec/fiat.P224Element * e)
    0052dd30ldr x16, [x28+16]
    0052dd34subs xzr, sp, x16
    0052dd38b.ls 0x52dda0
    0052dd3cstr x30, [sp-96]!
    0052dd40stur x29, [sp-8]
    0052dd44sub x29, sp, 8
    0052dd48str x0, [sp+104]
    0052dd4cstr xzr, [sp+32]
    0052dd50stp xzr, xzr, [sp+40]
    0052dd54adrp x0, 0xd6000
    0052dd58add x0, x0, 0
    0052dd5cbl runtime.newobject
    0052dd60str x0, [sp+80]
    0052dd64stp xzr, xzr, [x0]
    0052dd68add x27, x0, 12
    0052dd6cstp xzr, xzr, [x27]
    0052dd70ldr x0, [sp+104]
    0052dd74ldr x1, [sp+80]
    0052dd78bl crypto/internal/fips140/nistec/fiat.(*P224Element).bytes
    0052dd7cstr x0, [sp+56]
    0052dd80str x1, [sp+64]
    0052dd84str x2, [sp+72]
    0052dd88str x0, [sp+32]
    0052dd8cstr x1, [sp+40]
    0052dd90str x2, [sp+48]
    0052dd94ldur x29, [sp-8]
    0052dd98ldr x30, [sp], 96
    0052dd9cret x30
    0052dda0
    0052dda0loc_52dda0:
    0052dda0str x0, [sp+8]
    0052dda4mov x3, x30
    0052dda8bl runtime.morestack_noctxt.abi0
    0052ddacldr x0, [sp+8]
    0052ddb0b 0x52dd30
    0052ddb4udf 0
    0052ddb8udf 0
    0052ddbcudf 0
    0052dd30
    0052ddc0
    0052ddc0crypto/internal/fips140/nistec/fiat.(*P224Element).bytes: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).bytes(crypto/internal/fips140/nistec/fiat.P224Element * e, uint8[28] * out)
    0052ddc0ldr x16, [x28+16]
    0052ddc4subs xzr, sp, x16
    0052ddc8b.ls 0x52de70
    0052ddccstr x30, [sp-128]!
    0052ddd0stur x29, [sp-8]
    0052ddd4sub x29, sp, 8
    0052ddd8str x0, [sp+136]
    0052dddcstr x1, [sp+144]
    0052dde0str xzr, [sp+64]
    0052dde4stp xzr, xzr, [sp+72]
    0052dde8stp xzr, xzr, [sp+32]
    0052ddecstp xzr, xzr, [sp+48]
    0052ddf0ldr x1, [sp+136]
    0052ddf4ldrsb x27, [x1]
    0052ddf8str x1, [sp+88]
    0052ddfcadd x0, sp, 32
    0052de00bl crypto/internal/fips140/nistec/fiat.p224FromMontgomery
    0052de04ldr x0, [sp+144]
    0052de08add x1, sp, 32
    0052de0cbl crypto/internal/fips140/nistec/fiat.p224ToBytes
    0052de10ldr x0, [sp+144]
    0052de14ldrsb x27, [x0]
    0052de18b 0x52de1c
    0052de1c
    0052de1cloc_52de1c:
    0052de1cstr x0, [sp+96]
    0052de20orr x2, xzr, 28
    0052de24str x2, [sp+104]
    0052de28str x2, [sp+112]
    0052de2cmov x1, x2
    0052de30bl crypto/internal/fips140/nistec/fiat.p224InvertEndianness
    0052de34ldr x3, [sp+144]
    0052de38ldrsb x27, [x3]
    0052de3cb 0x52de40
    0052de40
    0052de40loc_52de40:
    0052de40str x3, [sp+96]
    0052de44orr x2, xzr, 28
    0052de48str x2, [sp+104]
    0052de4cstr x2, [sp+112]
    0052de50str x3, [sp+64]
    0052de54str x2, [sp+72]
    0052de58str x2, [sp+80]
    0052de5cldr x0, [sp+64]
    0052de60mov x1, x2
    0052de64ldur x29, [sp-8]
    0052de68ldr x30, [sp], 128
    0052de6cret x30
    0052de70
    0052de70loc_52de70:
    0052de70stp x0, x1, [sp+8]
    0052de74mov x3, x30
    0052de78bl runtime.morestack_noctxt.abi0
    0052de7cldp x0, x1, [sp+8]
    0052de80b 0x52ddc0
    0052de84udf 0
    0052de88udf 0
    0052de8cudf 0
    0052ddc0
    0052de90
    0052de90crypto/internal/fips140/nistec/fiat.(*P224Element).SetBytes: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).SetBytes(crypto/internal/fips140/nistec/fiat.P224Element * e, struct []uint8 v)
    0052de90ldr x16, [x28+16]
    0052de94sub x17, sp, 304
    0052de98subs xzr, x17, x16
    0052de9cb.ls 0x52e19c
    0052dea0sub x20, sp, 432
    0052dea4stp x29, x30, [x20-8]
    0052dea8add sp, x20, 0
    0052deacsub x29, sp, 8
    0052deb0str x0, [sp+440]
    0052deb4str x1, [sp+448]
    0052deb8str x2, [sp+456]
    0052debcstr x3, [sp+464]
    0052dec0str xzr, [sp+256]
    0052dec4stp xzr, xzr, [sp+240]
    0052dec8ldr x2, [sp+456]
    0052deccstr x2, [sp+104]
    0052ded0subs xzr, x2, 28
    0052ded4b.ne 0x52dedc
    0052ded8b 0x52df18
    0052dedc
    0052dedcloc_52dedc:
    0052dedcadrp x0, 0x18f000
    0052dee0add x0, x0, 344
    0052dee4orr x1, xzr, 28
    0052dee8bl errors.New
    0052deecstr x0, [sp+288]
    0052def0str x1, [sp+296]
    0052def4str xzr, [sp+256]
    0052def8ldr x1, [sp+288]
    0052defcldr x2, [sp+296]
    0052df00str x1, [sp+240]
    0052df04str x2, [sp+248]
    0052df08ldr x0, [sp+256]
    0052df0cldp x29, x30, [sp-8]
    0052df10add sp, sp, 432
    0052df14ret x30
    0052df18
    0052df18loc_52df18:
    0052df18stp xzr, xzr, [sp+208]
    0052df1cstp xzr, xzr, [sp+224]
    0052df20add x1, sp, 208
    0052df24str x1, [sp+416]
    0052df28stp xzr, xzr, [sp+176]
    0052df2cstp xzr, xzr, [sp+192]
    0052df30add x1, sp, 176
    0052df34str x1, [sp+408]
    0052df38stp xzr, xzr, [sp+144]
    0052df3cstp xzr, xzr, [sp+160]
    0052df40add x0, sp, 144
    0052df44str x0, [sp+400]
    0052df48bl crypto/internal/fips140/nistec/fiat.(*P224Element).One
    0052df4cstr x0, [sp+392]
    0052df50ldr x1, [sp+408]
    0052df54ldr x2, [sp+416]
    0052df58mov x3, x0
    0052df5cmov x0, x2
    0052df60mov x2, x3
    0052df64bl crypto/internal/fips140/nistec/fiat.(*P224Element).Sub
    0052df68str x0, [sp+384]
    0052df6cbl crypto/internal/fips140/nistec/fiat.(*P224Element).Bytes
    0052df70str x0, [sp+264]
    0052df74str x1, [sp+272]
    0052df78str x2, [sp+280]
    0052df7cstr xzr, [sp+136]
    0052df80ldr x1, [sp+456]
    0052df84str x1, [sp+128]
    0052df88b 0x52df8c
    0052df8c
    0052df8cloc_52df8c:
    0052df8cldr x3, [sp+128]
    0052df90ldr x4, [sp+136]
    0052df94subs xzr, x3, x4
    0052df98b.gt 0x52dfa0
    0052df9cb 0x52e074
    0052dfa0
    0052dfa0loc_52dfa0:
    0052dfa0ldr x0, [sp+136]
    0052dfa4str x0, [sp+96]
    0052dfa8ldr x1, [sp+456]
    0052dfacldr x3, [sp+448]
    0052dfb0subs xzr, x1, x0
    0052dfb4b.hi 0x52dfbc
    0052dfb8b 0x52e194
    0052dfbc
    0052dfbcloc_52dfbc:
    0052dfbcldrb w3, [x3+x0]
    0052dfc0ldr x1, [sp+272]
    0052dfc4ldr x4, [sp+264]
    0052dfc8subs xzr, x1, x0
    0052dfccb.hi 0x52dfd4
    0052dfd0b 0x52e190
    0052dfd4
    0052dfd4loc_52dfd4:
    0052dfd4ldrb w4, [x4+x0]
    0052dfd8subs wzr, w3, w4
    0052dfdcb.lo 0x52dfe4
    0052dfe0b 0x52dfe8
    0052dfe4
    0052dfe4loc_52dfe4:
    0052dfe4b 0x52e078
    0052dfe8
    0052dfe8loc_52dfe8:
    0052dfe8ldr x1, [sp+456]
    0052dfecldr x3, [sp+448]
    0052dff0subs xzr, x1, x0
    0052dff4b.hi 0x52dffc
    0052dff8b 0x52e18c
    0052dffc
    0052dffcloc_52dffc:
    0052dffcldrb w3, [x3+x0]
    0052e000ldr x1, [sp+272]
    0052e004ldr x4, [sp+264]
    0052e008subs xzr, x1, x0
    0052e00cb.hi 0x52e014
    0052e010b 0x52e188
    0052e014
    0052e014loc_52e014:
    0052e014ldrb w4, [x4+x0]
    0052e018subs wzr, w4, w3
    0052e01cb.lo 0x52e024
    0052e020b 0x52e060
    0052e024
    0052e024loc_52e024:
    0052e024adrp x0, 0x18e000
    0052e028add x0, x0, 344
    0052e02corr x1, xzr, 28
    0052e030bl errors.New
    0052e034str x0, [sp+288]
    0052e038str x1, [sp+296]
    0052e03cstr xzr, [sp+256]
    0052e040ldr x1, [sp+288]
    0052e044ldr x2, [sp+296]
    0052e048str x1, [sp+240]
    0052e04cstr x2, [sp+248]
    0052e050ldr x0, [sp+256]
    0052e054ldp x29, x30, [sp-8]
    0052e058add sp, sp, 432
    0052e05cret x30
    0052e060
    0052e060loc_52e060:
    0052e060b 0x52e064
    0052e064
    0052e064loc_52e064:
    0052e064ldr x3, [sp+136]
    0052e068add x3, x3, 1
    0052e06cstr x3, [sp+136]
    0052e070b 0x52df8c
    0052e074
    0052e074loc_52e074:
    0052e074b 0x52e078
    0052e078
    0052e078loc_52e078:
    0052e078add x27, sp, 36
    0052e07cstp xzr, xzr, [x27]
    0052e080stp xzr, xzr, [sp+48]
    0052e084add x3, sp, 36
    0052e088ldrsb x27, [x3]
    0052e08cb 0x52e090
    0052e090
    0052e090loc_52e090:
    0052e090str x3, [sp+360]
    0052e094orr x2, xzr, 28
    0052e098str x2, [sp+368]
    0052e09cstr x2, [sp+376]
    0052e0a0str x3, [sp+336]
    0052e0a4str x2, [sp+344]
    0052e0a8str x2, [sp+352]
    0052e0acldr x3, [sp+456]
    0052e0b0ldr x4, [sp+448]
    0052e0b4ldr x5, [sp+464]
    0052e0b8str x4, [sp+312]
    0052e0bcstr x3, [sp+320]
    0052e0c0str x5, [sp+328]
    0052e0c4ldr x4, [sp+344]
    0052e0c8str x4, [sp+120]
    0052e0ccsubs xzr, x4, x3
    0052e0d0b.gt 0x52e0d8
    0052e0d4b 0x52e0e0
    0052e0d8
    0052e0d8loc_52e0d8:
    0052e0d8str x3, [sp+120]
    0052e0dcb 0x52e0e4
    0052e0e0
    0052e0e0loc_52e0e0:
    0052e0e0b 0x52e0e4
    0052e0e4
    0052e0e4loc_52e0e4:
    0052e0e4ldr x3, [sp+312]
    0052e0e8ldr x4, [sp+336]
    0052e0ecsubs xzr, x3, x4
    0052e0f0b.ne 0x52e0f8
    0052e0f4b 0x52e114
    0052e0f8
    0052e0f8loc_52e0f8:
    0052e0f8ldr x3, [sp+120]
    0052e0fcstr x3, [sp+112]
    0052e100ldr x2, [sp+112]
    0052e104ldr x1, [sp+312]
    0052e108ldr x0, [sp+336]
    0052e10cbl runtime.memmove
    0052e110b 0x52e118
    0052e114
    0052e114loc_52e114:
    0052e114b 0x52e118
    0052e118
    0052e118loc_52e118:
    0052e118add x0, sp, 36
    0052e11cldrsb x27, [x0]
    0052e120b 0x52e124
    0052e124
    0052e124loc_52e124:
    0052e124str x0, [sp+360]
    0052e128orr x2, xzr, 28
    0052e12cstr x2, [sp+368]
    0052e130str x2, [sp+376]
    0052e134mov x1, x2
    0052e138bl crypto/internal/fips140/nistec/fiat.p224InvertEndianness
    0052e13cstp xzr, xzr, [sp+64]
    0052e140stp xzr, xzr, [sp+80]
    0052e144add x0, sp, 64
    0052e148add x1, sp, 36
    0052e14cbl crypto/internal/fips140/nistec/fiat.p224FromBytes
    0052e150ldr x0, [sp+440]
    0052e154ldrsb x27, [x0]
    0052e158str x0, [sp+304]
    0052e15cadd x1, sp, 64
    0052e160bl crypto/internal/fips140/nistec/fiat.p224ToMontgomery
    0052e164ldr x3, [sp+440]
    0052e168str x3, [sp+256]
    0052e16cstp xzr, xzr, [sp+240]
    0052e170ldr x0, [sp+256]
    0052e174mov x1, xzr
    0052e178mov x2, xzr
    0052e17cldp x29, x30, [sp-8]
    0052e180add sp, sp, 432
    0052e184ret x30
    0052e188
    0052e188loc_52e188:
    0052e188bl runtime.panicIndex
    0052e18c
    0052e18cloc_52e18c:
    0052e18cbl runtime.panicIndex
    0052e190
    0052e190loc_52e190:
    0052e190bl runtime.panicIndex
    0052e194
    0052e194loc_52e194:
    0052e194bl runtime.panicIndex
    0052e198hint
    0052e19c
    0052e19cloc_52e19c:
    0052e19cstp x0, x1, [sp+8]
    0052e1a0stp x2, x3, [sp+24]
    0052e1a4mov x3, x30
    0052e1a8bl runtime.morestack_noctxt.abi0
    0052e1acldp x0, x1, [sp+8]
    0052e1b0ldp x2, x3, [sp+24]
    0052e1b4b 0x52de90
    0052e1b8udf 0
    0052e1bcudf 0
    0052de90
    0052e1c0
    0052e1c0crypto/internal/fips140/nistec/fiat.(*P224Element).Add: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).Add(crypto/internal/fips140/nistec/fiat.P224Element * e, crypto/internal/fips140/nistec/fiat.P224Element * t1, crypto/internal/fips140/nistec/fiat.P224Element * t2)
    0052e1c0ldr x16, [x28+16]
    0052e1c4subs xzr, sp, x16
    0052e1c8b.ls 0x52e22c
    0052e1ccstr x30, [sp-80]!
    0052e1d0stur x29, [sp-8]
    0052e1d4sub x29, sp, 8
    0052e1d8str x0, [sp+88]
    0052e1dcstr x1, [sp+96]
    0052e1e0str x2, [sp+104]
    0052e1e4str xzr, [sp+40]
    0052e1e8ldr x3, [sp+88]
    0052e1ecldrsb x27, [x3]
    0052e1f0str x3, [sp+64]
    0052e1f4ldr x3, [sp+96]
    0052e1f8ldrsb x27, [x3]
    0052e1fcstr x3, [sp+56]
    0052e200ldr x2, [sp+104]
    0052e204ldrsb x27, [x2]
    0052e208str x2, [sp+48]
    0052e20cldr x0, [sp+64]
    0052e210ldr x1, [sp+56]
    0052e214bl crypto/internal/fips140/nistec/fiat.p224Add
    0052e218ldr x0, [sp+88]
    0052e21cstr x0, [sp+40]
    0052e220ldur x29, [sp-8]
    0052e224ldr x30, [sp], 80
    0052e228ret x30
    0052e22c
    0052e22cloc_52e22c:
    0052e22cstp x0, x1, [sp+8]
    0052e230str x2, [sp+24]
    0052e234mov x3, x30
    0052e238bl runtime.morestack_noctxt.abi0
    0052e23cldp x0, x1, [sp+8]
    0052e240ldr x2, [sp+24]
    0052e244b 0x52e1c0
    0052e248udf 0
    0052e24cudf 0
    0052e1c0
    0052e250
    0052e250crypto/internal/fips140/nistec/fiat.(*P224Element).Sub: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).Sub(crypto/internal/fips140/nistec/fiat.P224Element * e, crypto/internal/fips140/nistec/fiat.P224Element * t1, crypto/internal/fips140/nistec/fiat.P224Element * t2)
    0052e250ldr x16, [x28+16]
    0052e254subs xzr, sp, x16
    0052e258b.ls 0x52e2bc
    0052e25cstr x30, [sp-80]!
    0052e260stur x29, [sp-8]
    0052e264sub x29, sp, 8
    0052e268str x0, [sp+88]
    0052e26cstr x1, [sp+96]
    0052e270str x2, [sp+104]
    0052e274str xzr, [sp+40]
    0052e278ldr x3, [sp+88]
    0052e27cldrsb x27, [x3]
    0052e280str x3, [sp+64]
    0052e284ldr x3, [sp+96]
    0052e288ldrsb x27, [x3]
    0052e28cstr x3, [sp+56]
    0052e290ldr x2, [sp+104]
    0052e294ldrsb x27, [x2]
    0052e298str x2, [sp+48]
    0052e29cldr x0, [sp+64]
    0052e2a0ldr x1, [sp+56]
    0052e2a4bl crypto/internal/fips140/nistec/fiat.p224Sub
    0052e2a8ldr x0, [sp+88]
    0052e2acstr x0, [sp+40]
    0052e2b0ldur x29, [sp-8]
    0052e2b4ldr x30, [sp], 80
    0052e2b8ret x30
    0052e2bc
    0052e2bcloc_52e2bc:
    0052e2bcstp x0, x1, [sp+8]
    0052e2c0str x2, [sp+24]
    0052e2c4mov x3, x30
    0052e2c8bl runtime.morestack_noctxt.abi0
    0052e2ccldp x0, x1, [sp+8]
    0052e2d0ldr x2, [sp+24]
    0052e2d4b 0x52e250
    0052e2d8udf 0
    0052e2dcudf 0
    0052e250
    0052e2e0
    0052e2e0crypto/internal/fips140/nistec/fiat.(*P224Element).Mul: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).Mul(crypto/internal/fips140/nistec/fiat.P224Element * e, crypto/internal/fips140/nistec/fiat.P224Element * t1, crypto/internal/fips140/nistec/fiat.P224Element * t2)
    0052e2e0ldr x16, [x28+16]
    0052e2e4subs xzr, sp, x16
    0052e2e8b.ls 0x52e34c
    0052e2ecstr x30, [sp-80]!
    0052e2f0stur x29, [sp-8]
    0052e2f4sub x29, sp, 8
    0052e2f8str x0, [sp+88]
    0052e2fcstr x1, [sp+96]
    0052e300str x2, [sp+104]
    0052e304str xzr, [sp+40]
    0052e308ldr x3, [sp+88]
    0052e30cldrsb x27, [x3]
    0052e310str x3, [sp+64]
    0052e314ldr x3, [sp+96]
    0052e318ldrsb x27, [x3]
    0052e31cstr x3, [sp+56]
    0052e320ldr x2, [sp+104]
    0052e324ldrsb x27, [x2]
    0052e328str x2, [sp+48]
    0052e32cldr x0, [sp+64]
    0052e330ldr x1, [sp+56]
    0052e334bl crypto/internal/fips140/nistec/fiat.p224Mul
    0052e338ldr x0, [sp+88]
    0052e33cstr x0, [sp+40]
    0052e340ldur x29, [sp-8]
    0052e344ldr x30, [sp], 80
    0052e348ret x30
    0052e34c
    0052e34cloc_52e34c:
    0052e34cstp x0, x1, [sp+8]
    0052e350str x2, [sp+24]
    0052e354mov x3, x30
    0052e358bl runtime.morestack_noctxt.abi0
    0052e35cldp x0, x1, [sp+8]
    0052e360ldr x2, [sp+24]
    0052e364b 0x52e2e0
    0052e368udf 0
    0052e36cudf 0
    0052e2e0
    0052e370
    0052e370crypto/internal/fips140/nistec/fiat.(*P224Element).Square: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).Square(crypto/internal/fips140/nistec/fiat.P224Element * e, crypto/internal/fips140/nistec/fiat.P224Element * t)
    0052e370ldr x16, [x28+16]
    0052e374subs xzr, sp, x16
    0052e378b.ls 0x52e3c8
    0052e37cstr x30, [sp-64]!
    0052e380stur x29, [sp-8]
    0052e384sub x29, sp, 8
    0052e388str x0, [sp+72]
    0052e38cstr x1, [sp+80]
    0052e390str xzr, [sp+32]
    0052e394ldr x2, [sp+72]
    0052e398ldrsb x27, [x2]
    0052e39cstr x2, [sp+48]
    0052e3a0ldr x1, [sp+80]
    0052e3a4ldrsb x27, [x1]
    0052e3a8str x1, [sp+40]
    0052e3acldr x0, [sp+48]
    0052e3b0bl crypto/internal/fips140/nistec/fiat.p224Square
    0052e3b4ldr x0, [sp+72]
    0052e3b8str x0, [sp+32]
    0052e3bcldur x29, [sp-8]
    0052e3c0ldr x30, [sp], 64
    0052e3c4ret x30
    0052e3c8
    0052e3c8loc_52e3c8:
    0052e3c8stp x0, x1, [sp+8]
    0052e3ccmov x3, x30
    0052e3d0bl runtime.morestack_noctxt.abi0
    0052e3d4ldp x0, x1, [sp+8]
    0052e3d8b 0x52e370
    0052e3dcudf 0
    0052e370
    0052e3e0
    0052e3e0crypto/internal/fips140/nistec/fiat.(*P224Element).Select: ; void crypto/internal/fips140/nistec/fiat.(*P224Element).Select(crypto/internal/fips140/nistec/fiat.P224Element * v, crypto/internal/fips140/nistec/fiat.P224Element * a, crypto/internal/fips140/nistec/fiat.P224Element * b, int cond)
    0052e3e0ldr x16, [x28+16]
    0052e3e4subs xzr, sp, x16
    0052e3e8b.ls 0x52e458
    0052e3ecstr x30, [sp-80]!
    0052e3f0stur x29, [sp-8]
    0052e3f4sub x29, sp, 8
    0052e3f8str x0, [sp+88]
    0052e3fcstr x1, [sp+96]
    0052e400str x2, [sp+104]
    0052e404str x3, [sp+112]
    0052e408str xzr, [sp+40]
    0052e40cldr x4, [sp+88]
    0052e410ldrsb x27, [x4]
    0052e414str x4, [sp+64]
    0052e418ldr x4, [sp+104]
    0052e41cldrsb x27, [x4]
    0052e420str x4, [sp+56]
    0052e424ldr x4, [sp+96]
    0052e428ldrsb x27, [x4]
    0052e42cstr x4, [sp+48]
    0052e430ldr x0, [sp+64]
    0052e434ldr x2, [sp+56]
    0052e438ldr x3, [sp+48]
    0052e43cldr x1, [sp+112]
    0052e440bl crypto/internal/fips140/nistec/fiat.p224Selectznz
    0052e444ldr x0, [sp+88]
    0052e448str x0, [sp+40]
    0052e44cldur x29, [sp-8]
    0052e450ldr x30, [sp], 80
    0052e454ret x30
    0052e458
    0052e458loc_52e458:
    0052e458stp x0, x1, [sp+8]
    0052e45cstp x2, x3, [sp+24]
    0052e460mov x3, x30
    0052e464bl runtime.morestack_noctxt.abi0
    0052e468ldp x0, x1, [sp+8]
    0052e46cldp x2, x3, [sp+24]
    0052e470b 0x52e3e0
    0052e474udf 0
    0052e478udf 0
    0052e47cudf 0
    0052e3e0
    0052e480
    0052e480crypto/internal/fips140/nistec/fiat.p224InvertEndianness: ; void crypto/internal/fips140/nistec/fiat.p224InvertEndianness(struct []uint8 v)
    0052e480ldr x16, [x28+16]
    0052e484subs xzr, sp, x16
    0052e488b.ls 0x52e5a0
    0052e48cstr x30, [sp-80]!
    0052e490stur x29, [sp-8]
    0052e494sub x29, sp, 8
    0052e498str x0, [sp+88]
    0052e49cstr x1, [sp+96]
    0052e4a0str x2, [sp+104]
    0052e4a4str xzr, [sp+32]
    0052e4a8b 0x52e4ac
    0052e4ac
    0052e4acloc_52e4ac:
    0052e4acldr x2, [sp+96]
    0052e4b0str x2, [sp+64]
    0052e4b4ldr x3, [sp+32]
    0052e4b8subs xzr, x3, x2, lsr #1
    0052e4bcb.lt 0x52e4c4
    0052e4c0b 0x52e57c
    0052e4c4
    0052e4c4loc_52e4c4:
    0052e4c4ldr x2, [sp+96]
    0052e4c8str x2, [sp+56]
    0052e4ccldr x2, [sp+96]
    0052e4d0str x2, [sp+48]
    0052e4d4ldr x0, [sp+32]
    0052e4d8ldr x1, [sp+96]
    0052e4dcldr x2, [sp+88]
    0052e4e0subs xzr, x0, x1
    0052e4e4b.lo 0x52e4ec
    0052e4e8b 0x52e598
    0052e4ec
    0052e4ecloc_52e4ec:
    0052e4ecldrb w2, [x2+x0]
    0052e4f0strb w2, [sp+31]
    0052e4f4ldr x1, [sp+96]
    0052e4f8ldr x2, [sp+88]
    0052e4fcldr x3, [sp+48]
    0052e500ldr x4, [sp+32]
    0052e504sub x3, x3, x4
    0052e508sub x0, x3, 1
    0052e50csubs xzr, x1, x0
    0052e510b.hi 0x52e518
    0052e514b 0x52e594
    0052e518
    0052e518loc_52e518:
    0052e518ldr x3, [sp+32]
    0052e51cldr x1, [sp+96]
    0052e520ldr x4, [sp+88]
    0052e524ldrb w2, [x2+x0]
    0052e528subs xzr, x1, x3
    0052e52cb.hi 0x52e534
    0052e530b 0x52e58c
    0052e534
    0052e534loc_52e534:
    0052e534strb w2, [x4+x3]
    0052e538ldr x2, [sp+56]
    0052e53cldr x3, [sp+32]
    0052e540sub x2, x2, x3
    0052e544sub x0, x2, 1
    0052e548str x0, [sp+40]
    0052e54cldr x1, [sp+96]
    0052e550ldr x2, [sp+88]
    0052e554ldrb w3, [sp+31]
    0052e558subs xzr, x1, x0
    0052e55cb.hi 0x52e564
    0052e560b 0x52e588
    0052e564
    0052e564loc_52e564:
    0052e564strb w3, [x2+x0]
    0052e568b 0x52e56c
    0052e56c
    0052e56cloc_52e56c:
    0052e56cldr x2, [sp+32]
    0052e570add x2, x2, 1
    0052e574str x2, [sp+32]
    0052e578b 0x52e4ac
    0052e57c
    0052e57cloc_52e57c:
    0052e57cldur x29, [sp-8]
    0052e580ldr x30, [sp], 80
    0052e584ret x30
    0052e588
    0052e588loc_52e588:
    0052e588bl runtime.panicIndex
    0052e58c
    0052e58cloc_52e58c:
    0052e58cmov x0, x3
    0052e590bl runtime.panicIndex
    0052e594
    0052e594loc_52e594:
    0052e594bl runtime.panicIndex
    0052e598
    0052e598loc_52e598:
    0052e598bl runtime.panicIndex
    0052e59chint
    0052e5a0
    0052e5a0loc_52e5a0:
    0052e5a0stp x0, x1, [sp+8]
    0052e5a4str x2, [sp+24]
    0052e5a8mov x3, x30
    0052e5acbl runtime.morestack_noctxt.abi0
    0052e5b0ldp x0, x1, [sp+8]
    0052e5b4ldr x2, [sp+24]
    0052e5b8b 0x52e480
    0052e5bcudf 0
    0052e480
    0052e5c0
    0052e5c0crypto/internal/fips140/nistec/fiat.p224CmovznzU64: ; void crypto/internal/fips140/nistec/fiat.p224CmovznzU64(uint64 * out1, crypto/internal/fips140/nistec/fiat.p224Uint1 arg1, uint64 arg2, uint64 arg3)
    0052e5c0str x30, [sp-32]!
    0052e5c4stur x29, [sp-8]
    0052e5c8sub x29, sp, 8
    0052e5ccstr x0, [sp+40]
    0052e5d0str x1, [sp+48]
    0052e5d4str x2, [sp+56]
    0052e5d8str x3, [sp+64]
    0052e5dcsub x0, xzr, x1
    0052e5e0str x0, [sp+16]
    0052e5e4and x1, x0, x3
    0052e5e8bic x0, x2, x0
    0052e5ecorr x0, x1, x0
    0052e5f0str x0, [sp+8]
    0052e5f4ldr x1, [sp+40]
    0052e5f8ldrsb x27, [x1]
    0052e5fcstr x0, [x1]
    0052e600add x29, sp, 24
    0052e604add sp, sp, 32
    0052e608ret x30
    0052e60cudf 0
    0052e5c0
    0052e610
    0052e610crypto/internal/fips140/nistec/fiat.p224Mul: ; void crypto/internal/fips140/nistec/fiat.p224Mul(crypto/internal/fips140/nistec/fiat.p224MontgomeryDomainFieldElement * out1, crypto/internal/fips140/nistec/fiat.p224MontgomeryDomainFieldElement * arg1, crypto/internal/fips140/nistec/fiat.p224MontgomeryDomainFieldElement * arg2)
    0052e610ldr x16, [x28+16]
    0052e614sub x17, sp, 3088
    0052e618subs xzr, x17, x16
    0052e61cb.ls 0x52fdf4
    0052e620sub x20, sp, 3216
    0052e624stp x29, x30, [x20-8]
    0052e628add sp, x20, 0
    0052e62csub x29, sp, 8
    0052e630str x0, [sp+3224]
    0052e634str x1, [sp+3232]
    0052e638str x2, [sp+3240]
    0052e63cldrsb x27, [x1]
    0052e640ldr x4, [x1+8]
    0052e644str x4, [sp+1584]
    0052e648ldrsb x27, [x1]
    0052e64cldr x4, [x1+16]
    0052e650str x4, [sp+736]
    0052e654ldrsb x27, [x1]
    0052e658ldr x4, [x1+24]
    0052e65cstr x4, [sp+624]
    0052e660ldr x4, [sp+3232]
    0052e664ldrsb x27, [x4]
    0052e668ldr x4, [x4]
    0052e66cstr x4, [sp+544]
    0052e670str xzr, [sp+456]
    0052e674str xzr, [sp+368]
    0052e678ldr x5, [sp+3240]
    0052e67cldrsb x27, [x5]
    0052e680ldr x5, [x5+24]
    0052e684str x5, [sp+1960]
    0052e688umulh x6, x4, x5
    0052e68cstr x6, [sp+1976]
    0052e690madd x4, x4, x5, xzr
    0052e694str x4, [sp+1968]
    0052e698str x6, [sp+1632]
    0052e69cstr x4, [sp+3200]
    0052e6a0str x6, [sp+368]
    0052e6a4str x4, [sp+456]
    0052e6a8str xzr, [sp+288]
    0052e6acstr xzr, [sp+200]
    0052e6b0ldr x4, [sp+3240]
    0052e6b4ldrsb x27, [x4]
    0052e6b8ldr x4, [x4+16]
    0052e6bcstr x4, [sp+1952]
    0052e6c0ldr x5, [sp+544]
    0052e6c4umulh x6, x5, x4
    0052e6c8str x6, [sp+1968]
    0052e6ccmadd x4, x5, x4, xzr
    0052e6d0str x4, [sp+1976]
    0052e6d4str x6, [sp+3072]
    0052e6d8str x4, [sp+3024]
    0052e6dcstr x6, [sp+200]
    0052e6e0str x4, [sp+288]
    0052e6e4str xzr, [sp+120]
    0052e6e8str xzr, [sp+1576]
    0052e6ecldr x4, [sp+3240]
    0052e6f0ldrsb x27, [x4]
    0052e6f4ldr x4, [x4+8]
    0052e6f8str x4, [sp+1944]
    0052e6fcldr x5, [sp+544]
    0052e700umulh x6, x5, x4
    0052e704str x6, [sp+1976]
    0052e708madd x4, x5, x4, xzr
    0052e70cstr x4, [sp+1968]
    0052e710str x6, [sp+2896]
    0052e714str x4, [sp+2848]
    0052e718str x6, [sp+1576]
    0052e71cstr x4, [sp+120]
    0052e720str xzr, [sp+1488]
    0052e724str xzr, [sp+1408]
    0052e728ldr x4, [sp+3240]
    0052e72cldrsb x27, [x4]
    0052e730ldr x4, [x4]
    0052e734str x4, [sp+1936]
    0052e738ldr x5, [sp+544]
    0052e73cumulh x6, x5, x4
    0052e740str x6, [sp+1968]
    0052e744madd x4, x5, x4, xzr
    0052e748str x4, [sp+1976]
    0052e74cstr x6, [sp+2728]
    0052e750str x4, [sp+2680]
    0052e754str x6, [sp+1408]
    0052e758str x4, [sp+1488]
    0052e75cstr xzr, [sp+1320]
    0052e760str xzr, [sp+1240]
    0052e764ldr x4, [sp+120]
    0052e768adds x5, x6, x4
    0052e76cadc x5, xzr, xzr
    0052e770adds x7, x6, x4
    0052e774str x7, [sp+1976]
    0052e778str x5, [sp+1968]
    0052e77cstr x7, [sp+2552]
    0052e780str x5, [sp+2496]
    0052e784str x7, [sp+1320]
    0052e788str x5, [sp+1240]
    0052e78cstr xzr, [sp+1152]
    0052e790str xzr, [sp+1064]
    0052e794ldr x5, [sp+288]
    0052e798ldr x7, [sp+1576]
    0052e79cadds x8, x6, x4
    0052e7a0adcs x8, x7, x5
    0052e7a4adds x8, x6, x4
    0052e7a8adcs x8, x7, x5
    0052e7acstr x8, [sp+1968]
    0052e7b0adds x9, x6, x4
    0052e7b4adcs x9, x7, x5
    0052e7b8adc x9, xzr, xzr
    0052e7bcstr x9, [sp+1976]
    0052e7c0str x8, [sp+2376]
    0052e7c4str x9, [sp+2336]
    0052e7c8str x8, [sp+1152]
    0052e7ccstr x9, [sp+1064]
    0052e7d0str xzr, [sp+984]
    0052e7d4str xzr, [sp+904]
    0052e7d8ldr x8, [sp+456]
    0052e7dcldr x9, [sp+200]
    0052e7e0adcs x10, x9, x8
    0052e7e4adds x10, x6, x4
    0052e7e8adcs x10, x7, x5
    0052e7ecadcs x10, x9, x8
    0052e7f0str x10, [sp+1976]
    0052e7f4adds x4, x6, x4
    0052e7f8adcs x4, x7, x5
    0052e7fcadcs x4, x9, x8
    0052e800adc x4, xzr, xzr
    0052e804str x4, [sp+1968]
    0052e808str x10, [sp+2200]
    0052e80cstr x4, [sp+2152]
    0052e810str x10, [sp+984]
    0052e814str x4, [sp+904]
    0052e818ldr x5, [sp+368]
    0052e81cadd x4, x4, x5
    0052e820str x4, [sp+816]
    0052e824str xzr, [sp+728]
    0052e828ldr x4, [sp+1488]
    0052e82cmovn x5, 0
    0052e830umulh x6, x4, x5
    0052e834str x6, [sp+1968]
    0052e838sub x7, xzr, x4
    0052e83cstr x7, [sp+1976]
    0052e840str x6, [sp+2024]
    0052e844str x7, [sp+1984]
    0052e848str x7, [sp+728]
    0052e84cstr xzr, [sp+688]
    0052e850str xzr, [sp+680]
    0052e854sub x6, xzr, x4
    0052e858add x4, x6, x4, lsl #32
    0052e85csub x4, xzr, x4
    0052e860orr x6, xzr, 0xffffffff
    0052e864umulh x7, x7, x6
    0052e868str x7, [sp+1976]
    0052e86cstr x4, [sp+1968]
    0052e870str x7, [sp+1832]
    0052e874str x4, [sp+1824]
    0052e878str x7, [sp+680]
    0052e87cstr x4, [sp+688]
    0052e880str xzr, [sp+672]
    0052e884str xzr, [sp+664]
    0052e888ldr x4, [sp+728]
    0052e88cumulh x7, x4, x5
    0052e890str x7, [sp+1968]
    0052e894sub x4, xzr, x4
    0052e898str x4, [sp+1976]
    0052e89cstr x7, [sp+1816]
    0052e8a0str x4, [sp+1808]
    0052e8a4str x7, [sp+664]
    0052e8a8str x4, [sp+672]
    0052e8acstr xzr, [sp+656]
    0052e8b0str xzr, [sp+648]
    0052e8b4ldr x4, [sp+728]
    0052e8b8orr x7, xzr, 0xffffffff00000000
    0052e8bcumulh x8, x4, x7
    0052e8c0str x8, [sp+1976]
    0052e8c4madd x4, x4, x7, xzr
    0052e8c8str x4, [sp+1968]
    0052e8ccstr x8, [sp+1800]
    0052e8d0str x4, [sp+1792]
    0052e8d4str x8, [sp+648]
    0052e8d8str x4, [sp+656]
    0052e8dcstr xzr, [sp+640]
    0052e8e0str xzr, [sp+632]
    0052e8e4ldr x4, [sp+672]
    0052e8e8adds x9, x8, x4
    0052e8ecadc x9, xzr, xzr
    0052e8f0adds x10, x8, x4
    0052e8f4str x10, [sp+1968]
    0052e8f8str x9, [sp+1976]
    0052e8fcstr x10, [sp+1784]
    0052e900str x9, [sp+1776]
    0052e904str x10, [sp+640]
    0052e908str x9, [sp+632]
    0052e90cstr xzr, [sp+616]
    0052e910str xzr, [sp+608]
    0052e914ldr x9, [sp+688]
    0052e918ldr x10, [sp+664]
    0052e91cadds x11, x8, x4
    0052e920adcs x11, x10, x9
    0052e924adds x11, x8, x4
    0052e928adcs x11, x10, x9
    0052e92cstr x11, [sp+1976]
    0052e930adds x4, x8, x4
    0052e934adcs x4, x10, x9
    0052e938adc x4, xzr, xzr
    0052e93cstr x4, [sp+1968]
    0052e940str x11, [sp+1768]
    0052e944str x4, [sp+1760]
    0052e948str x11, [sp+616]
    0052e94cstr x4, [sp+608]
    0052e950ldr x8, [sp+680]
    0052e954add x4, x4, x8
    0052e958str x4, [sp+600]
    0052e95cstr xzr, [sp+592]
    0052e960ldr x4, [sp+728]
    0052e964ldr x8, [sp+1488]
    0052e968adds x9, x8, x4
    0052e96cadc x9, xzr, xzr
    0052e970adds x10, x8, x4
    0052e974str x10, [sp+1968]
    0052e978str x9, [sp+1976]
    0052e97cstr x10, [sp+1752]
    0052e980str x9, [sp+1744]
    0052e984str x9, [sp+592]
    0052e988str xzr, [sp+584]
    0052e98cstr xzr, [sp+576]
    0052e990ldr x9, [sp+656]
    0052e994ldr x10, [sp+1320]
    0052e998adds x11, x8, x4
    0052e99cadcs x11, x10, x9
    0052e9a0adds x11, x8, x4
    0052e9a4adcs x11, x10, x9
    0052e9a8str x11, [sp+1976]
    0052e9acadds x12, x8, x4
    0052e9b0adcs x12, x10, x9
    0052e9b4adc x12, xzr, xzr
    0052e9b8str x12, [sp+1968]
    0052e9bcstr x11, [sp+1736]
    0052e9c0str x12, [sp+1728]
    0052e9c4str x11, [sp+584]
    0052e9c8str x12, [sp+576]
    0052e9ccstr xzr, [sp+568]
    0052e9d0str xzr, [sp+560]
    0052e9d4ldr x11, [sp+640]
    0052e9d8ldr x12, [sp+1152]
    0052e9dcadcs x13, x12, x11
    0052e9e0adds x13, x8, x4
    0052e9e4adcs x13, x10, x9
    0052e9e8adcs x13, x12, x11
    0052e9ecstr x13, [sp+1968]
    0052e9f0adds x14, x8, x4
    0052e9f4adcs x14, x10, x9
    0052e9f8adcs x14, x12, x11
    0052e9fcadc x14, xzr, xzr
    0052ea00str x14, [sp+1976]
    0052ea04str x13, [sp+1720]
    0052ea08str x14, [sp+1712]
    0052ea0cstr x13, [sp+568]
    0052ea10str x14, [sp+560]
    0052ea14str xzr, [sp+552]
    0052ea18str xzr, [sp+536]
    0052ea1cldr x13, [sp+616]
    0052ea20ldr x14, [sp+984]
    0052ea24adcs x15, x14, x13
    0052ea28adds x15, x8, x4
    0052ea2cadcs x15, x10, x9
    0052ea30adcs x15, x12, x11
    0052ea34adcs x15, x14, x13
    0052ea38str x15, [sp+1976]
    0052ea3cadds x16, x8, x4
    0052ea40adcs x16, x10, x9
    0052ea44adcs x16, x12, x11
    0052ea48adcs x16, x14, x13
    0052ea4cadc x16, xzr, xzr
    0052ea50str x16, [sp+1968]
    0052ea54str x15, [sp+1704]
    0052ea58str x16, [sp+1696]
    0052ea5cstr x15, [sp+552]
    0052ea60str x16, [sp+536]
    0052ea64str xzr, [sp+528]
    0052ea68str xzr, [sp+520]
    0052ea6cldr x15, [sp+600]
    0052ea70ldr x16, [sp+816]
    0052ea74adcs x17, x16, x15
    0052ea78adds x17, x8, x4
    0052ea7cadcs x17, x10, x9
    0052ea80adcs x17, x12, x11
    0052ea84adcs x17, x14, x13
    0052ea88adcs x17, x16, x15
    0052ea8cstr x17, [sp+1968]
    0052ea90adds x4, x8, x4
    0052ea94adcs x4, x10, x9
    0052ea98adcs x4, x12, x11
    0052ea9cadcs x4, x14, x13
    0052eaa0adcs x4, x16, x15
    0052eaa4adc x4, xzr, xzr
    0052eaa8str x4, [sp+1976]
    0052eaacstr x17, [sp+1688]
    0052eab0str x4, [sp+1680]
    0052eab4str x17, [sp+528]
    0052eab8str x4, [sp+520]
    0052eabcstr xzr, [sp+512]
    0052eac0str xzr, [sp+504]
    0052eac4ldr x4, [sp+3240]
    0052eac8ldrsb x27, [x4]
    0052eaccldr x4, [x4+24]
    0052ead0str x4, [sp+1928]
    0052ead4ldr x8, [sp+1584]
    0052ead8umulh x9, x8, x4
    0052eadcstr x9, [sp+1976]
    0052eae0madd x4, x8, x4, xzr
    0052eae4str x4, [sp+1968]
    0052eae8str x9, [sp+1672]
    0052eaecstr x4, [sp+1664]
    0052eaf0str x9, [sp+504]
    0052eaf4str x4, [sp+512]
    0052eaf8str xzr, [sp+496]
    0052eafcstr xzr, [sp+488]
    0052eb00ldr x4, [sp+3240]
    0052eb04ldrsb x27, [x4]
    0052eb08ldr x4, [x4+16]
    0052eb0cstr x4, [sp+1920]
    0052eb10ldr x8, [sp+1584]
    0052eb14umulh x9, x8, x4
    0052eb18str x9, [sp+1968]
    0052eb1cmadd x4, x8, x4, xzr
    0052eb20str x4, [sp+1976]
    0052eb24str x9, [sp+1656]
    0052eb28str x4, [sp+1648]
    0052eb2cstr x9, [sp+488]
    0052eb30str x4, [sp+496]
    0052eb34str xzr, [sp+480]
    0052eb38str xzr, [sp+472]
    0052eb3cldr x4, [sp+3240]
    0052eb40ldrsb x27, [x4]
    0052eb44ldr x4, [x4+8]
    0052eb48str x4, [sp+1912]
    0052eb4cldr x8, [sp+1584]
    0052eb50umulh x9, x8, x4
    0052eb54str x9, [sp+1976]
    0052eb58madd x4, x8, x4, xzr
    0052eb5cstr x4, [sp+1968]
    0052eb60str x9, [sp+1640]
    0052eb64str x4, [sp+1624]
    0052eb68str x9, [sp+472]
    0052eb6cstr x4, [sp+480]
    0052eb70str xzr, [sp+464]
    0052eb74str xzr, [sp+448]
    0052eb78ldr x4, [sp+3240]
    0052eb7cldrsb x27, [x4]
    0052eb80ldr x4, [x4]
    0052eb84str x4, [sp+1904]
    0052eb88ldr x8, [sp+1584]
    0052eb8cumulh x9, x8, x4
    0052eb90str x9, [sp+1968]
    0052eb94madd x4, x8, x4, xzr
    0052eb98str x4, [sp+1976]
    0052eb9cstr x9, [sp+1616]
    0052eba0str x4, [sp+1608]
    0052eba4str x9, [sp+448]
    0052eba8str x4, [sp+464]
    0052ebacstr xzr, [sp+440]
    0052ebb0str xzr, [sp+432]
    0052ebb4ldr x4, [sp+480]
    0052ebb8adds x8, x9, x4
    0052ebbcadc x8, xzr, xzr
    0052ebc0adds x10, x9, x4
    0052ebc4str x10, [sp+1976]
    0052ebc8str x8, [sp+1968]
    0052ebccstr x10, [sp+1600]
    0052ebd0str x8, [sp+1592]
    0052ebd4str x10, [sp+440]
    0052ebd8str x8, [sp+432]
    0052ebdcstr xzr, [sp+424]
    0052ebe0str xzr, [sp+416]
    0052ebe4ldr x8, [sp+496]
    0052ebe8ldr x10, [sp+472]
    0052ebecadds x11, x9, x4
    0052ebf0adcs x11, x10, x8
    0052ebf4adds x11, x9, x4
    0052ebf8adcs x11, x10, x8
    0052ebfcstr x11, [sp+1968]
    0052ec00adds x12, x9, x4
    0052ec04adcs x12, x10, x8
    0052ec08adc x12, xzr, xzr
    0052ec0cstr x12, [sp+1976]
    0052ec10str x11, [sp+3192]
    0052ec14str x12, [sp+3184]
    0052ec18str x11, [sp+424]
    0052ec1cstr x12, [sp+416]
    0052ec20str xzr, [sp+408]
    0052ec24str xzr, [sp+400]
    0052ec28ldr x11, [sp+512]
    0052ec2cldr x12, [sp+488]
    0052ec30adcs x13, x12, x11
    0052ec34adds x13, x9, x4
    0052ec38adcs x13, x10, x8
    0052ec3cadcs x13, x12, x11
    0052ec40str x13, [sp+1976]
    0052ec44adds x4, x9, x4
    0052ec48adcs x4, x10, x8
    0052ec4cadcs x4, x12, x11
    0052ec50adc x4, xzr, xzr
    0052ec54str x4, [sp+1968]
    0052ec58str x13, [sp+3176]
    0052ec5cstr x4, [sp+3168]
    0052ec60str x13, [sp+408]
    0052ec64str x4, [sp+400]
    0052ec68ldr x8, [sp+504]
    0052ec6cadd x4, x4, x8
    0052ec70str x4, [sp+392]
    0052ec74str xzr, [sp+384]
    0052ec78str xzr, [sp+376]
    0052ec7cldr x4, [sp+464]
    0052ec80ldr x8, [sp+584]
    0052ec84adds x9, x8, x4
    0052ec88adc x9, xzr, xzr
    0052ec8cadds x10, x8, x4
    0052ec90str x10, [sp+1968]
    0052ec94str x9, [sp+1976]
    0052ec98str x10, [sp+3160]
    0052ec9cstr x9, [sp+3152]
    0052eca0str x10, [sp+384]
    0052eca4str x9, [sp+376]
    0052eca8str xzr, [sp+360]
    0052ecacstr xzr, [sp+352]
    0052ecb0ldr x9, [sp+440]
    0052ecb4ldr x10, [sp+568]
    0052ecb8adds x11, x8, x4
    0052ecbcadcs x11, x10, x9
    0052ecc0adds x11, x8, x4
    0052ecc4adcs x11, x10, x9
    0052ecc8str x11, [sp+1976]
    0052ecccadds x12, x8, x4
    0052ecd0adcs x12, x10, x9
    0052ecd4adc x12, xzr, xzr
    0052ecd8str x12, [sp+1968]
    0052ecdcstr x11, [sp+3144]
    0052ece0str x12, [sp+3136]
    0052ece4str x11, [sp+360]
    0052ece8str x12, [sp+352]
    0052ececstr xzr, [sp+344]
    0052ecf0str xzr, [sp+336]
    0052ecf4ldr x11, [sp+424]
    0052ecf8ldr x12, [sp+552]
    0052ecfcadcs x13, x12, x11
    0052ed00adds x13, x8, x4
    0052ed04adcs x13, x10, x9
    0052ed08adcs x13, x12, x11
    0052ed0cstr x13, [sp+1968]
    0052ed10adds x14, x8, x4
    0052ed14adcs x14, x10, x9
    0052ed18adcs x14, x12, x11
    0052ed1cadc x14, xzr, xzr
    0052ed20str x14, [sp+1976]
    0052ed24str x13, [sp+3128]
    0052ed28str x14, [sp+3120]
    0052ed2cstr x13, [sp+344]
    0052ed30str x14, [sp+336]
    0052ed34str xzr, [sp+328]
    0052ed38str xzr, [sp+320]
    0052ed3cldr x13, [sp+408]
    0052ed40ldr x14, [sp+528]
    0052ed44adcs x15, x14, x13
    0052ed48adds x15, x8, x4
    0052ed4cadcs x15, x10, x9
    0052ed50adcs x15, x12, x11
    0052ed54adcs x15, x14, x13
    0052ed58str x15, [sp+1976]
    0052ed5cadds x16, x8, x4
    0052ed60adcs x16, x10, x9
    0052ed64adcs x16, x12, x11
    0052ed68adcs x16, x14, x13
    0052ed6cadc x16, xzr, xzr
    0052ed70str x16, [sp+1968]
    0052ed74str x15, [sp+3112]
    0052ed78str x16, [sp+3104]
    0052ed7cstr x15, [sp+328]
    0052ed80str x16, [sp+320]
    0052ed84str xzr, [sp+312]
    0052ed88str xzr, [sp+304]
    0052ed8cldr x15, [sp+392]
    0052ed90ldr x16, [sp+520]
    0052ed94adcs x17, x16, x15
    0052ed98adds x17, x8, x4
    0052ed9cadcs x17, x10, x9
    0052eda0adcs x17, x12, x11
    0052eda4adcs x17, x14, x13
    0052eda8adcs x17, x16, x15
    0052edacstr x17, [sp+1968]
    0052edb0adds x4, x8, x4
    0052edb4adcs x4, x10, x9
    0052edb8adcs x4, x12, x11
    0052edbcadcs x4, x14, x13
    0052edc0adcs x4, x16, x15
    0052edc4adc x4, xzr, xzr
    0052edc8str x4, [sp+1976]
    0052edccstr x17, [sp+3096]
    0052edd0str x4, [sp+3088]
    0052edd4str x17, [sp+312]
    0052edd8str x4, [sp+304]
    0052eddcstr xzr, [sp+296]
    0052ede0ldr x4, [sp+384]
    0052ede4umulh x8, x4, x5
    0052ede8str x8, [sp+1976]
    0052edecsub x9, xzr, x4
    0052edf0str x9, [sp+1968]
    0052edf4str x8, [sp+3080]
    0052edf8str x9, [sp+3064]
    0052edfcstr x9, [sp+296]
    0052ee00str xzr, [sp+280]
    0052ee04str xzr, [sp+272]
    0052ee08sub x8, xzr, x4
    0052ee0cadd x4, x8, x4, lsl #32
    0052ee10sub x4, xzr, x4
    0052ee14umulh x8, x9, x6
    0052ee18str x8, [sp+1968]
    0052ee1cstr x4, [sp+1976]
    0052ee20str x8, [sp+3056]
    0052ee24str x4, [sp+3048]
    0052ee28str x8, [sp+272]
    0052ee2cstr x4, [sp+280]
    0052ee30str xzr, [sp+264]
    0052ee34str xzr, [sp+256]
    0052ee38ldr x4, [sp+296]
    0052ee3cumulh x8, x4, x5
    0052ee40str x8, [sp+1976]
    0052ee44sub x4, xzr, x4
    0052ee48str x4, [sp+1968]
    0052ee4cstr x8, [sp+3040]
    0052ee50str x4, [sp+3032]
    0052ee54str x8, [sp+256]
    0052ee58str x4, [sp+264]
    0052ee5cstr xzr, [sp+248]
    0052ee60str xzr, [sp+240]
    0052ee64ldr x4, [sp+296]
    0052ee68umulh x8, x4, x7
    0052ee6cstr x8, [sp+1968]
    0052ee70madd x4, x4, x7, xzr
    0052ee74str x4, [sp+1976]
    0052ee78str x8, [sp+3016]
    0052ee7cstr x4, [sp+3008]
    0052ee80str x8, [sp+240]
    0052ee84str x4, [sp+248]
    0052ee88str xzr, [sp+232]
    0052ee8cstr xzr, [sp+224]
    0052ee90ldr x4, [sp+264]
    0052ee94adds x9, x8, x4
    0052ee98adc x9, xzr, xzr
    0052ee9cadds x10, x8, x4
    0052eea0str x10, [sp+1976]
    0052eea4str x9, [sp+1968]
    0052eea8str x10, [sp+3000]
    0052eeacstr x9, [sp+2992]
    0052eeb0str x10, [sp+232]
    0052eeb4str x9, [sp+224]
    0052eeb8str xzr, [sp+216]
    0052eebcstr xzr, [sp+208]
    0052eec0ldr x9, [sp+280]
    0052eec4ldr x10, [sp+256]
    0052eec8adds x11, x8, x4
    0052eeccadcs x11, x10, x9
    0052eed0adds x11, x8, x4
    0052eed4adcs x11, x10, x9
    0052eed8str x11, [sp+1968]
    0052eedcadds x4, x8, x4
    0052eee0adcs x4, x10, x9
    0052eee4adc x4, xzr, xzr
    0052eee8str x4, [sp+1976]
    0052eeecstr x11, [sp+2984]
    0052eef0str x4, [sp+2976]
    0052eef4str x11, [sp+216]
    0052eef8str x4, [sp+208]
    0052eefcldr x8, [sp+272]
    0052ef00add x4, x4, x8
    0052ef04str x4, [sp+192]
    0052ef08str xzr, [sp+184]
    0052ef0cldr x4, [sp+296]
    0052ef10ldr x8, [sp+384]
    0052ef14adds x9, x8, x4
    0052ef18adc x9, xzr, xzr
    0052ef1cadds x10, x8, x4
    0052ef20str x10, [sp+1976]
    0052ef24str x9, [sp+1968]
    0052ef28str x10, [sp+2968]
    0052ef2cstr x9, [sp+2960]
    0052ef30str x9, [sp+184]
    0052ef34str xzr, [sp+176]
    0052ef38str xzr, [sp+168]
    0052ef3cldr x9, [sp+248]
    0052ef40ldr x10, [sp+360]
    0052ef44adds x11, x8, x4
    0052ef48adcs x11, x10, x9
    0052ef4cadds x11, x8, x4
    0052ef50adcs x11, x10, x9
    0052ef54str x11, [sp+1968]
    0052ef58adds x12, x8, x4
    0052ef5cadcs x12, x10, x9
    0052ef60adc x12, xzr, xzr
    0052ef64str x12, [sp+1976]
    0052ef68str x11, [sp+2952]
    0052ef6cstr x12, [sp+2944]
    0052ef70str x11, [sp+176]
    0052ef74str x12, [sp+168]
    0052ef78str xzr, [sp+160]
    0052ef7cstr xzr, [sp+152]
    0052ef80ldr x11, [sp+232]
    0052ef84ldr x12, [sp+344]
    0052ef88adcs x13, x12, x11
    0052ef8cadds x13, x8, x4
    0052ef90adcs x13, x10, x9
    0052ef94adcs x13, x12, x11
    0052ef98str x13, [sp+1976]
    0052ef9cadds x14, x8, x4
    0052efa0adcs x14, x10, x9
    0052efa4adcs x14, x12, x11
    0052efa8adc x14, xzr, xzr
    0052efacstr x14, [sp+1968]
    0052efb0str x13, [sp+2936]
    0052efb4str x14, [sp+2928]
    0052efb8str x13, [sp+160]
    0052efbcstr x14, [sp+152]
    0052efc0str xzr, [sp+144]
    0052efc4str xzr, [sp+136]
    0052efc8ldr x13, [sp+216]
    0052efccldr x14, [sp+328]
    0052efd0adcs x15, x14, x13
    0052efd4adds x15, x8, x4
    0052efd8adcs x15, x10, x9
    0052efdcadcs x15, x12, x11
    0052efe0adcs x15, x14, x13
    0052efe4str x15, [sp+1968]
    0052efe8adds x16, x8, x4
    0052efecadcs x16, x10, x9
    0052eff0adcs x16, x12, x11
    0052eff4adcs x16, x14, x13
    0052eff8adc x16, xzr, xzr
    0052effcstr x16, [sp+1976]
    0052f000str x15, [sp+2920]
    0052f004str x16, [sp+2912]
    0052f008str x15, [sp+144]
    0052f00cstr x16, [sp+136]
    0052f010str xzr, [sp+128]
    0052f014str xzr, [sp+112]
    0052f018ldr x15, [sp+192]
    0052f01cldr x16, [sp+312]
    0052f020adcs x17, x16, x15
    0052f024adds x17, x8, x4
    0052f028adcs x17, x10, x9
    0052f02cadcs x17, x12, x11
    0052f030adcs x17, x14, x13
    0052f034adcs x17, x16, x15
    0052f038str x17, [sp+1976]
    0052f03cadds x4, x8, x4
    0052f040adcs x4, x10, x9
    0052f044adcs x4, x12, x11
    0052f048adcs x4, x14, x13
    0052f04cadcs x4, x16, x15
    0052f050adc x4, xzr, xzr
    0052f054str x4, [sp+1968]
    0052f058str x17, [sp+2904]
    0052f05cstr x4, [sp+2888]
    0052f060str x17, [sp+128]
    0052f064str x4, [sp+112]
    0052f068ldr x8, [sp+304]
    0052f06cadd x4, x4, x8
    0052f070str x4, [sp+104]
    0052f074str xzr, [sp+96]
    0052f078str xzr, [sp+88]
    0052f07cldr x4, [sp+3240]
    0052f080ldrsb x27, [x4]
    0052f084ldr x4, [x4+24]
    0052f088str x4, [sp+1896]
    0052f08cldr x8, [sp+736]
    0052f090umulh x9, x8, x4
    0052f094str x9, [sp+1968]
    0052f098madd x4, x8, x4, xzr
    0052f09cstr x4, [sp+1976]
    0052f0a0str x9, [sp+2880]
    0052f0a4str x4, [sp+2872]
    0052f0a8str x9, [sp+88]
    0052f0acstr x4, [sp+96]
    0052f0b0str xzr, [sp+80]
    0052f0b4str xzr, [sp+72]
    0052f0b8ldr x4, [sp+3240]
    0052f0bcldrsb x27, [x4]
    0052f0c0ldr x4, [x4+16]
    0052f0c4str x4, [sp+1888]
    0052f0c8ldr x8, [sp+736]
    0052f0ccumulh x9, x8, x4
    0052f0d0str x9, [sp+1976]
    0052f0d4madd x4, x8, x4, xzr
    0052f0d8str x4, [sp+1968]
    0052f0dcstr x9, [sp+2864]
    0052f0e0str x4, [sp+2856]
    0052f0e4str x9, [sp+72]
    0052f0e8str x4, [sp+80]
    0052f0ecstr xzr, [sp+64]
    0052f0f0str xzr, [sp+56]
    0052f0f4ldr x4, [sp+3240]
    0052f0f8ldrsb x27, [x4]
    0052f0fcldr x4, [x4+8]
    0052f100str x4, [sp+1880]
    0052f104ldr x8, [sp+736]
    0052f108umulh x9, x8, x4
    0052f10cstr x9, [sp+1968]
    0052f110madd x4, x8, x4, xzr
    0052f114str x4, [sp+1976]
    0052f118str x9, [sp+2840]
    0052f11cstr x4, [sp+2832]
    0052f120str x9, [sp+56]
    0052f124str x4, [sp+64]
    0052f128str xzr, [sp+48]
    0052f12cstr xzr, [sp+40]
    0052f130ldr x4, [sp+3240]
    0052f134ldrsb x27, [x4]
    0052f138ldr x4, [x4]
    0052f13cstr x4, [sp+1872]
    0052f140ldr x8, [sp+736]
    0052f144umulh x9, x8, x4
    0052f148str x9, [sp+1976]
    0052f14cmadd x4, x8, x4, xzr
    0052f150str x4, [sp+1968]
    0052f154str x9, [sp+2824]
    0052f158str x4, [sp+2816]
    0052f15cstr x9, [sp+40]
    0052f160str x4, [sp+48]
    0052f164str xzr, [sp+1568]
    0052f168str xzr, [sp+1560]
    0052f16cldr x4, [sp+64]
    0052f170adds x8, x9, x4
    0052f174adc x8, xzr, xzr
    0052f178adds x10, x9, x4
    0052f17cstr x10, [sp+1968]
    0052f180str x8, [sp+1976]
    0052f184str x10, [sp+2808]
    0052f188str x8, [sp+2800]
    0052f18cstr x10, [sp+1568]
    0052f190str x8, [sp+1560]
    0052f194str xzr, [sp+1552]
    0052f198str xzr, [sp+1544]
    0052f19cldr x8, [sp+80]
    0052f1a0ldr x10, [sp+56]
    0052f1a4adds x11, x9, x4
    0052f1a8adcs x11, x10, x8
    0052f1acadds x11, x9, x4
    0052f1b0adcs x11, x10, x8
    0052f1b4str x11, [sp+1976]
    0052f1b8adds x12, x9, x4
    0052f1bcadcs x12, x10, x8
    0052f1c0adc x12, xzr, xzr
    0052f1c4str x12, [sp+1968]
    0052f1c8str x11, [sp+2792]
    0052f1ccstr x12, [sp+2784]
    0052f1d0str x11, [sp+1552]
    0052f1d4str x12, [sp+1544]
    0052f1d8str xzr, [sp+1536]
    0052f1dcstr xzr, [sp+1528]
    0052f1e0ldr x11, [sp+96]
    0052f1e4ldr x12, [sp+72]
    0052f1e8adcs x13, x12, x11
    0052f1ecadds x13, x9, x4
    0052f1f0adcs x13, x10, x8
    0052f1f4adcs x13, x12, x11
    0052f1f8str x13, [sp+1968]
    0052f1fcadds x4, x9, x4
    0052f200adcs x4, x10, x8
    0052f204adcs x4, x12, x11
    0052f208adc x4, xzr, xzr
    0052f20cstr x4, [sp+1976]
    0052f210str x13, [sp+2776]
    0052f214str x4, [sp+2768]
    0052f218str x13, [sp+1536]
    0052f21cstr x4, [sp+1528]
    0052f220ldr x8, [sp+88]
    0052f224add x4, x4, x8
    0052f228str x4, [sp+1520]
    0052f22cstr xzr, [sp+1512]
    0052f230str xzr, [sp+1504]
    0052f234ldr x4, [sp+48]
    0052f238ldr x8, [sp+176]
    0052f23cadds x9, x8, x4
    0052f240adc x9, xzr, xzr
    0052f244adds x10, x8, x4
    0052f248str x10, [sp+1976]
    0052f24cstr x9, [sp+1968]
    0052f250str x10, [sp+2760]
    0052f254str x9, [sp+2752]
    0052f258str x10, [sp+1512]
    0052f25cstr x9, [sp+1504]
    0052f260str xzr, [sp+1496]
    0052f264str xzr, [sp+1480]
    0052f268ldr x9, [sp+1568]
    0052f26cldr x10, [sp+160]
    0052f270adds x11, x8, x4
    0052f274adcs x11, x10, x9
    0052f278adds x11, x8, x4
    0052f27cadcs x11, x10, x9
    0052f280str x11, [sp+1968]
    0052f284adds x12, x8, x4
    0052f288adcs x12, x10, x9
    0052f28cadc x12, xzr, xzr
    0052f290str x12, [sp+1976]
    0052f294str x11, [sp+2744]
    0052f298str x12, [sp+2736]
    0052f29cstr x11, [sp+1496]
    0052f2a0str x12, [sp+1480]
    0052f2a4str xzr, [sp+1472]
    0052f2a8str xzr, [sp+1464]
    0052f2acldr x11, [sp+1552]
    0052f2b0ldr x12, [sp+144]
    0052f2b4adcs x13, x12, x11
    0052f2b8adds x13, x8, x4
    0052f2bcadcs x13, x10, x9
    0052f2c0adcs x13, x12, x11
    0052f2c4str x13, [sp+1976]
    0052f2c8adds x14, x8, x4
    0052f2ccadcs x14, x10, x9
    0052f2d0adcs x14, x12, x11
    0052f2d4adc x14, xzr, xzr
    0052f2d8str x14, [sp+1968]
    0052f2dcstr x13, [sp+2720]
    0052f2e0str x14, [sp+2712]
    0052f2e4str x13, [sp+1472]
    0052f2e8str x14, [sp+1464]
    0052f2ecstr xzr, [sp+1456]
    0052f2f0str xzr, [sp+1448]
    0052f2f4ldr x13, [sp+1536]
    0052f2f8ldr x14, [sp+128]
    0052f2fcadcs x15, x14, x13
    0052f300adds x15, x8, x4
    0052f304adcs x15, x10, x9
    0052f308adcs x15, x12, x11
    0052f30cadcs x15, x14, x13
    0052f310str x15, [sp+1968]
    0052f314adds x16, x8, x4
    0052f318adcs x16, x10, x9
    0052f31cadcs x16, x12, x11
    0052f320adcs x16, x14, x13
    0052f324adc x16, xzr, xzr
    0052f328str x16, [sp+1976]
    0052f32cstr x15, [sp+2704]
    0052f330str x16, [sp+2696]
    0052f334str x15, [sp+1456]
    0052f338str x16, [sp+1448]
    0052f33cstr xzr, [sp+1440]
    0052f340str xzr, [sp+1432]
    0052f344ldr x15, [sp+1520]
    0052f348ldr x16, [sp+104]
    0052f34cadcs x17, x16, x15
    0052f350adds x17, x8, x4
    0052f354adcs x17, x10, x9
    0052f358adcs x17, x12, x11
    0052f35cadcs x17, x14, x13
    0052f360adcs x17, x16, x15
    0052f364str x17, [sp+1976]
    0052f368adds x4, x8, x4
    0052f36cadcs x4, x10, x9
    0052f370adcs x4, x12, x11
    0052f374adcs x4, x14, x13
    0052f378adcs x4, x16, x15
    0052f37cadc x4, xzr, xzr
    0052f380str x4, [sp+1968]
    0052f384str x17, [sp+2688]
    0052f388str x4, [sp+2672]
    0052f38cstr x17, [sp+1440]
    0052f390str x4, [sp+1432]
    0052f394str xzr, [sp+1424]
    0052f398ldr x4, [sp+1512]
    0052f39cumulh x8, x4, x5
    0052f3a0str x8, [sp+1968]
    0052f3a4sub x9, xzr, x4
    0052f3a8str x9, [sp+1976]
    0052f3acstr x8, [sp+2664]
    0052f3b0str x9, [sp+2656]
    0052f3b4str x9, [sp+1424]
    0052f3b8str xzr, [sp+1416]
    0052f3bcstr xzr, [sp+1400]
    0052f3c0sub x8, xzr, x4
    0052f3c4add x4, x8, x4, lsl #32
    0052f3c8sub x4, xzr, x4
    0052f3ccumulh x8, x9, x6
    0052f3d0str x8, [sp+1976]
    0052f3d4str x4, [sp+1968]
    0052f3d8str x8, [sp+2648]
    0052f3dcstr x4, [sp+2640]
    0052f3e0str x8, [sp+1400]
    0052f3e4str x4, [sp+1416]
    0052f3e8str xzr, [sp+1392]
    0052f3ecstr xzr, [sp+1384]
    0052f3f0ldr x4, [sp+1424]
    0052f3f4umulh x8, x4, x5
    0052f3f8str x8, [sp+1968]
    0052f3fcsub x4, xzr, x4
    0052f400str x4, [sp+1976]
    0052f404str x8, [sp+2632]
    0052f408str x4, [sp+2624]
    0052f40cstr x8, [sp+1384]
    0052f410str x4, [sp+1392]
    0052f414str xzr, [sp+1376]
    0052f418str xzr, [sp+1368]
    0052f41cldr x4, [sp+1424]
    0052f420umulh x8, x4, x7
    0052f424str x8, [sp+1976]
    0052f428madd x4, x4, x7, xzr
    0052f42cstr x4, [sp+1968]
    0052f430str x8, [sp+2616]
    0052f434str x4, [sp+2608]
    0052f438str x8, [sp+1368]
    0052f43cstr x4, [sp+1376]
    0052f440str xzr, [sp+1360]
    0052f444str xzr, [sp+1352]
    0052f448ldr x4, [sp+1392]
    0052f44cadds x9, x8, x4
    0052f450adc x9, xzr, xzr
    0052f454adds x10, x8, x4
    0052f458str x10, [sp+1968]
    0052f45cstr x9, [sp+1976]
    0052f460str x10, [sp+2600]
    0052f464str x9, [sp+2592]
    0052f468str x10, [sp+1360]
    0052f46cstr x9, [sp+1352]
    0052f470str xzr, [sp+1344]
    0052f474str xzr, [sp+1336]
    0052f478ldr x9, [sp+1416]
    0052f47cldr x10, [sp+1384]
    0052f480adds x11, x8, x4
    0052f484adcs x11, x10, x9
    0052f488adds x11, x8, x4
    0052f48cadcs x11, x10, x9
    0052f490str x11, [sp+1976]
    0052f494adds x4, x8, x4
    0052f498adcs x4, x10, x9
    0052f49cadc x4, xzr, xzr
    0052f4a0str x4, [sp+1968]
    0052f4a4str x11, [sp+2584]
    0052f4a8str x4, [sp+2576]
    0052f4acstr x11, [sp+1344]
    0052f4b0str x4, [sp+1336]
    0052f4b4ldr x8, [sp+1400]
    0052f4b8add x4, x4, x8
    0052f4bcstr x4, [sp+1328]
    0052f4c0str xzr, [sp+1312]
    0052f4c4ldr x4, [sp+1424]
    0052f4c8ldr x8, [sp+1512]
    0052f4ccadds x9, x8, x4
    0052f4d0adc x9, xzr, xzr
    0052f4d4adds x10, x8, x4
    0052f4d8str x10, [sp+1968]
    0052f4dcstr x9, [sp+1976]
    0052f4e0str x10, [sp+2568]
    0052f4e4str x9, [sp+2560]
    0052f4e8str x9, [sp+1312]
    0052f4ecstr xzr, [sp+1304]
    0052f4f0str xzr, [sp+1296]
    0052f4f4ldr x9, [sp+1376]
    0052f4f8ldr x10, [sp+1496]
    0052f4fcadds x11, x8, x4
    0052f500adcs x11, x10, x9
    0052f504adds x11, x8, x4
    0052f508adcs x11, x10, x9
    0052f50cstr x11, [sp+1976]
    0052f510adds x12, x8, x4
    0052f514adcs x12, x10, x9
    0052f518adc x12, xzr, xzr
    0052f51cstr x12, [sp+1968]
    0052f520str x11, [sp+2544]
    0052f524str x12, [sp+2536]
    0052f528str x11, [sp+1304]
    0052f52cstr x12, [sp+1296]
    0052f530str xzr, [sp+1288]
    0052f534str xzr, [sp+1280]
    0052f538ldr x11, [sp+1360]
    0052f53cldr x12, [sp+1472]
    0052f540adcs x13, x12, x11
    0052f544adds x13, x8, x4
    0052f548adcs x13, x10, x9
    0052f54cadcs x13, x12, x11
    0052f550str x13, [sp+1968]
    0052f554adds x14, x8, x4
    0052f558adcs x14, x10, x9
    0052f55cadcs x14, x12, x11
    0052f560adc x14, xzr, xzr
    0052f564str x14, [sp+1976]
    0052f568str x13, [sp+2528]
    0052f56cstr x14, [sp+2520]
    0052f570str x13, [sp+1288]
    0052f574str x14, [sp+1280]
    0052f578str xzr, [sp+1272]
    0052f57cstr xzr, [sp+1264]
    0052f580ldr x13, [sp+1344]
    0052f584ldr x14, [sp+1456]
    0052f588adcs x15, x14, x13
    0052f58cadds x15, x8, x4
    0052f590adcs x15, x10, x9
    0052f594adcs x15, x12, x11
    0052f598adcs x15, x14, x13
    0052f59cstr x15, [sp+1976]
    0052f5a0adds x16, x8, x4
    0052f5a4adcs x16, x10, x9
    0052f5a8adcs x16, x12, x11
    0052f5acadcs x16, x14, x13
    0052f5b0adc x16, xzr, xzr
    0052f5b4str x16, [sp+1968]
    0052f5b8str x15, [sp+2512]
    0052f5bcstr x16, [sp+2504]
    0052f5c0str x15, [sp+1272]
    0052f5c4str x16, [sp+1264]
    0052f5c8str xzr, [sp+1256]
    0052f5ccstr xzr, [sp+1248]
    0052f5d0ldr x15, [sp+1328]
    0052f5d4ldr x16, [sp+1440]
    0052f5d8adcs x17, x16, x15
    0052f5dcadds x17, x8, x4
    0052f5e0adcs x17, x10, x9
    0052f5e4adcs x17, x12, x11
    0052f5e8adcs x17, x14, x13
    0052f5ecadcs x17, x16, x15
    0052f5f0str x17, [sp+1968]
    0052f5f4adds x4, x8, x4
    0052f5f8adcs x4, x10, x9
    0052f5fcadcs x4, x12, x11
    0052f600adcs x4, x14, x13
    0052f604adcs x4, x16, x15
    0052f608adc x4, xzr, xzr
    0052f60cstr x4, [sp+1976]
    0052f610str x17, [sp+2488]
    0052f614str x4, [sp+2480]
    0052f618str x17, [sp+1256]
    0052f61cstr x4, [sp+1248]
    0052f620ldr x8, [sp+1432]
    0052f624add x4, x4, x8
    0052f628str x4, [sp+1232]
    0052f62cstr xzr, [sp+1224]
    0052f630str xzr, [sp+1216]
    0052f634ldr x4, [sp+3240]
    0052f638ldrsb x27, [x4]
    0052f63cldr x4, [x4+24]
    0052f640str x4, [sp+1864]
    0052f644ldr x8, [sp+624]
    0052f648umulh x9, x8, x4
    0052f64cstr x9, [sp+1976]
    0052f650madd x4, x8, x4, xzr
    0052f654str x4, [sp+1968]
    0052f658str x9, [sp+2472]
    0052f65cstr x4, [sp+2464]
    0052f660str x9, [sp+1216]
    0052f664str x4, [sp+1224]
    0052f668str xzr, [sp+1208]
    0052f66cstr xzr, [sp+1200]
    0052f670ldr x4, [sp+3240]
    0052f674ldrsb x27, [x4]
    0052f678ldr x4, [x4+16]
    0052f67cstr x4, [sp+1856]
    0052f680ldr x8, [sp+624]
    0052f684umulh x9, x8, x4
    0052f688str x9, [sp+1968]
    0052f68cmadd x4, x8, x4, xzr
    0052f690str x4, [sp+1976]
    0052f694str x9, [sp+2456]
    0052f698str x4, [sp+2448]
    0052f69cstr x9, [sp+1200]
    0052f6a0str x4, [sp+1208]
    0052f6a4str xzr, [sp+1192]
    0052f6a8str xzr, [sp+1184]
    0052f6acldr x4, [sp+3240]
    0052f6b0ldrsb x27, [x4]
    0052f6b4ldr x4, [x4+8]
    0052f6b8str x4, [sp+1848]
    0052f6bcldr x8, [sp+624]
    0052f6c0umulh x9, x8, x4
    0052f6c4str x9, [sp+1976]
    0052f6c8madd x4, x8, x4, xzr
    0052f6ccstr x4, [sp+1968]
    0052f6d0str x9, [sp+2440]
    0052f6d4str x4, [sp+2432]
    0052f6d8str x9, [sp+1184]
    0052f6dcstr x4, [sp+1192]
    0052f6e0str xzr, [sp+1176]
    0052f6e4str xzr, [sp+1168]
    0052f6e8ldr x4, [sp+3240]
    0052f6ecldrsb x27, [x4]
    0052f6f0ldr x4, [x4]
    0052f6f4str x4, [sp+1840]
    0052f6f8ldr x8, [sp+624]
    0052f6fcumulh x9, x8, x4
    0052f700str x9, [sp+1968]
    0052f704madd x4, x8, x4, xzr
    0052f708str x4, [sp+1976]
    0052f70cstr x9, [sp+2424]
    0052f710str x4, [sp+2416]
    0052f714str x9, [sp+1168]
    0052f718str x4, [sp+1176]
    0052f71cstr xzr, [sp+1160]
    0052f720str xzr, [sp+1144]
    0052f724ldr x4, [sp+1192]
    0052f728adds x8, x9, x4
    0052f72cadc x8, xzr, xzr
    0052f730adds x10, x9, x4
    0052f734str x10, [sp+1976]
    0052f738str x8, [sp+1968]
    0052f73cstr x10, [sp+2408]
    0052f740str x8, [sp+2400]
    0052f744str x10, [sp+1160]
    0052f748str x8, [sp+1144]
    0052f74cstr xzr, [sp+1136]
    0052f750str xzr, [sp+1128]
    0052f754ldr x8, [sp+1208]
    0052f758ldr x10, [sp+1184]
    0052f75cadds x11, x9, x4
    0052f760adcs x11, x10, x8
    0052f764adds x11, x9, x4
    0052f768adcs x11, x10, x8
    0052f76cstr x11, [sp+1968]
    0052f770adds x12, x9, x4
    0052f774adcs x12, x10, x8
    0052f778adc x12, xzr, xzr
    0052f77cstr x12, [sp+1976]
    0052f780str x11, [sp+2392]
    0052f784str x12, [sp+2384]
    0052f788str x11, [sp+1136]
    0052f78cstr x12, [sp+1128]
    0052f790str xzr, [sp+1120]
    0052f794str xzr, [sp+1112]
    0052f798ldr x11, [sp+1224]
    0052f79cldr x12, [sp+1200]
    0052f7a0adcs x13, x12, x11
    0052f7a4adds x13, x9, x4
    0052f7a8adcs x13, x10, x8
    0052f7acadcs x13, x12, x11
    0052f7b0str x13, [sp+1976]
    0052f7b4adds x4, x9, x4
    0052f7b8adcs x4, x10, x8
    0052f7bcadcs x4, x12, x11
    0052f7c0adc x4, xzr, xzr
    0052f7c4str x4, [sp+1968]
    0052f7c8str x13, [sp+2368]
    0052f7ccstr x4, [sp+2360]
    0052f7d0str x13, [sp+1120]
    0052f7d4str x4, [sp+1112]
    0052f7d8ldr x8, [sp+1216]
    0052f7dcadd x4, x4, x8
    0052f7e0str x4, [sp+1104]
    0052f7e4str xzr, [sp+1096]
    0052f7e8str xzr, [sp+1088]
    0052f7ecldr x4, [sp+1176]
    0052f7f0ldr x8, [sp+1304]
    0052f7f4adds x9, x8, x4
    0052f7f8adc x9, xzr, xzr
    0052f7fcadds x10, x8, x4
    0052f800str x10, [sp+1968]
    0052f804str x9, [sp+1976]
    0052f808str x10, [sp+2352]
    0052f80cstr x9, [sp+2344]
    0052f810str x10, [sp+1096]
    0052f814str x9, [sp+1088]
    0052f818str xzr, [sp+1080]
    0052f81cstr xzr, [sp+1072]
    0052f820ldr x9, [sp+1160]
    0052f824ldr x10, [sp+1288]
    0052f828adds x11, x8, x4
    0052f82cadcs x11, x10, x9
    0052f830adds x11, x8, x4
    0052f834adcs x11, x10, x9
    0052f838str x11, [sp+1976]
    0052f83cadds x12, x8, x4
    0052f840adcs x12, x10, x9
    0052f844adc x12, xzr, xzr
    0052f848str x12, [sp+1968]
    0052f84cstr x11, [sp+2328]
    0052f850str x12, [sp+2320]
    0052f854str x11, [sp+1080]
    0052f858str x12, [sp+1072]
    0052f85cstr xzr, [sp+1056]
    0052f860str xzr, [sp+1048]
    0052f864ldr x11, [sp+1136]
    0052f868ldr x12, [sp+1272]
    0052f86cadcs x13, x12, x11
    0052f870adds x13, x8, x4
    0052f874adcs x13, x10, x9
    0052f878adcs x13, x12, x11
    0052f87cstr x13, [sp+1968]
    0052f880adds x14, x8, x4
    0052f884adcs x14, x10, x9
    0052f888adcs x14, x12, x11
    0052f88cadc x14, xzr, xzr
    0052f890str x14, [sp+1976]
    0052f894str x13, [sp+2312]
    0052f898str x14, [sp+2304]
    0052f89cstr x13, [sp+1056]
    0052f8a0str x14, [sp+1048]
    0052f8a4str xzr, [sp+1040]
    0052f8a8str xzr, [sp+1032]
    0052f8acldr x13, [sp+1120]
    0052f8b0ldr x14, [sp+1256]
    0052f8b4adcs x15, x14, x13
    0052f8b8adds x15, x8, x4
    0052f8bcadcs x15, x10, x9
    0052f8c0adcs x15, x12, x11
    0052f8c4adcs x15, x14, x13
    0052f8c8str x15, [sp+1976]
    0052f8ccadds x16, x8, x4
    0052f8d0adcs x16, x10, x9
    0052f8d4adcs x16, x12, x11
    0052f8d8adcs x16, x14, x13
    0052f8dcadc x16, xzr, xzr
    0052f8e0str x16, [sp+1968]
    0052f8e4str x15, [sp+2296]
    0052f8e8str x16, [sp+2288]
    0052f8ecstr x15, [sp+1040]
    0052f8f0str x16, [sp+1032]
    0052f8f4str xzr, [sp+1024]
    0052f8f8str xzr, [sp+1016]
    0052f8fcldr x15, [sp+1104]
    0052f900ldr x16, [sp+1232]
    0052f904adcs x17, x16, x15
    0052f908adds x17, x8, x4
    0052f90cadcs x17, x10, x9
    0052f910adcs x17, x12, x11
    0052f914adcs x17, x14, x13
    0052f918adcs x17, x16, x15
    0052f91cstr x17, [sp+1968]
    0052f920adds x4, x8, x4
    0052f924adcs x4, x10, x9
    0052f928adcs x4, x12, x11
    0052f92cadcs x4, x14, x13
    0052f930adcs x4, x16, x15
    0052f934adc x4, xzr, xzr
    0052f938str x4, [sp+1976]
    0052f93cstr x17, [sp+2280]
    0052f940str x4, [sp+2272]
    0052f944str x17, [sp+1024]
    0052f948str x4, [sp+1016]
    0052f94cstr xzr, [sp+1008]
    0052f950ldr x4, [sp+1096]
    0052f954umulh x8, x4, x5
    0052f958str x8, [sp+1976]
    0052f95csub x9, xzr, x4
    0052f960str x9, [sp+1968]
    0052f964str x8, [sp+2264]
    0052f968str x9, [sp+2256]
    0052f96cstr x9, [sp+1008]
    0052f970str xzr, [sp+1000]
    0052f974str xzr, [sp+992]
    0052f978sub x8, xzr, x4
    0052f97cadd x4, x8, x4, lsl #32
    0052f980sub x4, xzr, x4
    0052f984umulh x8, x9, x6
    0052f988str x8, [sp+1968]
    0052f98cstr x4, [sp+1976]
    0052f990str x8, [sp+2248]
    0052f994str x4, [sp+2240]
    0052f998str x8, [sp+992]
    0052f99cstr x4, [sp+1000]
    0052f9a0str xzr, [sp+976]
    0052f9a4str xzr, [sp+968]
    0052f9a8ldr x4, [sp+1008]
    0052f9acumulh x8, x4, x5
    0052f9b0str x8, [sp+1976]
    0052f9b4sub x4, xzr, x4
    0052f9b8str x4, [sp+1968]
    0052f9bcstr x8, [sp+2232]
    0052f9c0str x4, [sp+2224]
    0052f9c4str x8, [sp+968]
    0052f9c8str x4, [sp+976]
    0052f9ccstr xzr, [sp+960]
    0052f9d0str xzr, [sp+952]
    0052f9d4ldr x4, [sp+1008]
    0052f9d8umulh x8, x4, x7
    0052f9dcstr x8, [sp+1968]
    0052f9e0madd x4, x4, x7, xzr
    0052f9e4str x4, [sp+1976]
    0052f9e8str x8, [sp+2216]
    0052f9ecstr x4, [sp+2208]
    0052f9f0str x8, [sp+952]
    0052f9f4str x4, [sp+960]
    0052f9f8str xzr, [sp+944]
    0052f9fcstr xzr, [sp+936]
    0052fa00ldr x4, [sp+976]
    0052fa04adds x9, x8, x4
    0052fa08adc x9, xzr, xzr
    0052fa0cadds x10, x8, x4
    0052fa10str x10, [sp+1976]
    0052fa14str x9, [sp+1968]
    0052fa18str x10, [sp+2192]
    0052fa1cstr x9, [sp+2184]
    0052fa20str x10, [sp+944]
    0052fa24str x9, [sp+936]
    0052fa28str xzr, [sp+928]
    0052fa2cstr xzr, [sp+920]
    0052fa30ldr x9, [sp+1000]
    0052fa34ldr x10, [sp+968]
    0052fa38adds x11, x8, x4
    0052fa3cadcs x11, x10, x9
    0052fa40adds x11, x8, x4
    0052fa44adcs x11, x10, x9
    0052fa48str x11, [sp+1968]
    0052fa4cadds x4, x8, x4
    0052fa50adcs x4, x10, x9
    0052fa54adc x4, xzr, xzr
    0052fa58str x4, [sp+1976]
    0052fa5cstr x11, [sp+2176]
    0052fa60str x4, [sp+2168]
    0052fa64str x11, [sp+928]
    0052fa68str x4, [sp+920]
    0052fa6cldr x8, [sp+992]
    0052fa70add x4, x4, x8
    0052fa74str x4, [sp+912]
    0052fa78str xzr, [sp+896]
    0052fa7cldr x4, [sp+1008]
    0052fa80ldr x8, [sp+1096]
    0052fa84adds x9, x8, x4
    0052fa88adc x9, xzr, xzr
    0052fa8cadds x10, x8, x4
    0052fa90str x10, [sp+1976]
    0052fa94str x9, [sp+1968]
    0052fa98str x10, [sp+2160]
    0052fa9cstr x9, [sp+2144]
    0052faa0str x9, [sp+896]
    0052faa4str xzr, [sp+888]
    0052faa8str xzr, [sp+880]
    0052faacldr x9, [sp+960]
    0052fab0ldr x10, [sp+1080]
    0052fab4adds x11, x8, x4
    0052fab8adcs x11, x10, x9
    0052fabcadds x11, x8, x4
    0052fac0adcs x11, x10, x9
    0052fac4str x11, [sp+1968]
    0052fac8adds x12, x8, x4
    0052faccadcs x12, x10, x9
    0052fad0adc x12, xzr, xzr
    0052fad4str x12, [sp+1976]
    0052fad8str x11, [sp+2136]
    0052fadcstr x12, [sp+2128]
    0052fae0str x11, [sp+888]
    0052fae4str x12, [sp+880]
    0052fae8str xzr, [sp+872]
    0052faecstr xzr, [sp+864]
    0052faf0ldr x11, [sp+944]
    0052faf4ldr x12, [sp+1056]
    0052faf8adcs x13, x12, x11
    0052fafcadds x13, x8, x4
    0052fb00adcs x13, x10, x9
    0052fb04adcs x13, x12, x11
    0052fb08str x13, [sp+1976]
    0052fb0cadds x14, x8, x4
    0052fb10adcs x14, x10, x9
    0052fb14adcs x14, x12, x11
    0052fb18adc x14, xzr, xzr
    0052fb1cstr x14, [sp+1968]
    0052fb20str x13, [sp+2120]
    0052fb24str x14, [sp+2112]
    0052fb28str x13, [sp+872]
    0052fb2cstr x14, [sp+864]
    0052fb30str xzr, [sp+856]
    0052fb34str xzr, [sp+848]
    0052fb38ldr x13, [sp+928]
    0052fb3cldr x14, [sp+1040]
    0052fb40adcs x15, x14, x13
    0052fb44adds x15, x8, x4
    0052fb48adcs x15, x10, x9
    0052fb4cadcs x15, x12, x11
    0052fb50adcs x15, x14, x13
    0052fb54str x15, [sp+1968]
    0052fb58adds x16, x8, x4
    0052fb5cadcs x16, x10, x9
    0052fb60adcs x16, x12, x11
    0052fb64adcs x16, x14, x13
    0052fb68adc x16, xzr, xzr
    0052fb6cstr x16, [sp+1976]
    0052fb70str x15, [sp+2104]
    0052fb74str x16, [sp+2096]
    0052fb78str x15, [sp+856]
    0052fb7cstr x16, [sp+848]
    0052fb80str xzr, [sp+840]
    0052fb84str xzr, [sp+832]
    0052fb88ldr x15, [sp+912]
    0052fb8cldr x16, [sp+1024]
    0052fb90adcs x17, x16, x15
    0052fb94adds x17, x8, x4
    0052fb98adcs x17, x10, x9
    0052fb9cadcs x17, x12, x11
    0052fba0adcs x17, x14, x13
    0052fba4adcs x17, x16, x15
    0052fba8str x17, [sp+1976]
    0052fbacadds x4, x8, x4
    0052fbb0adcs x4, x10, x9
    0052fbb4adcs x4, x12, x11
    0052fbb8adcs x4, x14, x13
    0052fbbcadcs x4, x16, x15
    0052fbc0adc x4, xzr, xzr
    0052fbc4str x4, [sp+1968]
    0052fbc8str x17, [sp+2088]
    0052fbccstr x4, [sp+2080]
    0052fbd0str x17, [sp+840]
    0052fbd4str x4, [sp+832]
    0052fbd8ldr x8, [sp+1016]
    0052fbdcadd x4, x4, x8
    0052fbe0str x4, [sp+824]
    0052fbe4str xzr, [sp+808]
    0052fbe8str xzr, [sp+800]
    0052fbecldr x4, [sp+888]
    0052fbf0orr x8, xzr, 1
    0052fbf4subs x9, x4, x8
    0052fbf8sbc x9, xzr, xzr
    0052fbfcsub x9, xzr, x9
    0052fc00subs x10, x4, x8
    0052fc04str x10, [sp+1968]
    0052fc08str x9, [sp+1976]
    0052fc0cstr x10, [sp+2072]
    0052fc10str x9, [sp+2064]
    0052fc14str x10, [sp+808]
    0052fc18str x9, [sp+800]
    0052fc1cstr xzr, [sp+792]
    0052fc20str xzr, [sp+784]
    0052fc24ldr x9, [sp+872]
    0052fc28subs x10, x4, x8
    0052fc2csbcs x10, x9, x7
    0052fc30subs x10, x4, x8
    0052fc34sbcs x10, x9, x7
    0052fc38str x10, [sp+1976]
    0052fc3csubs x11, x4, x8
    0052fc40sbcs x11, x9, x7
    0052fc44sbc x11, xzr, xzr
    0052fc48sub x11, xzr, x11
    0052fc4cstr x11, [sp+1968]
    0052fc50str x10, [sp+2056]
    0052fc54str x11, [sp+2048]
    0052fc58str x10, [sp+792]
    0052fc5cstr x11, [sp+784]
    0052fc60str xzr, [sp+776]
    0052fc64str xzr, [sp+768]
    0052fc68ldr x10, [sp+856]
    0052fc6csbcs x11, x10, x5
    0052fc70subs x11, x4, x8
    0052fc74sbcs x11, x9, x7
    0052fc78sbcs x11, x10, x5
    0052fc7cstr x11, [sp+1968]
    0052fc80subs x12, x4, x8
    0052fc84sbcs x12, x9, x7
    0052fc88sbcs x12, x10, x5
    0052fc8csbc x12, xzr, xzr
    0052fc90sub x12, xzr, x12
    0052fc94str x12, [sp+1976]
    0052fc98str x11, [sp+2040]
    0052fc9cstr x12, [sp+2032]
    0052fca0str x11, [sp+776]
    0052fca4str x12, [sp+768]
    0052fca8str xzr, [sp+760]
    0052fcacstr xzr, [sp+752]
    0052fcb0ldr x11, [sp+840]
    0052fcb4sbcs x12, x11, x6
    0052fcb8subs x12, x4, x8
    0052fcbcsbcs x12, x9, x7
    0052fcc0sbcs x12, x10, x5
    0052fcc4sbcs x12, x11, x6
    0052fcc8str x12, [sp+1976]
    0052fcccsubs x13, x4, x8
    0052fcd0sbcs x13, x9, x7
    0052fcd4sbcs x13, x10, x5
    0052fcd8sbcs x13, x11, x6
    0052fcdcsbc x13, xzr, xzr
    0052fce0sub x13, xzr, x13
    0052fce4str x13, [sp+1968]
    0052fce8str x12, [sp+2016]
    0052fcecstr x13, [sp+2008]
    0052fcf0str x12, [sp+760]
    0052fcf4str x13, [sp+752]
    0052fcf8str xzr, [sp+744]
    0052fcfcldr x12, [sp+824]
    0052fd00mov x13, xzr
    0052fd04sbcs x14, x12, x13
    0052fd08subs x14, x4, x8
    0052fd0csbcs x14, x9, x7
    0052fd10sbcs x14, x10, x5
    0052fd14sbcs x14, x11, x6
    0052fd18sbcs x14, x12, x13
    0052fd1cstr x14, [sp+1968]
    0052fd20subs x4, x4, x8
    0052fd24sbcs x4, x9, x7
    0052fd28sbcs x4, x10, x5
    0052fd2csbcs x4, x11, x6
    0052fd30sbcs x4, x12, x13
    0052fd34sbc x4, xzr, xzr
    0052fd38sub x1, xzr, x4
    0052fd3cstr x1, [sp+1976]
    0052fd40str x14, [sp+2000]
    0052fd44str x1, [sp+1992]
    0052fd48str x1, [sp+744]
    0052fd4cstr xzr, [sp+720]
    0052fd50ldr x2, [sp+808]
    0052fd54ldr x3, [sp+888]
    0052fd58add x0, sp, 720
    0052fd5cbl crypto/internal/fips140/nistec/fiat.p224CmovznzU64
    0052fd60str xzr, [sp+712]
    0052fd64ldr x2, [sp+792]
    0052fd68ldr x3, [sp+872]
    0052fd6cldr x1, [sp+744]
    0052fd70add x0, sp, 712
    0052fd74bl crypto/internal/fips140/nistec/fiat.p224CmovznzU64
    0052fd78str xzr, [sp+704]
    0052fd7cldr x2, [sp+776]
    0052fd80ldr x3, [sp+856]
    0052fd84ldr x1, [sp+744]
    0052fd88add x0, sp, 704
    0052fd8cbl crypto/internal/fips140/nistec/fiat.p224CmovznzU64
    0052fd90str xzr, [sp+696]
    0052fd94ldr x2, [sp+760]
    0052fd98ldr x3, [sp+840]
    0052fd9cldr x1, [sp+744]
    0052fda0add x0, sp, 696
    0052fda4bl crypto/internal/fips140/nistec/fiat.p224CmovznzU64
    0052fda8ldr x4, [sp+3224]
    0052fdacldrsb x27, [x4]
    0052fdb0ldr x5, [sp+720]
    0052fdb4str x5, [x4]
    0052fdb8ldr x4, [sp+3224]
    0052fdbcldrsb x27, [x4]
    0052fdc0ldr x5, [sp+712]
    0052fdc4str x5, [x4+8]
    0052fdc8ldr x4, [sp+3224]
    0052fdccldrsb x27, [x4]
    0052fdd0ldr x5, [sp+704]
    0052fdd4str x5, [x4+16]
    0052fdd8ldr x4, [sp+3224]
    0052fddcldrsb x27, [x4]
    0052fde0ldr x5, [sp+696]
    0052fde4str x5, [x4+24]
    0052fde8ldp x29, x30, [sp-8]
    0052fdecadd sp, sp, 3216
    0052fdf0ret x30
    0052fdf4
    0052fdf4loc_52fdf4:
    0052fdf4stp x0, x1, [sp+8]
    0052fdf8str x2, [sp+24]
    0052fdfcmov x3, x30
    0052fe00bl runtime.morestack_noctxt.abi0
    0052fe04ldp x0, x1, [sp+8]
    0052fe08ldr x2, [sp+24]
    0052fe0cb 0x52e610
    0052e610