File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0057e100
    0057e100crypto/internal/fips140/bigmod.(*Nat).IsZero: ; void crypto/internal/fips140/bigmod.(*Nat).IsZero(crypto/internal/fips140/bigmod.Nat * x)
    0057e100ldr x16, [x28+16]
    0057e104subs xzr, sp, x16
    0057e108b.ls 0x57e1e4
    0057e10cstr x30, [sp-112]!
    0057e110stur x29, [sp-8]
    0057e114sub x29, sp, 8
    0057e118str x0, [sp+120]
    0057e11cstr xzr, [sp+32]
    0057e120ldrsb x27, [x0]
    0057e124ldr x1, [x0+8]
    0057e128str x1, [sp+48]
    0057e12cldrsb x27, [x0]
    0057e130ldr x2, [x0+16]
    0057e134ldr x3, [x0]
    0057e138subs xzr, x2, x1
    0057e13cb.hs 0x57e144
    0057e140b 0x57e1dc
    0057e144
    0057e144loc_57e144:
    0057e144b 0x57e148
    0057e148
    0057e148loc_57e148:
    0057e148str x3, [sp+80]
    0057e14cstr x1, [sp+88]
    0057e150str x2, [sp+96]
    0057e154orr x2, xzr, 1
    0057e158str x2, [sp+40]
    0057e15cstr xzr, [sp+56]
    0057e160b 0x57e164
    0057e164
    0057e164loc_57e164:
    0057e164ldr x2, [sp+48]
    0057e168ldr x3, [sp+56]
    0057e16csubs xzr, x2, x3
    0057e170b.gt 0x57e178
    0057e174b 0x57e1c4
    0057e178
    0057e178loc_57e178:
    0057e178ldr x0, [sp+56]
    0057e17cldr x1, [sp+88]
    0057e180ldr x2, [sp+80]
    0057e184subs xzr, x0, x1
    0057e188b.lo 0x57e190
    0057e18cb 0x57e1d8
    0057e190
    0057e190loc_57e190:
    0057e190ldr x0, [x2+3*x0]
    0057e194str x0, [sp+64]
    0057e198mov x1, xzr
    0057e19cbl crypto/internal/fips140/bigmod.ctEq
    0057e1a0str x0, [sp+72]
    0057e1a4ldr x2, [sp+40]
    0057e1a8and x2, x2, x0
    0057e1acstr x2, [sp+40]
    0057e1b0b 0x57e1b4
    0057e1b4
    0057e1b4loc_57e1b4:
    0057e1b4ldr x2, [sp+56]
    0057e1b8add x2, x2, 1
    0057e1bcstr x2, [sp+56]
    0057e1c0b 0x57e164
    0057e1c4
    0057e1c4loc_57e1c4:
    0057e1c4ldr x0, [sp+40]
    0057e1c8str x0, [sp+32]
    0057e1ccldur x29, [sp-8]
    0057e1d0ldr x30, [sp], 112
    0057e1d4ret x30
    0057e1d8
    0057e1d8loc_57e1d8:
    0057e1d8bl runtime.panicIndex
    0057e1dc
    0057e1dcloc_57e1dc:
    0057e1dcbl runtime.panicSliceAcap
    0057e1e0hint
    0057e1e4
    0057e1e4loc_57e1e4:
    0057e1e4str x0, [sp+8]
    0057e1e8mov x3, x30
    0057e1ecbl runtime.morestack_noctxt.abi0
    0057e1f0ldr x0, [sp+8]
    0057e1f4b 0x57e100
    0057e1f8udf 0
    0057e1fcudf 0
    0057e100
    0057e200
    0057e200crypto/internal/fips140/bigmod.(*Nat).IsOne: ; void crypto/internal/fips140/bigmod.(*Nat).IsOne(crypto/internal/fips140/bigmod.Nat * x)
    0057e200ldr x16, [x28+16]
    0057e204subs xzr, sp, x16
    0057e208b.ls 0x57e328
    0057e20cstr x30, [sp-128]!
    0057e210stur x29, [sp-8]
    0057e214sub x29, sp, 8
    0057e218str x0, [sp+136]
    0057e21cstr xzr, [sp+32]
    0057e220ldrsb x27, [x0]
    0057e224ldr x1, [x0+8]
    0057e228str x1, [sp+40]
    0057e22cldrsb x27, [x0]
    0057e230ldr x2, [x0+16]
    0057e234ldr x3, [x0]
    0057e238subs xzr, x2, x1
    0057e23cb.hs 0x57e244
    0057e240b 0x57e320
    0057e244
    0057e244loc_57e244:
    0057e244b 0x57e248
    0057e248
    0057e248loc_57e248:
    0057e248str x3, [sp+96]
    0057e24cstr x1, [sp+104]
    0057e250str x2, [sp+112]
    0057e254str x1, [sp+88]
    0057e258cbz x1, 0x57e260
    0057e25cb 0x57e274
    0057e260
    0057e260loc_57e260:
    0057e260str xzr, [sp+32]
    0057e264mov x0, xzr
    0057e268ldur x29, [sp-8]
    0057e26cldr x30, [sp], 128
    0057e270ret x30
    0057e274
    0057e274loc_57e274:
    0057e274subs xzr, x1, 0
    0057e278b.hi 0x57e280
    0057e27cb 0x57e318
    0057e280
    0057e280loc_57e280:
    0057e280ldr x0, [x3]
    0057e284str x0, [sp+72]
    0057e288orr x1, xzr, 1
    0057e28cbl crypto/internal/fips140/bigmod.ctEq
    0057e290str x0, [sp+48]
    0057e294orr x2, xzr, 1
    0057e298str x2, [sp+56]
    0057e29cb 0x57e2a0
    0057e2a0
    0057e2a0loc_57e2a0:
    0057e2a0ldr x2, [sp+40]
    0057e2a4ldr x3, [sp+56]
    0057e2a8subs xzr, x2, x3
    0057e2acb.gt 0x57e2b4
    0057e2b0b 0x57e300
    0057e2b4
    0057e2b4loc_57e2b4:
    0057e2b4ldr x0, [sp+56]
    0057e2b8ldr x1, [sp+104]
    0057e2bcldr x2, [sp+96]
    0057e2c0subs xzr, x0, x1
    0057e2c4b.lo 0x57e2cc
    0057e2c8b 0x57e314
    0057e2cc
    0057e2ccloc_57e2cc:
    0057e2ccldr x0, [x2+3*x0]
    0057e2d0str x0, [sp+64]
    0057e2d4mov x1, xzr
    0057e2d8bl crypto/internal/fips140/bigmod.ctEq
    0057e2dcstr x0, [sp+80]
    0057e2e0ldr x2, [sp+48]
    0057e2e4and x2, x2, x0
    0057e2e8str x2, [sp+48]
    0057e2ecb 0x57e2f0
    0057e2f0
    0057e2f0loc_57e2f0:
    0057e2f0ldr x2, [sp+56]
    0057e2f4add x2, x2, 1
    0057e2f8str x2, [sp+56]
    0057e2fcb 0x57e2a0
    0057e300
    0057e300loc_57e300:
    0057e300ldr x0, [sp+48]
    0057e304str x0, [sp+32]
    0057e308ldur x29, [sp-8]
    0057e30cldr x30, [sp], 128
    0057e310ret x30
    0057e314
    0057e314loc_57e314:
    0057e314bl runtime.panicIndex
    0057e318
    0057e318loc_57e318:
    0057e318mov x0, xzr
    0057e31cbl runtime.panicIndex
    0057e320
    0057e320loc_57e320:
    0057e320bl runtime.panicSliceAcap
    0057e324hint
    0057e328
    0057e328loc_57e328:
    0057e328str x0, [sp+8]
    0057e32cmov x3, x30
    0057e330bl runtime.morestack_noctxt.abi0
    0057e334ldr x0, [sp+8]
    0057e338b 0x57e200
    0057e33cudf 0
    0057e200
    0057e340
    0057e340crypto/internal/fips140/bigmod.(*Nat).IsOdd: ; void crypto/internal/fips140/bigmod.(*Nat).IsOdd(crypto/internal/fips140/bigmod.Nat * x)
    0057e340ldr x16, [x28+16]
    0057e344subs xzr, sp, x16
    0057e348b.ls 0x57e3c8
    0057e34cstr x30, [sp-48]!
    0057e350stur x29, [sp-8]
    0057e354sub x29, sp, 8
    0057e358str x0, [sp+56]
    0057e35cstr xzr, [sp+24]
    0057e360ldrsb x27, [x0]
    0057e364ldr x2, [x0+8]
    0057e368str x2, [sp+32]
    0057e36ccbz x2, 0x57e374
    0057e370b 0x57e388
    0057e374
    0057e374loc_57e374:
    0057e374str xzr, [sp+24]
    0057e378mov x0, xzr
    0057e37cldur x29, [sp-8]
    0057e380ldr x30, [sp], 48
    0057e384ret x30
    0057e388
    0057e388loc_57e388:
    0057e388ldrsb x27, [x0]
    0057e38cldr x1, [x0+8]
    0057e390ldr x2, [x0]
    0057e394subs xzr, x1, 0
    0057e398b.hi 0x57e3a0
    0057e39cb 0x57e3bc
    0057e3a0
    0057e3a0loc_57e3a0:
    0057e3a0ldr x1, [x2]
    0057e3a4and x1, x1, 1
    0057e3a8str x1, [sp+24]
    0057e3acldr x0, [sp+24]
    0057e3b0ldur x29, [sp-8]
    0057e3b4ldr x30, [sp], 48
    0057e3b8ret x30
    0057e3bc
    0057e3bcloc_57e3bc:
    0057e3bcmov x0, xzr
    0057e3c0bl runtime.panicIndex
    0057e3c4hint
    0057e3c8
    0057e3c8loc_57e3c8:
    0057e3c8str x0, [sp+8]
    0057e3ccmov x3, x30
    0057e3d0bl runtime.morestack_noctxt.abi0
    0057e3d4ldr x0, [sp+8]
    0057e3d8b 0x57e340
    0057e3dcudf 0
    0057e340
    0057e3e0
    0057e3e0crypto/internal/fips140/bigmod.(*Nat).cmpGeq: ; void crypto/internal/fips140/bigmod.(*Nat).cmpGeq(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.Nat * y)
    0057e3e0ldr x16, [x28+16]
    0057e3e4sub x17, sp, 48
    0057e3e8subs xzr, x17, x16
    0057e3ecb.ls 0x57e540
    0057e3f0str x30, [sp-176]!
    0057e3f4stur x29, [sp-8]
    0057e3f8sub x29, sp, 8
    0057e3fcstr x0, [sp+184]
    0057e400str x1, [sp+192]
    0057e404str xzr, [sp+32]
    0057e408ldrsb x27, [x0]
    0057e40cldr x1, [x0+8]
    0057e410str x1, [sp+40]
    0057e414ldrsb x27, [x0]
    0057e418ldr x2, [x0+16]
    0057e41cldr x3, [x0]
    0057e420subs xzr, x2, x1
    0057e424b.hs 0x57e42c
    0057e428b 0x57e538
    0057e42c
    0057e42cloc_57e42c:
    0057e42cb 0x57e430
    0057e430
    0057e430loc_57e430:
    0057e430str x3, [sp+144]
    0057e434str x1, [sp+152]
    0057e438str x2, [sp+160]
    0057e43cldr x3, [sp+192]
    0057e440ldrsb x27, [x3]
    0057e444ldr x2, [x3+16]
    0057e448ldr x3, [x3]
    0057e44cldr x1, [sp+40]
    0057e450subs xzr, x2, x1
    0057e454b.hs 0x57e45c
    0057e458b 0x57e534
    0057e45c
    0057e45cloc_57e45c:
    0057e45cb 0x57e460
    0057e460
    0057e460loc_57e460:
    0057e460str x3, [sp+120]
    0057e464str x1, [sp+128]
    0057e468str x2, [sp+136]
    0057e46cstr xzr, [sp+56]
    0057e470str xzr, [sp+48]
    0057e474b 0x57e478
    0057e478
    0057e478loc_57e478:
    0057e478ldr x2, [sp+40]
    0057e47cldr x3, [sp+48]
    0057e480subs xzr, x2, x3
    0057e484b.gt 0x57e48c
    0057e488b 0x57e510
    0057e48c
    0057e48cloc_57e48c:
    0057e48cldr x0, [sp+48]
    0057e490ldr x1, [sp+152]
    0057e494ldr x2, [sp+144]
    0057e498subs xzr, x0, x1
    0057e49cb.lo 0x57e4a4
    0057e4a0b 0x57e530
    0057e4a4
    0057e4a4loc_57e4a4:
    0057e4a4ldr x2, [x2+3*x0]
    0057e4a8str x2, [sp+88]
    0057e4acldr x0, [sp+48]
    0057e4b0ldr x1, [sp+128]
    0057e4b4ldr x3, [sp+120]
    0057e4b8subs xzr, x0, x1
    0057e4bcb.lo 0x57e4c4
    0057e4c0b 0x57e52c
    0057e4c4
    0057e4c4loc_57e4c4:
    0057e4c4ldr x3, [x3+3*x0]
    0057e4c8str x3, [sp+80]
    0057e4ccldr x4, [sp+56]
    0057e4d0subs x5, xzr, x4
    0057e4d4sbcs x5, x2, x3
    0057e4d8sbc x5, xzr, xzr
    0057e4dcsub x5, xzr, x5
    0057e4e0subs x4, xzr, x4
    0057e4e4sbcs x2, x2, x3
    0057e4e8str x2, [sp+112]
    0057e4ecstr x5, [sp+104]
    0057e4f0str x2, [sp+72]
    0057e4f4str x5, [sp+64]
    0057e4f8str x5, [sp+56]
    0057e4fcb 0x57e500
    0057e500
    0057e500loc_57e500:
    0057e500ldr x2, [sp+48]
    0057e504add x2, x2, 1
    0057e508str x2, [sp+48]
    0057e50cb 0x57e478
    0057e510
    0057e510loc_57e510:
    0057e510ldr x0, [sp+56]
    0057e514bl crypto/internal/fips140/bigmod.not
    0057e518str x0, [sp+96]
    0057e51cstr x0, [sp+32]
    0057e520ldur x29, [sp-8]
    0057e524ldr x30, [sp], 176
    0057e528ret x30
    0057e52c
    0057e52cloc_57e52c:
    0057e52cbl runtime.panicIndex
    0057e530
    0057e530loc_57e530:
    0057e530bl runtime.panicIndex
    0057e534
    0057e534loc_57e534:
    0057e534bl runtime.panicSliceAcap
    0057e538
    0057e538loc_57e538:
    0057e538bl runtime.panicSliceAcap
    0057e53chint
    0057e540
    0057e540loc_57e540:
    0057e540stp x0, x1, [sp+8]
    0057e544mov x3, x30
    0057e548bl runtime.morestack_noctxt.abi0
    0057e54cldp x0, x1, [sp+8]
    0057e550b 0x57e3e0
    0057e554udf 0
    0057e558udf 0
    0057e55cudf 0
    0057e3e0
    0057e560
    0057e560crypto/internal/fips140/bigmod.(*Nat).assign: ; void crypto/internal/fips140/bigmod.(*Nat).assign(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.choice on, crypto/internal/fips140/bigmod.Nat * y)
    0057e560ldr x16, [x28+16]
    0057e564subs xzr, sp, x16
    0057e568b.ls 0x57e6e4
    0057e56cstr x30, [sp-112]!
    0057e570stur x29, [sp-8]
    0057e574sub x29, sp, 8
    0057e578str x0, [sp+120]
    0057e57cstr x1, [sp+128]
    0057e580str x2, [sp+136]
    0057e584str xzr, [sp+48]
    0057e588ldr x3, [sp+120]
    0057e58cldrsb x27, [x3]
    0057e590ldr x1, [x3+8]
    0057e594str x1, [sp+24]
    0057e598ldr x3, [sp+120]
    0057e59cldrsb x27, [x3]
    0057e5a0ldr x2, [x3+16]
    0057e5a4ldr x3, [x3]
    0057e5a8subs xzr, x2, x1
    0057e5acb.hs 0x57e5b4
    0057e5b0b 0x57e6dc
    0057e5b4
    0057e5b4loc_57e5b4:
    0057e5b4b 0x57e5b8
    0057e5b8
    0057e5b8loc_57e5b8:
    0057e5b8str x3, [sp+80]
    0057e5bcstr x1, [sp+88]
    0057e5c0str x2, [sp+96]
    0057e5c4ldr x3, [sp+136]
    0057e5c8ldrsb x27, [x3]
    0057e5ccldr x2, [x3+16]
    0057e5d0ldr x3, [x3]
    0057e5d4ldr x1, [sp+24]
    0057e5d8subs xzr, x2, x1
    0057e5dcb.hs 0x57e5e4
    0057e5e0b 0x57e6d8
    0057e5e4
    0057e5e4loc_57e5e4:
    0057e5e4b 0x57e5e8
    0057e5e8
    0057e5e8loc_57e5e8:
    0057e5e8str x3, [sp+56]
    0057e5ecstr x1, [sp+64]
    0057e5f0str x2, [sp+72]
    0057e5f4ldr x0, [sp+128]
    0057e5f8bl crypto/internal/fips140/bigmod.ctMask
    0057e5fcstr x0, [sp+32]
    0057e600str xzr, [sp+40]
    0057e604b 0x57e608
    0057e608
    0057e608loc_57e608:
    0057e608ldr x2, [sp+24]
    0057e60cldr x3, [sp+40]
    0057e610subs xzr, x2, x3
    0057e614b.gt 0x57e61c
    0057e618b 0x57e6b0
    0057e61c
    0057e61cloc_57e61c:
    0057e61cldr x0, [sp+40]
    0057e620ldr x1, [sp+88]
    0057e624ldr x2, [sp+80]
    0057e628subs xzr, x0, x1
    0057e62cb.lo 0x57e634
    0057e630b 0x57e6d4
    0057e634
    0057e634loc_57e634:
    0057e634ldr x2, [x2+3*x0]
    0057e638ldr x3, [sp+32]
    0057e63cldr x0, [sp+40]
    0057e640ldr x1, [sp+88]
    0057e644ldr x4, [sp+80]
    0057e648subs xzr, x0, x1
    0057e64cb.lo 0x57e654
    0057e650b 0x57e6d0
    0057e654
    0057e654loc_57e654:
    0057e654ldr x4, [x4+3*x0]
    0057e658ldr x0, [sp+40]
    0057e65cldr x1, [sp+64]
    0057e660ldr x5, [sp+56]
    0057e664subs xzr, x0, x1
    0057e668b.lo 0x57e670
    0057e66cb 0x57e6cc
    0057e670
    0057e670loc_57e670:
    0057e670ldr x6, [sp+40]
    0057e674ldr x1, [sp+88]
    0057e678ldr x7, [sp+80]
    0057e67cldr x5, [x5+3*x0]
    0057e680eor x4, x4, x5
    0057e684and x3, x3, x4
    0057e688eor x2, x2, x3
    0057e68csubs xzr, x1, x6
    0057e690b.hi 0x57e698
    0057e694b 0x57e6c4
    0057e698
    0057e698loc_57e698:
    0057e698str x2, [x7+3*x6]
    0057e69cb 0x57e6a0
    0057e6a0
    0057e6a0loc_57e6a0:
    0057e6a0ldr x2, [sp+40]
    0057e6a4add x2, x2, 1
    0057e6a8str x2, [sp+40]
    0057e6acb 0x57e608
    0057e6b0
    0057e6b0loc_57e6b0:
    0057e6b0ldr x0, [sp+120]
    0057e6b4str x0, [sp+48]
    0057e6b8ldur x29, [sp-8]
    0057e6bcldr x30, [sp], 112
    0057e6c0ret x30
    0057e6c4
    0057e6c4loc_57e6c4:
    0057e6c4mov x0, x6
    0057e6c8bl runtime.panicIndex
    0057e6cc
    0057e6ccloc_57e6cc:
    0057e6ccbl runtime.panicIndex
    0057e6d0
    0057e6d0loc_57e6d0:
    0057e6d0bl runtime.panicIndex
    0057e6d4
    0057e6d4loc_57e6d4:
    0057e6d4bl runtime.panicIndex
    0057e6d8
    0057e6d8loc_57e6d8:
    0057e6d8bl runtime.panicSliceAcap
    0057e6dc
    0057e6dcloc_57e6dc:
    0057e6dcbl runtime.panicSliceAcap
    0057e6e0hint
    0057e6e4
    0057e6e4loc_57e6e4:
    0057e6e4stp x0, x1, [sp+8]
    0057e6e8str x2, [sp+24]
    0057e6ecmov x3, x30
    0057e6f0bl runtime.morestack_noctxt.abi0
    0057e6f4ldp x0, x1, [sp+8]
    0057e6f8ldr x2, [sp+24]
    0057e6fcb 0x57e560
    0057e560
    0057e700
    0057e700crypto/internal/fips140/bigmod.(*Nat).add: ; void crypto/internal/fips140/bigmod.(*Nat).add(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.Nat * y)
    0057e700ldr x16, [x28+16]
    0057e704sub x17, sp, 32
    0057e708subs xzr, x17, x16
    0057e70cb.ls 0x57e878
    0057e710str x30, [sp-160]!
    0057e714stur x29, [sp-8]
    0057e718sub x29, sp, 8
    0057e71cstr x0, [sp+168]
    0057e720str x1, [sp+176]
    0057e724str xzr, [sp+48]
    0057e728ldrsb x27, [x0]
    0057e72cldr x1, [x0+8]
    0057e730str x1, [sp+32]
    0057e734ldrsb x27, [x0]
    0057e738ldr x2, [x0+16]
    0057e73cldr x3, [x0]
    0057e740subs xzr, x2, x1
    0057e744b.hs 0x57e74c
    0057e748b 0x57e870
    0057e74c
    0057e74cloc_57e74c:
    0057e74cb 0x57e750
    0057e750
    0057e750loc_57e750:
    0057e750str x3, [sp+128]
    0057e754str x1, [sp+136]
    0057e758str x2, [sp+144]
    0057e75cldr x3, [sp+176]
    0057e760ldrsb x27, [x3]
    0057e764ldr x2, [x3+16]
    0057e768ldr x3, [x3]
    0057e76cldr x1, [sp+32]
    0057e770subs xzr, x2, x1
    0057e774b.hs 0x57e77c
    0057e778b 0x57e86c
    0057e77c
    0057e77cloc_57e77c:
    0057e77cb 0x57e780
    0057e780
    0057e780loc_57e780:
    0057e780str x3, [sp+104]
    0057e784str x1, [sp+112]
    0057e788str x2, [sp+120]
    0057e78cstr xzr, [sp+40]
    0057e790b 0x57e794
    0057e794
    0057e794loc_57e794:
    0057e794ldr x2, [sp+32]
    0057e798ldr x3, [sp+40]
    0057e79csubs xzr, x2, x3
    0057e7a0b.gt 0x57e7a8
    0057e7a4b 0x57e850
    0057e7a8
    0057e7a8loc_57e7a8:
    0057e7a8ldr x0, [sp+40]
    0057e7acldr x1, [sp+136]
    0057e7b0ldr x2, [sp+128]
    0057e7b4subs xzr, x1, x0
    0057e7b8b.hi 0x57e7c0
    0057e7bcb 0x57e868
    0057e7c0
    0057e7c0loc_57e7c0:
    0057e7c0ldr x2, [x2+3*x0]
    0057e7c4str x2, [sp+88]
    0057e7c8ldr x0, [sp+40]
    0057e7ccldr x1, [sp+112]
    0057e7d0ldr x3, [sp+104]
    0057e7d4subs xzr, x0, x1
    0057e7d8b.lo 0x57e7e0
    0057e7dcb 0x57e864
    0057e7e0
    0057e7e0loc_57e7e0:
    0057e7e0ldr x3, [x3+3*x0]
    0057e7e4str x3, [sp+80]
    0057e7e8ldr x4, [sp+48]
    0057e7ecmovn x5, 0
    0057e7f0adds x5, x4, x5
    0057e7f4adcs x5, x2, x3
    0057e7f8str x5, [sp+56]
    0057e7fcmovn x6, 0
    0057e800adds x4, x4, x6
    0057e804adcs x2, x2, x3
    0057e808adc x2, xzr, xzr
    0057e80cstr x2, [sp+96]
    0057e810str x5, [sp+72]
    0057e814str x2, [sp+64]
    0057e818ldr x0, [sp+40]
    0057e81cldr x1, [sp+136]
    0057e820ldr x2, [sp+128]
    0057e824subs xzr, x0, x1
    0057e828b.lo 0x57e830
    0057e82cb 0x57e860
    0057e830
    0057e830loc_57e830:
    0057e830str x5, [x2+3*x0]
    0057e834ldr x2, [sp+64]
    0057e838str x2, [sp+48]
    0057e83cb 0x57e840
    0057e840
    0057e840loc_57e840:
    0057e840ldr x2, [sp+40]
    0057e844add x2, x2, 1
    0057e848str x2, [sp+40]
    0057e84cb 0x57e794
    0057e850
    0057e850loc_57e850:
    0057e850ldr x0, [sp+48]
    0057e854ldur x29, [sp-8]
    0057e858ldr x30, [sp], 160
    0057e85cret x30
    0057e860
    0057e860loc_57e860:
    0057e860bl runtime.panicIndex
    0057e864
    0057e864loc_57e864:
    0057e864bl runtime.panicIndex
    0057e868
    0057e868loc_57e868:
    0057e868bl runtime.panicIndex
    0057e86c
    0057e86cloc_57e86c:
    0057e86cbl runtime.panicSliceAcap
    0057e870
    0057e870loc_57e870:
    0057e870bl runtime.panicSliceAcap
    0057e874hint
    0057e878
    0057e878loc_57e878:
    0057e878stp x0, x1, [sp+8]
    0057e87cmov x3, x30
    0057e880bl runtime.morestack_noctxt.abi0
    0057e884ldp x0, x1, [sp+8]
    0057e888b 0x57e700
    0057e88cudf 0
    0057e700
    0057e890
    0057e890crypto/internal/fips140/bigmod.(*Nat).sub: ; void crypto/internal/fips140/bigmod.(*Nat).sub(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.Nat * y)
    0057e890ldr x16, [x28+16]
    0057e894sub x17, sp, 32
    0057e898subs xzr, x17, x16
    0057e89cb.ls 0x57ea04
    0057e8a0str x30, [sp-160]!
    0057e8a4stur x29, [sp-8]
    0057e8a8sub x29, sp, 8
    0057e8acstr x0, [sp+168]
    0057e8b0str x1, [sp+176]
    0057e8b4str xzr, [sp+48]
    0057e8b8ldrsb x27, [x0]
    0057e8bcldr x1, [x0+8]
    0057e8c0str x1, [sp+32]
    0057e8c4ldrsb x27, [x0]
    0057e8c8ldr x2, [x0+16]
    0057e8ccldr x3, [x0]
    0057e8d0subs xzr, x2, x1
    0057e8d4b.hs 0x57e8dc
    0057e8d8b 0x57e9fc
    0057e8dc
    0057e8dcloc_57e8dc:
    0057e8dcb 0x57e8e0
    0057e8e0
    0057e8e0loc_57e8e0:
    0057e8e0str x3, [sp+128]
    0057e8e4str x1, [sp+136]
    0057e8e8str x2, [sp+144]
    0057e8ecldr x3, [sp+176]
    0057e8f0ldrsb x27, [x3]
    0057e8f4ldr x2, [x3+16]
    0057e8f8ldr x3, [x3]
    0057e8fcldr x1, [sp+32]
    0057e900subs xzr, x2, x1
    0057e904b.hs 0x57e90c
    0057e908b 0x57e9f8
    0057e90c
    0057e90cloc_57e90c:
    0057e90cb 0x57e910
    0057e910
    0057e910loc_57e910:
    0057e910str x3, [sp+104]
    0057e914str x1, [sp+112]
    0057e918str x2, [sp+120]
    0057e91cstr xzr, [sp+40]
    0057e920b 0x57e924
    0057e924
    0057e924loc_57e924:
    0057e924ldr x2, [sp+32]
    0057e928ldr x3, [sp+40]
    0057e92csubs xzr, x2, x3
    0057e930b.gt 0x57e938
    0057e934b 0x57e9dc
    0057e938
    0057e938loc_57e938:
    0057e938ldr x0, [sp+40]
    0057e93cldr x1, [sp+136]
    0057e940ldr x2, [sp+128]
    0057e944subs xzr, x1, x0
    0057e948b.hi 0x57e950
    0057e94cb 0x57e9f4
    0057e950
    0057e950loc_57e950:
    0057e950ldr x2, [x2+3*x0]
    0057e954str x2, [sp+88]
    0057e958ldr x0, [sp+40]
    0057e95cldr x1, [sp+112]
    0057e960ldr x3, [sp+104]
    0057e964subs xzr, x0, x1
    0057e968b.lo 0x57e970
    0057e96cb 0x57e9f0
    0057e970
    0057e970loc_57e970:
    0057e970ldr x3, [x3+3*x0]
    0057e974str x3, [sp+80]
    0057e978ldr x4, [sp+48]
    0057e97csubs x5, xzr, x4
    0057e980sbcs x5, x2, x3
    0057e984str x5, [sp+56]
    0057e988subs x4, xzr, x4
    0057e98csbcs x2, x2, x3
    0057e990sbc x2, xzr, xzr
    0057e994sub x2, xzr, x2
    0057e998str x2, [sp+96]
    0057e99cstr x5, [sp+72]
    0057e9a0str x2, [sp+64]
    0057e9a4ldr x0, [sp+40]
    0057e9a8ldr x1, [sp+136]
    0057e9acldr x2, [sp+128]
    0057e9b0subs xzr, x0, x1
    0057e9b4b.lo 0x57e9bc
    0057e9b8b 0x57e9ec
    0057e9bc
    0057e9bcloc_57e9bc:
    0057e9bcstr x5, [x2+3*x0]
    0057e9c0ldr x2, [sp+64]
    0057e9c4str x2, [sp+48]
    0057e9c8b 0x57e9cc
    0057e9cc
    0057e9ccloc_57e9cc:
    0057e9ccldr x2, [sp+40]
    0057e9d0add x2, x2, 1
    0057e9d4str x2, [sp+40]
    0057e9d8b 0x57e924
    0057e9dc
    0057e9dcloc_57e9dc:
    0057e9dcldr x0, [sp+48]
    0057e9e0ldur x29, [sp-8]
    0057e9e4ldr x30, [sp], 160
    0057e9e8ret x30
    0057e9ec
    0057e9ecloc_57e9ec:
    0057e9ecbl runtime.panicIndex
    0057e9f0
    0057e9f0loc_57e9f0:
    0057e9f0bl runtime.panicIndex
    0057e9f4
    0057e9f4loc_57e9f4:
    0057e9f4bl runtime.panicIndex
    0057e9f8
    0057e9f8loc_57e9f8:
    0057e9f8bl runtime.panicSliceAcap
    0057e9fc
    0057e9fcloc_57e9fc:
    0057e9fcbl runtime.panicSliceAcap
    0057ea00hint
    0057ea04
    0057ea04loc_57ea04:
    0057ea04stp x0, x1, [sp+8]
    0057ea08mov x3, x30
    0057ea0cbl runtime.morestack_noctxt.abi0
    0057ea10ldp x0, x1, [sp+8]
    0057ea14b 0x57e890
    0057ea18udf 0
    0057ea1cudf 0
    0057e890
    0057ea20
    0057ea20crypto/internal/fips140/bigmod.(*Nat).BitLenVarTime: ; void crypto/internal/fips140/bigmod.(*Nat).BitLenVarTime(crypto/internal/fips140/bigmod.Nat * x)
    0057ea20ldr x16, [x28+16]
    0057ea24subs xzr, sp, x16
    0057ea28b.ls 0x57eb2c
    0057ea2cstr x30, [sp-96]!
    0057ea30stur x29, [sp-8]
    0057ea34sub x29, sp, 8
    0057ea38str x0, [sp+104]
    0057ea3cstr xzr, [sp+24]
    0057ea40ldrsb x27, [x0]
    0057ea44ldr x1, [x0+8]
    0057ea48str x1, [sp+32]
    0057ea4cldrsb x27, [x0]
    0057ea50ldr x2, [x0+16]
    0057ea54ldr x3, [x0]
    0057ea58subs xzr, x2, x1
    0057ea5cb.hs 0x57ea64
    0057ea60b 0x57eb24
    0057ea64
    0057ea64loc_57ea64:
    0057ea64b 0x57ea68
    0057ea68
    0057ea68loc_57ea68:
    0057ea68str x3, [sp+64]
    0057ea6cstr x1, [sp+72]
    0057ea70str x2, [sp+80]
    0057ea74ldr x2, [sp+32]
    0057ea78sub x2, x2, 1
    0057ea7cstr x2, [sp+40]
    0057ea80b 0x57ea84
    0057ea84
    0057ea84loc_57ea84:
    0057ea84ldr x2, [sp+40]
    0057ea88tbz x2, 63, 0x57ea90
    0057ea8cb 0x57eb08
    0057ea90
    0057ea90loc_57ea90:
    0057ea90ldr x0, [sp+40]
    0057ea94ldr x1, [sp+72]
    0057ea98ldr x2, [sp+64]
    0057ea9csubs xzr, x1, x0
    0057eaa0b.hi 0x57eaa8
    0057eaa4b 0x57eb20
    0057eaa8
    0057eaa8loc_57eaa8:
    0057eaa8ldr x2, [x2+3*x0]
    0057eaaccbnz x2, 0x57eab4
    0057eab0b 0x57eaf4
    0057eab4
    0057eab4loc_57eab4:
    0057eab4ldr x0, [sp+40]
    0057eab8ldr x1, [sp+72]
    0057eabcldr x2, [sp+64]
    0057eac0subs xzr, x0, x1
    0057eac4b.lo 0x57eacc
    0057eac8b 0x57eb1c
    0057eacc
    0057eaccloc_57eacc:
    0057eaccldr x0, [x2+3*x0]
    0057ead0str x0, [sp+48]
    0057ead4bl crypto/internal/fips140/bigmod.bitLen
    0057ead8str x0, [sp+56]
    0057eadcldr x1, [sp+40]
    0057eae0add x0, x0, x1, lsl #6
    0057eae4str x0, [sp+24]
    0057eae8ldur x29, [sp-8]
    0057eaecldr x30, [sp], 96
    0057eaf0ret x30
    0057eaf4
    0057eaf4loc_57eaf4:
    0057eaf4b 0x57eaf8
    0057eaf8
    0057eaf8loc_57eaf8:
    0057eaf8ldr x2, [sp+40]
    0057eafcsub x2, x2, 1
    0057eb00str x2, [sp+40]
    0057eb04b 0x57ea84
    0057eb08
    0057eb08loc_57eb08:
    0057eb08str xzr, [sp+24]
    0057eb0cmov x0, xzr
    0057eb10ldur x29, [sp-8]
    0057eb14ldr x30, [sp], 96
    0057eb18ret x30
    0057eb1c
    0057eb1cloc_57eb1c:
    0057eb1cbl runtime.panicIndex
    0057eb20
    0057eb20loc_57eb20:
    0057eb20bl runtime.panicIndex
    0057eb24
    0057eb24loc_57eb24:
    0057eb24bl runtime.panicSliceAcap
    0057eb28hint
    0057eb2c
    0057eb2cloc_57eb2c:
    0057eb2cstr x0, [sp+8]
    0057eb30mov x3, x30
    0057eb34bl runtime.morestack_noctxt.abi0
    0057eb38ldr x0, [sp+8]
    0057eb3cb 0x57ea20
    0057ea20
    0057eb40
    0057eb40crypto/internal/fips140/bigmod.bitLen: ; void crypto/internal/fips140/bigmod.bitLen(uint n)
    0057eb40str x30, [sp-32]!
    0057eb44stur x29, [sp-8]
    0057eb48sub x29, sp, 8
    0057eb4cstr x0, [sp+40]
    0057eb50str xzr, [sp+8]
    0057eb54str xzr, [sp+16]
    0057eb58b 0x57eb5c
    0057eb5c
    0057eb5cloc_57eb5c:
    0057eb5cldr x1, [sp+40]
    0057eb60cbnz x1, 0x57eb68
    0057eb64b 0x57eb88
    0057eb68
    0057eb68loc_57eb68:
    0057eb68ldr x1, [sp+16]
    0057eb6cadd x1, x1, 1
    0057eb70str x1, [sp+16]
    0057eb74ldr x1, [sp+40]
    0057eb78ubfm x1, x1, 1, 63
    0057eb7cstr x1, [sp+40]
    0057eb80b 0x57eb84
    0057eb84
    0057eb84loc_57eb84:
    0057eb84b 0x57eb5c
    0057eb88
    0057eb88loc_57eb88:
    0057eb88ldr x0, [sp+16]
    0057eb8cstr x0, [sp+8]
    0057eb90add x29, sp, 24
    0057eb94add sp, sp, 32
    0057eb98ret x30
    0057eb9cudf 0
    0057eb40
    0057eba0
    0057eba0crypto/internal/fips140/bigmod.rr: ; void crypto/internal/fips140/bigmod.rr(crypto/internal/fips140/bigmod.Modulus * m)
    0057eba0ldr x16, [x28+16]
    0057eba4sub x17, sp, 16
    0057eba8subs xzr, x17, x16
    0057ebacb.ls 0x57edd8
    0057ebb0str x30, [sp-144]!
    0057ebb4stur x29, [sp-8]
    0057ebb8sub x29, sp, 8
    0057ebbcstr x0, [sp+152]
    0057ebc0str xzr, [sp+112]
    0057ebc4bl crypto/internal/fips140/bigmod.NewNat
    0057ebc8str x0, [sp+128]
    0057ebccldr x1, [sp+152]
    0057ebd0bl crypto/internal/fips140/bigmod.(*Nat).ExpandFor
    0057ebd4str x0, [sp+120]
    0057ebd8ldrsb x27, [x0]
    0057ebdcldr x0, [x0+8]
    0057ebe0str x0, [sp+104]
    0057ebe4str x0, [sp+48]
    0057ebe8ldr x0, [sp+152]
    0057ebecbl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    0057ebf0str x0, [sp+104]
    0057ebf4str x0, [sp+56]
    0057ebf8ldr x0, [sp+48]
    0057ebfcubfm x0, x0, 58, 57
    0057ec00str x0, [sp+64]
    0057ec04ldr x0, [sp+48]
    0057ec08sub x0, x0, 1
    0057ec0cstr x0, [sp+96]
    0057ec10ldr x1, [sp+120]
    0057ec14ldrsb x27, [x1]
    0057ec18ldr x2, [x1+8]
    0057ec1cldr x1, [x1]
    0057ec20ldr x3, [sp+56]
    0057ec24sub x3, x3, 1
    0057ec28orr x4, xzr, 1
    0057ec2clslv x3, x4, x3
    0057ec30subs xzr, x2, x0
    0057ec34b.hi 0x57ec3c
    0057ec38b 0x57edcc
    0057ec3c
    0057ec3cloc_57ec3c:
    0057ec3cstr x3, [x1+3*x0]
    0057ec40ldr x4, [sp+56]
    0057ec44sub x4, x4, 1
    0057ec48str x4, [sp+88]
    0057ec4cb 0x57ec50
    0057ec50
    0057ec50loc_57ec50:
    0057ec50ldr x4, [sp+64]
    0057ec54ldr x5, [sp+88]
    0057ec58subs xzr, x4, x5
    0057ec5cb.hi 0x57ec64
    0057ec60b 0x57ec88
    0057ec64
    0057ec64loc_57ec64:
    0057ec64ldr x1, [sp+120]
    0057ec68ldr x2, [sp+152]
    0057ec6cldr x0, [sp+120]
    0057ec70bl crypto/internal/fips140/bigmod.(*Nat).Add
    0057ec74b 0x57ec78
    0057ec78
    0057ec78loc_57ec78:
    0057ec78ldr x4, [sp+88]
    0057ec7cadd x4, x4, 1
    0057ec80str x4, [sp+88]
    0057ec84b 0x57ec50
    0057ec88
    0057ec88loc_57ec88:
    0057ec88ldr x4, [sp+48]
    0057ec8cubfm x4, x4, 2, 63
    0057ec90str x4, [sp+40]
    0057ec94orr x4, xzr, 64
    0057ec98str x4, [sp+80]
    0057ec9cb 0x57eca0
    0057eca0
    0057eca0loc_57eca0:
    0057eca0ldr x4, [sp+64]
    0057eca4ldr x5, [sp+80]
    0057eca8tbz x5, 63, 0x57ecb0
    0057ecacb 0x57edc8
    0057ecb0
    0057ecb0loc_57ecb0:
    0057ecb0lsrv x4, x4, x5
    0057ecb4ldr x6, [sp+40]
    0057ecb8subs xzr, x5, 64
    0057ecbccsel x4, x4, xzr, lo
    0057ecc0subs xzr, x4, x6
    0057ecc4b.ls 0x57eccc
    0057ecc8b 0x57ece0
    0057eccc
    0057ecccloc_57eccc:
    0057ecccldr x4, [sp+80]
    0057ecd0sub x4, x4, 1
    0057ecd4str x4, [sp+80]
    0057ecd8b 0x57ecdc
    0057ecdc
    0057ecdcloc_57ecdc:
    0057ecdcb 0x57eca0
    0057ece0
    0057ece0loc_57ece0:
    0057ece0str xzr, [sp+72]
    0057ece4b 0x57ece8
    0057ece8
    0057ece8loc_57ece8:
    0057ece8ldr x4, [sp+72]
    0057ececldr x5, [sp+64]
    0057ecf0ldr x6, [sp+80]
    0057ecf4tbz x6, 63, 0x57ecfc
    0057ecf8b 0x57edc4
    0057ecfc
    0057ecfcloc_57ecfc:
    0057ecfclsrv x5, x5, x6
    0057ed00subs xzr, x6, 64
    0057ed04csel x5, x5, xzr, lo
    0057ed08subs xzr, x5, x4
    0057ed0cb.hi 0x57ed14
    0057ed10b 0x57ed38
    0057ed14
    0057ed14loc_57ed14:
    0057ed14ldr x1, [sp+120]
    0057ed18ldr x2, [sp+152]
    0057ed1cldr x0, [sp+120]
    0057ed20bl crypto/internal/fips140/bigmod.(*Nat).Add
    0057ed24b 0x57ed28
    0057ed28
    0057ed28loc_57ed28:
    0057ed28ldr x4, [sp+72]
    0057ed2cadd x4, x4, 1
    0057ed30str x4, [sp+72]
    0057ed34b 0x57ece8
    0057ed38
    0057ed38loc_57ed38:
    0057ed38b 0x57ed3c
    0057ed3c
    0057ed3cloc_57ed3c:
    0057ed3cldr x4, [sp+80]
    0057ed40subs xzr, x4, 0
    0057ed44b.gt 0x57ed4c
    0057ed48b 0x57edac
    0057ed4c
    0057ed4cloc_57ed4c:
    0057ed4cldr x1, [sp+120]
    0057ed50ldr x2, [sp+120]
    0057ed54ldr x3, [sp+152]
    0057ed58ldr x0, [sp+120]
    0057ed5cbl crypto/internal/fips140/bigmod.(*Nat).montgomeryMul
    0057ed60ldr x4, [sp+80]
    0057ed64sub x4, x4, 1
    0057ed68str x4, [sp+80]
    0057ed6cldr x5, [sp+64]
    0057ed70tbz x4, 63, 0x57ed78
    0057ed74b 0x57edc0
    0057ed78
    0057ed78loc_57ed78:
    0057ed78lsrv x5, x5, x4
    0057ed7csubs xzr, x4, 64
    0057ed80csel x4, x5, xzr, lo
    0057ed84tbnz w4, 0, 0x57ed8c
    0057ed88b 0x57eda0
    0057ed8c
    0057ed8cloc_57ed8c:
    0057ed8cldr x1, [sp+120]
    0057ed90ldr x2, [sp+152]
    0057ed94ldr x0, [sp+120]
    0057ed98bl crypto/internal/fips140/bigmod.(*Nat).Add
    0057ed9cb 0x57eda4
    0057eda0
    0057eda0loc_57eda0:
    0057eda0b 0x57eda4
    0057eda4
    0057eda4loc_57eda4:
    0057eda4b 0x57eda8
    0057eda8
    0057eda8loc_57eda8:
    0057eda8b 0x57ed3c
    0057edac
    0057edacloc_57edac:
    0057edacldr x0, [sp+120]
    0057edb0str x0, [sp+112]
    0057edb4ldur x29, [sp-8]
    0057edb8ldr x30, [sp], 144
    0057edbcret x30
    0057edc0
    0057edc0loc_57edc0:
    0057edc0bl runtime.panicshift
    0057edc4
    0057edc4loc_57edc4:
    0057edc4bl runtime.panicshift
    0057edc8
    0057edc8loc_57edc8:
    0057edc8bl runtime.panicshift
    0057edcc
    0057edccloc_57edcc:
    0057edccmov x1, x2
    0057edd0bl runtime.panicIndexU
    0057edd4hint
    0057edd8
    0057edd8loc_57edd8:
    0057edd8str x0, [sp+8]
    0057eddcmov x3, x30
    0057ede0bl runtime.morestack_noctxt.abi0
    0057ede4ldr x0, [sp+8]
    0057ede8b 0x57eba0
    0057edecudf 0
    0057eba0
    0057edf0
    0057edf0crypto/internal/fips140/bigmod.minusInverseModW: ; void crypto/internal/fips140/bigmod.minusInverseModW(uint x)
    0057edf0str x30, [sp-48]!
    0057edf4stur x29, [sp-8]
    0057edf8sub x29, sp, 8
    0057edfcstr x0, [sp+56]
    0057ee00str xzr, [sp+16]
    0057ee04str x0, [sp+24]
    0057ee08str xzr, [sp+32]
    0057ee0cb 0x57ee10
    0057ee10
    0057ee10loc_57ee10:
    0057ee10ldr x1, [sp+32]
    0057ee14subs xzr, x1, 5
    0057ee18b.lt 0x57ee20
    0057ee1cb 0x57ee50
    0057ee20
    0057ee20loc_57ee20:
    0057ee20ldr x1, [sp+24]
    0057ee24ldr x2, [sp+56]
    0057ee28ldr x3, [sp+24]
    0057ee2cmsub x2, x2, x3, xzr
    0057ee30add x2, x2, 2
    0057ee34madd x1, x1, x2, xzr
    0057ee38str x1, [sp+24]
    0057ee3cb 0x57ee40
    0057ee40
    0057ee40loc_57ee40:
    0057ee40ldr x1, [sp+32]
    0057ee44add x1, x1, 1
    0057ee48str x1, [sp+32]
    0057ee4cb 0x57ee10
    0057ee50
    0057ee50loc_57ee50:
    0057ee50ldr x1, [sp+24]
    0057ee54sub x0, xzr, x1
    0057ee58str x0, [sp+16]
    0057ee5cadd x29, sp, 40
    0057ee60add sp, sp, 48
    0057ee64ret x30
    0057ee68udf 0
    0057ee6cudf 0
    0057edf0
    0057ee70
    0057ee70crypto/internal/fips140/bigmod.NewModulus: ; void crypto/internal/fips140/bigmod.NewModulus(struct []uint8 b)
    0057ee70ldr x16, [x28+16]
    0057ee74sub x17, sp, 16
    0057ee78subs xzr, x17, x16
    0057ee7cb.ls 0x57ef18
    0057ee80str x30, [sp-144]!
    0057ee84stur x29, [sp-8]
    0057ee88sub x29, sp, 8
    0057ee8cstr x0, [sp+152]
    0057ee90str x1, [sp+160]
    0057ee94str x2, [sp+168]
    0057ee98str xzr, [sp+64]
    0057ee9cstp xzr, xzr, [sp+48]
    0057eea0bl crypto/internal/fips140/bigmod.NewNat
    0057eea4str x0, [sp+104]
    0057eea8ldr x1, [sp+152]
    0057eeacldr x2, [sp+160]
    0057eeb0ldr x3, [sp+168]
    0057eeb4bl crypto/internal/fips140/bigmod.(*Nat).resetToBytes
    0057eeb8str x0, [sp+72]
    0057eebcstr xzr, [sp+96]
    0057eec0stp xzr, xzr, [sp+80]
    0057eec4ldr x0, [sp+72]
    0057eec8bl crypto/internal/fips140/bigmod.newModulus
    0057eeccstr x0, [sp+96]
    0057eed0str x1, [sp+80]
    0057eed4str x2, [sp+88]
    0057eed8ldr x0, [sp+96]
    0057eedcstr x0, [sp+128]
    0057eee0ldr x0, [sp+80]
    0057eee4ldr x1, [sp+88]
    0057eee8str x0, [sp+112]
    0057eeecstr x1, [sp+120]
    0057eef0ldr x0, [sp+128]
    0057eef4str x0, [sp+64]
    0057eef8ldr x1, [sp+112]
    0057eefcldr x2, [sp+120]
    0057ef00str x1, [sp+48]
    0057ef04str x2, [sp+56]
    0057ef08ldr x0, [sp+64]
    0057ef0cldur x29, [sp-8]
    0057ef10ldr x30, [sp], 144
    0057ef14ret x30
    0057ef18
    0057ef18loc_57ef18:
    0057ef18stp x0, x1, [sp+8]
    0057ef1cstr x2, [sp+24]
    0057ef20mov x3, x30
    0057ef24bl runtime.morestack_noctxt.abi0
    0057ef28ldp x0, x1, [sp+8]
    0057ef2cldr x2, [sp+24]
    0057ef30b 0x57ee70
    0057ef34udf 0
    0057ef38udf 0
    0057ef3cudf 0
    0057ee70
    0057ef40
    0057ef40crypto/internal/fips140/bigmod.newModulus: ; void crypto/internal/fips140/bigmod.newModulus(crypto/internal/fips140/bigmod.Nat * n)
    0057ef40ldr x16, [x28+16]
    0057ef44sub x17, sp, 48
    0057ef48subs xzr, x17, x16
    0057ef4cb.ls 0x57f17c
    0057ef50str x30, [sp-176]!
    0057ef54stur x29, [sp-8]
    0057ef58sub x29, sp, 8
    0057ef5cstr x0, [sp+184]
    0057ef60str xzr, [sp+96]
    0057ef64stp xzr, xzr, [sp+80]
    0057ef68adrp x0, 0xea000
    0057ef6cadd x0, x0, 2720
    0057ef70bl runtime.newobject
    0057ef74str x0, [sp+160]
    0057ef78strb wzr, [x0+8]
    0057ef7cstr xzr, [x0+16]
    0057ef80adrp x27, 0x4cd000
    0057ef84ldr w1, [x27+3056]
    0057ef88cbz w1, 0x57ef90
    0057ef8cb 0x57ef94
    0057ef90
    0057ef90loc_57ef90:
    0057ef90b 0x57efac
    0057ef94
    0057ef94loc_57ef94:
    0057ef94ldr x1, [x0]
    0057ef98bl runtime.gcWriteBarrier2
    0057ef9cstr x1, [x25]
    0057efa0ldr x1, [x0+24]
    0057efa4str x1, [x25+8]
    0057efa8b 0x57efac
    0057efac
    0057efacloc_57efac:
    0057efacstr xzr, [x0]
    0057efb0str xzr, [x0+24]
    0057efb4ldr x1, [sp+160]
    0057efb8ldrsb x27, [x1]
    0057efbcldr x2, [sp+184]
    0057efc0adrp x27, 0x4cd000
    0057efc4ldr w3, [x27+3056]
    0057efc8cbz w3, 0x57efd0
    0057efccb 0x57efd4
    0057efd0
    0057efd0loc_57efd0:
    0057efd0b 0x57efe8
    0057efd4
    0057efd4loc_57efd4:
    0057efd4bl runtime.gcWriteBarrier2
    0057efd8str x2, [x25]
    0057efdcldr x3, [x1]
    0057efe0str x3, [x25+8]
    0057efe4b 0x57efe8
    0057efe8
    0057efe8loc_57efe8:
    0057efe8str x2, [x1]
    0057efecldr x1, [sp+160]
    0057eff0str x1, [sp+104]
    0057eff4ldrsb x27, [x1]
    0057eff8ldr x0, [x1]
    0057effcstr x0, [sp+152]
    0057f000bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0057f004str x0, [sp+64]
    0057f008subs xzr, x0, 1
    0057f00ccset x1, eq
    0057f010strb w1, [sp+47]
    0057f014b.eq 0x57f01c
    0057f018b 0x57f020
    0057f01c
    0057f01cloc_57f01c:
    0057f01cb 0x57f048
    0057f020
    0057f020loc_57f020:
    0057f020ldr x1, [sp+104]
    0057f024ldrsb x27, [x1]
    0057f028ldr x0, [x1]
    0057f02cstr x0, [sp+144]
    0057f030bl crypto/internal/fips140/bigmod.(*Nat).IsOne
    0057f034str x0, [sp+56]
    0057f038subs xzr, x0, 1
    0057f03ccset x1, eq
    0057f040strb w1, [sp+47]
    0057f044b 0x57f048
    0057f048
    0057f048loc_57f048:
    0057f048ldrb w2, [sp+47]
    0057f04ctbnz w2, 0, 0x57f054
    0057f050b 0x57f090
    0057f054
    0057f054loc_57f054:
    0057f054adrp x0, 0x137000
    0057f058add x0, x0, 1916
    0057f05cmovz x1, 19
    0057f060bl errors.New
    0057f064str x0, [sp+120]
    0057f068str x1, [sp+128]
    0057f06cstr xzr, [sp+96]
    0057f070ldr x1, [sp+120]
    0057f074ldr x2, [sp+128]
    0057f078str x1, [sp+80]
    0057f07cstr x2, [sp+88]
    0057f080ldr x0, [sp+96]
    0057f084ldur x29, [sp-8]
    0057f088ldr x30, [sp], 176
    0057f08cret x30
    0057f090
    0057f090loc_57f090:
    0057f090ldr x1, [sp+104]
    0057f094ldrsb x27, [x1]
    0057f098ldr x0, [x1]
    0057f09cstr x0, [sp+136]
    0057f0a0bl crypto/internal/fips140/bigmod.(*Nat).IsOdd
    0057f0a4str x0, [sp+64]
    0057f0a8subs xzr, x0, 1
    0057f0acb.eq 0x57f0b4
    0057f0b0b 0x57f148
    0057f0b4
    0057f0b4loc_57f0b4:
    0057f0b4ldr x2, [sp+104]
    0057f0b8ldrsb x27, [x2]
    0057f0bcorr x3, xzr, 1
    0057f0c0strb w3, [x2+8]
    0057f0c4ldr x2, [sp+104]
    0057f0c8ldrsb x27, [x2]
    0057f0ccldr x2, [x2]
    0057f0d0ldrsb x27, [x2]
    0057f0d4ldr x1, [x2+8]
    0057f0d8ldr x2, [x2]
    0057f0dcsubs xzr, x1, 0
    0057f0e0b.hi 0x57f0e8
    0057f0e4b 0x57f170
    0057f0e8
    0057f0e8loc_57f0e8:
    0057f0e8ldr x0, [x2]
    0057f0ecstr x0, [sp+72]
    0057f0f0bl crypto/internal/fips140/bigmod.minusInverseModW
    0057f0f4str x0, [sp+48]
    0057f0f8ldr x1, [sp+104]
    0057f0fcldrsb x27, [x1]
    0057f100str x0, [x1+16]
    0057f104ldr x0, [sp+104]
    0057f108bl crypto/internal/fips140/bigmod.rr
    0057f10cstr x0, [sp+112]
    0057f110ldr x1, [sp+104]
    0057f114ldrsb x27, [x1]
    0057f118adrp x27, 0x4cc000
    0057f11cldr w2, [x27+3056]
    0057f120cbz w2, 0x57f128
    0057f124b 0x57f12c
    0057f128
    0057f128loc_57f128:
    0057f128b 0x57f140
    0057f12c
    0057f12cloc_57f12c:
    0057f12cbl runtime.gcWriteBarrier2
    0057f130str x0, [x25]
    0057f134ldr x3, [x1+24]
    0057f138str x3, [x25+8]
    0057f13cb 0x57f140
    0057f140
    0057f140loc_57f140:
    0057f140str x0, [x1+24]
    0057f144b 0x57f14c
    0057f148
    0057f148loc_57f148:
    0057f148b 0x57f14c
    0057f14c
    0057f14cloc_57f14c:
    0057f14cldr x3, [sp+104]
    0057f150str x3, [sp+96]
    0057f154stp xzr, xzr, [sp+80]
    0057f158ldr x0, [sp+96]
    0057f15cmov x1, xzr
    0057f160mov x2, xzr
    0057f164ldur x29, [sp-8]
    0057f168ldr x30, [sp], 176
    0057f16cret x30
    0057f170
    0057f170loc_57f170:
    0057f170mov x0, xzr
    0057f174bl runtime.panicIndex
    0057f178hint
    0057f17c
    0057f17cloc_57f17c:
    0057f17cstr x0, [sp+8]
    0057f180mov x3, x30
    0057f184bl runtime.morestack_noctxt.abi0
    0057f188ldr x0, [sp+8]
    0057f18cb 0x57ef40
    0057ef40
    0057f190
    0057f190crypto/internal/fips140/bigmod.(*Modulus).Size: ; void crypto/internal/fips140/bigmod.(*Modulus).Size(crypto/internal/fips140/bigmod.Modulus * m)
    0057f190ldr x16, [x28+16]
    0057f194subs xzr, sp, x16
    0057f198b.ls 0x57f1dc
    0057f19cstr x30, [sp-48]!
    0057f1a0stur x29, [sp-8]
    0057f1a4sub x29, sp, 8
    0057f1a8str x0, [sp+56]
    0057f1acstr xzr, [sp+24]
    0057f1b0bl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    0057f1b4str x0, [sp+32]
    0057f1b8add x1, x0, 7
    0057f1bcsbfm x1, x1, 63, 63
    0057f1c0add x1, x0, x1, lsr #61
    0057f1c4add x1, x1, 7
    0057f1c8sbfm x0, x1, 3, 63
    0057f1ccstr x0, [sp+24]
    0057f1d0ldur x29, [sp-8]
    0057f1d4ldr x30, [sp], 48
    0057f1d8ret x30
    0057f1dc
    0057f1dcloc_57f1dc:
    0057f1dcstr x0, [sp+8]
    0057f1e0mov x3, x30
    0057f1e4bl runtime.morestack_noctxt.abi0
    0057f1e8ldr x0, [sp+8]
    0057f1ecb 0x57f190
    0057f190
    0057f1f0
    0057f1f0crypto/internal/fips140/bigmod.(*Modulus).BitLen: ; void crypto/internal/fips140/bigmod.(*Modulus).BitLen(crypto/internal/fips140/bigmod.Modulus * m)
    0057f1f0ldr x16, [x28+16]
    0057f1f4subs xzr, sp, x16
    0057f1f8b.ls 0x57f234
    0057f1fcstr x30, [sp-48]!
    0057f200stur x29, [sp-8]
    0057f204sub x29, sp, 8
    0057f208str x0, [sp+56]
    0057f20cstr xzr, [sp+16]
    0057f210ldrsb x27, [x0]
    0057f214ldr x0, [x0]
    0057f218str x0, [sp+32]
    0057f21cbl crypto/internal/fips140/bigmod.(*Nat).BitLenVarTime
    0057f220str x0, [sp+24]
    0057f224str x0, [sp+16]
    0057f228ldur x29, [sp-8]
    0057f22cldr x30, [sp], 48
    0057f230ret x30
    0057f234
    0057f234loc_57f234:
    0057f234str x0, [sp+8]
    0057f238mov x3, x30
    0057f23cbl runtime.morestack_noctxt.abi0
    0057f240ldr x0, [sp+8]
    0057f244b 0x57f1f0
    0057f248udf 0
    0057f24cudf 0
    0057f1f0
    0057f250
    0057f250crypto/internal/fips140/bigmod.(*Modulus).Nat: ; void crypto/internal/fips140/bigmod.(*Modulus).Nat(crypto/internal/fips140/bigmod.Modulus * m)
    0057f250ldr x16, [x28+16]
    0057f254subs xzr, sp, x16
    0057f258b.ls 0x57f2a4
    0057f25cstr x30, [sp-64]!
    0057f260stur x29, [sp-8]
    0057f264sub x29, sp, 8
    0057f268str x0, [sp+72]
    0057f26cstr xzr, [sp+32]
    0057f270bl crypto/internal/fips140/bigmod.NewNat
    0057f274str x0, [sp+40]
    0057f278ldr x0, [sp+72]
    0057f27cldrsb x27, [x0]
    0057f280ldr x1, [x0]
    0057f284str x1, [sp+48]
    0057f288ldr x0, [sp+40]
    0057f28cbl crypto/internal/fips140/bigmod.(*Nat).set
    0057f290ldr x0, [sp+40]
    0057f294str x0, [sp+32]
    0057f298ldur x29, [sp-8]
    0057f29cldr x30, [sp], 64
    0057f2a0ret x30
    0057f2a4
    0057f2a4loc_57f2a4:
    0057f2a4str x0, [sp+8]
    0057f2a8mov x3, x30
    0057f2acbl runtime.morestack_noctxt.abi0
    0057f2b0ldr x0, [sp+8]
    0057f2b4b 0x57f250
    0057f2b8udf 0
    0057f2bcudf 0
    0057f250
    0057f2c0
    0057f2c0crypto/internal/fips140/bigmod.(*Nat).shiftIn: ; void crypto/internal/fips140/bigmod.(*Nat).shiftIn(crypto/internal/fips140/bigmod.Nat * x, uint y, crypto/internal/fips140/bigmod.Modulus * m)
    0057f2c0ldr x16, [x28+16]
    0057f2c4sub x17, sp, 144
    0057f2c8subs xzr, x17, x16
    0057f2ccb.ls 0x57f5fc
    0057f2d0sub x20, sp, 272
    0057f2d4stp x29, x30, [x20-8]
    0057f2d8add sp, x20, 0
    0057f2dcsub x29, sp, 8
    0057f2e0str x0, [sp+280]
    0057f2e4str x1, [sp+288]
    0057f2e8str x2, [sp+296]
    0057f2ecstr xzr, [sp+168]
    0057f2f0bl crypto/internal/fips140/bigmod.NewNat
    0057f2f4str x0, [sp+256]
    0057f2f8ldr x1, [sp+296]
    0057f2fcbl crypto/internal/fips140/bigmod.(*Nat).resetFor
    0057f300str x0, [sp+248]
    0057f304ldr x0, [sp+296]
    0057f308ldrsb x27, [x0]
    0057f30cldr x0, [x0]
    0057f310ldrsb x27, [x0]
    0057f314ldr x1, [x0+8]
    0057f318str x1, [sp+32]
    0057f31cldr x0, [sp+280]
    0057f320ldrsb x27, [x0]
    0057f324ldr x2, [x0+16]
    0057f328ldr x0, [x0]
    0057f32csubs xzr, x2, x1
    0057f330b.hs 0x57f338
    0057f334b 0x57f5f4
    0057f338
    0057f338loc_57f338:
    0057f338b 0x57f33c
    0057f33c
    0057f33cloc_57f33c:
    0057f33cstr x0, [sp+176]
    0057f340str x1, [sp+184]
    0057f344str x2, [sp+192]
    0057f348ldr x3, [sp+248]
    0057f34cldrsb x27, [x3]
    0057f350ldr x2, [x3+16]
    0057f354ldr x3, [x3]
    0057f358ldr x1, [sp+32]
    0057f35csubs xzr, x2, x1
    0057f360b.hs 0x57f368
    0057f364b 0x57f5f0
    0057f368
    0057f368loc_57f368:
    0057f368b 0x57f36c
    0057f36c
    0057f36cloc_57f36c:
    0057f36cstr x3, [sp+224]
    0057f370str x1, [sp+232]
    0057f374str x2, [sp+240]
    0057f378ldr x3, [sp+296]
    0057f37cldrsb x27, [x3]
    0057f380ldr x3, [x3]
    0057f384ldrsb x27, [x3]
    0057f388ldr x2, [x3+16]
    0057f38cldr x3, [x3]
    0057f390ldr x1, [sp+32]
    0057f394subs xzr, x2, x1
    0057f398b.hs 0x57f3a0
    0057f39cb 0x57f5ec
    0057f3a0
    0057f3a0loc_57f3a0:
    0057f3a0b 0x57f3a4
    0057f3a4
    0057f3a4loc_57f3a4:
    0057f3a4str x3, [sp+200]
    0057f3a8str x1, [sp+208]
    0057f3acstr x2, [sp+216]
    0057f3b0str xzr, [sp+40]
    0057f3b4orr x3, xzr, 63
    0057f3b8str x3, [sp+72]
    0057f3bcb 0x57f3c0
    0057f3c0
    0057f3c0loc_57f3c0:
    0057f3c0ldr x3, [sp+72]
    0057f3c4tbz x3, 63, 0x57f3cc
    0057f3c8b 0x57f408
    0057f3cc
    0057f3ccloc_57f3cc:
    0057f3ccldr x1, [sp+288]
    0057f3d0ldr x2, [sp+72]
    0057f3d4tbz x2, 63, 0x57f3dc
    0057f3d8b 0x57f5e8
    0057f3dc
    0057f3dcloc_57f3dc:
    0057f3dclsrv x1, x1, x2
    0057f3e0subs xzr, x2, 64
    0057f3e4csel x1, x1, xzr, lo
    0057f3e8and x1, x1, 1
    0057f3ecstr x1, [sp+80]
    0057f3f0str xzr, [sp+88]
    0057f3f4ldr x0, [sp+40]
    0057f3f8bl crypto/internal/fips140/bigmod.ctMask
    0057f3fcstr x0, [sp+48]
    0057f400str xzr, [sp+64]
    0057f404b 0x57f42c
    0057f408
    0057f408loc_57f408:
    0057f408ldr x1, [sp+40]
    0057f40cldr x2, [sp+248]
    0057f410ldr x0, [sp+280]
    0057f414bl crypto/internal/fips140/bigmod.(*Nat).assign
    0057f418str x0, [sp+256]
    0057f41cstr x0, [sp+168]
    0057f420ldp x29, x30, [sp-8]
    0057f424add sp, sp, 272
    0057f428ret x30
    0057f42c
    0057f42cloc_57f42c:
    0057f42cldr x2, [sp+32]
    0057f430ldr x3, [sp+64]
    0057f434subs xzr, x2, x3
    0057f438b.gt 0x57f440
    0057f43cb 0x57f5a0
    0057f440
    0057f440loc_57f440:
    0057f440ldr x0, [sp+64]
    0057f444ldr x1, [sp+184]
    0057f448ldr x2, [sp+176]
    0057f44csubs xzr, x1, x0
    0057f450b.hi 0x57f458
    0057f454b 0x57f5e4
    0057f458
    0057f458loc_57f458:
    0057f458ldr x2, [x2+3*x0]
    0057f45cldr x3, [sp+48]
    0057f460ldr x0, [sp+64]
    0057f464ldr x1, [sp+184]
    0057f468ldr x4, [sp+176]
    0057f46csubs xzr, x1, x0
    0057f470b.hi 0x57f478
    0057f474b 0x57f5e0
    0057f478
    0057f478loc_57f478:
    0057f478ldr x4, [x4+3*x0]
    0057f47cldr x0, [sp+64]
    0057f480ldr x1, [sp+232]
    0057f484ldr x5, [sp+224]
    0057f488subs xzr, x0, x1
    0057f48cb.lo 0x57f494
    0057f490b 0x57f5dc
    0057f494
    0057f494loc_57f494:
    0057f494ldr x5, [x5+3*x0]
    0057f498eor x4, x4, x5
    0057f49cand x3, x3, x4
    0057f4a0eor x2, x2, x3
    0057f4a4str x2, [sp+56]
    0057f4a8ldr x3, [sp+80]
    0057f4acmovn x4, 0
    0057f4b0adds x4, x3, x4
    0057f4b4adcs x4, x2, x2
    0057f4b8str x4, [sp+128]
    0057f4bcmovn x5, 0
    0057f4c0adds x3, x3, x5
    0057f4c4adcs x2, x2, x2
    0057f4c8adc x2, xzr, xzr
    0057f4ccstr x2, [sp+120]
    0057f4d0str x4, [sp+160]
    0057f4d4str x2, [sp+152]
    0057f4d8ldr x0, [sp+64]
    0057f4dcldr x1, [sp+184]
    0057f4e0ldr x2, [sp+176]
    0057f4e4subs xzr, x1, x0
    0057f4e8b.hi 0x57f4f0
    0057f4ecb 0x57f5d8
    0057f4f0
    0057f4f0loc_57f4f0:
    0057f4f0str x4, [x2+3*x0]
    0057f4f4ldr x2, [sp+152]
    0057f4f8str x2, [sp+80]
    0057f4fcldr x0, [sp+64]
    0057f500ldr x1, [sp+184]
    0057f504ldr x2, [sp+176]
    0057f508subs xzr, x0, x1
    0057f50cb.lo 0x57f514
    0057f510b 0x57f5d4
    0057f514
    0057f514loc_57f514:
    0057f514ldr x2, [x2+3*x0]
    0057f518str x2, [sp+104]
    0057f51cldr x0, [sp+64]
    0057f520ldr x1, [sp+208]
    0057f524ldr x3, [sp+200]
    0057f528subs xzr, x1, x0
    0057f52cb.hi 0x57f534
    0057f530b 0x57f5d0
    0057f534
    0057f534loc_57f534:
    0057f534ldr x3, [x3+3*x0]
    0057f538str x3, [sp+96]
    0057f53cldr x4, [sp+88]
    0057f540subs x5, xzr, x4
    0057f544sbcs x5, x2, x3
    0057f548sbc x5, xzr, xzr
    0057f54csub x5, xzr, x5
    0057f550subs x4, xzr, x4
    0057f554sbcs x2, x2, x3
    0057f558str x2, [sp+120]
    0057f55cstr x5, [sp+128]
    0057f560str x2, [sp+144]
    0057f564str x5, [sp+136]
    0057f568ldr x0, [sp+64]
    0057f56cldr x1, [sp+232]
    0057f570ldr x3, [sp+224]
    0057f574subs xzr, x0, x1
    0057f578b.lo 0x57f580
    0057f57cb 0x57f5cc
    0057f580
    0057f580loc_57f580:
    0057f580str x2, [x3+3*x0]
    0057f584ldr x2, [sp+136]
    0057f588str x2, [sp+88]
    0057f58cb 0x57f590
    0057f590
    0057f590loc_57f590:
    0057f590ldr x2, [sp+64]
    0057f594add x2, x2, 1
    0057f598str x2, [sp+64]
    0057f59cb 0x57f42c
    0057f5a0
    0057f5a0loc_57f5a0:
    0057f5a0ldr x0, [sp+88]
    0057f5a4bl crypto/internal/fips140/bigmod.not
    0057f5a8str x0, [sp+112]
    0057f5acldr x1, [sp+80]
    0057f5b0orr x1, x0, x1
    0057f5b4str x1, [sp+40]
    0057f5b8b 0x57f5bc
    0057f5bc
    0057f5bcloc_57f5bc:
    0057f5bcldr x3, [sp+72]
    0057f5c0sub x3, x3, 1
    0057f5c4str x3, [sp+72]
    0057f5c8b 0x57f3c0
    0057f5cc
    0057f5ccloc_57f5cc:
    0057f5ccbl runtime.panicIndex
    0057f5d0
    0057f5d0loc_57f5d0:
    0057f5d0bl runtime.panicIndex
    0057f5d4
    0057f5d4loc_57f5d4:
    0057f5d4bl runtime.panicIndex
    0057f5d8
    0057f5d8loc_57f5d8:
    0057f5d8bl runtime.panicIndex
    0057f5dc
    0057f5dcloc_57f5dc:
    0057f5dcbl runtime.panicIndex
    0057f5e0
    0057f5e0loc_57f5e0:
    0057f5e0bl runtime.panicIndex
    0057f5e4
    0057f5e4loc_57f5e4:
    0057f5e4bl runtime.panicIndex
    0057f5e8
    0057f5e8loc_57f5e8:
    0057f5e8bl runtime.panicshift
    0057f5ec
    0057f5ecloc_57f5ec:
    0057f5ecbl runtime.panicSliceAcap
    0057f5f0
    0057f5f0loc_57f5f0:
    0057f5f0bl runtime.panicSliceAcap
    0057f5f4
    0057f5f4loc_57f5f4:
    0057f5f4bl runtime.panicSliceAcap
    0057f5f8hint
    0057f5fc
    0057f5fcloc_57f5fc:
    0057f5fcstp x0, x1, [sp+8]
    0057f600str x2, [sp+24]
    0057f604mov x3, x30
    0057f608bl runtime.morestack_noctxt.abi0
    0057f60cldp x0, x1, [sp+8]
    0057f610ldr x2, [sp+24]
    0057f614b 0x57f2c0
    0057f618udf 0
    0057f61cudf 0
    0057f2c0
    0057f620
    0057f620crypto/internal/fips140/bigmod.(*Nat).Mod: ; void crypto/internal/fips140/bigmod.(*Nat).Mod(crypto/internal/fips140/bigmod.Nat * out, crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.Modulus * m)
    0057f620ldr x16, [x28+16]
    0057f624subs xzr, sp, x16
    0057f628b.ls 0x57f7a4
    0057f62cstr x30, [sp-96]!
    0057f630stur x29, [sp-8]
    0057f634sub x29, sp, 8
    0057f638str x0, [sp+104]
    0057f63cstr x1, [sp+112]
    0057f640str x2, [sp+120]
    0057f644str xzr, [sp+80]
    0057f648ldr x1, [sp+120]
    0057f64cldr x0, [sp+104]
    0057f650bl crypto/internal/fips140/bigmod.(*Nat).resetFor
    0057f654ldr x2, [sp+112]
    0057f658ldrsb x27, [x2]
    0057f65cldr x2, [x2+8]
    0057f660str x2, [sp+72]
    0057f664sub x2, x2, 1
    0057f668str x2, [sp+56]
    0057f66cldr x3, [sp+120]
    0057f670ldrsb x27, [x3]
    0057f674ldr x3, [x3]
    0057f678ldrsb x27, [x3]
    0057f67cldr x3, [x3+8]
    0057f680str x3, [sp+72]
    0057f684sub x3, x3, 2
    0057f688str x3, [sp+40]
    0057f68csubs xzr, x3, x2
    0057f690b.gt 0x57f698
    0057f694b 0x57f6a0
    0057f698
    0057f698loc_57f698:
    0057f698str x2, [sp+40]
    0057f69cb 0x57f6a4
    0057f6a0
    0057f6a0loc_57f6a0:
    0057f6a0b 0x57f6a4
    0057f6a4
    0057f6a4loc_57f6a4:
    0057f6a4ldr x3, [sp+40]
    0057f6a8str x3, [sp+48]
    0057f6acb 0x57f6b0
    0057f6b0
    0057f6b0loc_57f6b0:
    0057f6b0ldr x3, [sp+48]
    0057f6b4tbz x3, 63, 0x57f6bc
    0057f6b8b 0x57f724
    0057f6bc
    0057f6bcloc_57f6bc:
    0057f6bcldr x3, [sp+112]
    0057f6c0ldrsb x27, [x3]
    0057f6c4ldr x1, [x3+8]
    0057f6c8ldr x3, [x3]
    0057f6ccldr x0, [sp+56]
    0057f6d0subs xzr, x1, x0
    0057f6d4b.hi 0x57f6dc
    0057f6d8b 0x57f79c
    0057f6dc
    0057f6dcloc_57f6dc:
    0057f6dcldr x4, [sp+104]
    0057f6e0ldrsb x27, [x4]
    0057f6e4ldr x1, [x4+8]
    0057f6e8ldr x4, [x4]
    0057f6ecldr x5, [sp+48]
    0057f6f0ldr x3, [x3+3*x0]
    0057f6f4subs xzr, x5, x1
    0057f6f8b.lo 0x57f700
    0057f6fcb 0x57f794
    0057f700
    0057f700loc_57f700:
    0057f700str x3, [x4+3*x5]
    0057f704ldr x3, [sp+56]
    0057f708sub x3, x3, 1
    0057f70cstr x3, [sp+56]
    0057f710b 0x57f714
    0057f714
    0057f714loc_57f714:
    0057f714ldr x3, [sp+48]
    0057f718sub x3, x3, 1
    0057f71cstr x3, [sp+48]
    0057f720b 0x57f6b0
    0057f724
    0057f724loc_57f724:
    0057f724b 0x57f728
    0057f728
    0057f728loc_57f728:
    0057f728ldr x3, [sp+56]
    0057f72ctbz x3, 63, 0x57f734
    0057f730b 0x57f77c
    0057f734
    0057f734loc_57f734:
    0057f734ldr x3, [sp+112]
    0057f738ldrsb x27, [x3]
    0057f73cldr x1, [x3+8]
    0057f740ldr x3, [x3]
    0057f744ldr x0, [sp+56]
    0057f748subs xzr, x0, x1
    0057f74cb.lo 0x57f754
    0057f750b 0x57f790
    0057f754
    0057f754loc_57f754:
    0057f754ldr x1, [x3+3*x0]
    0057f758str x1, [sp+64]
    0057f75cldr x0, [sp+104]
    0057f760ldr x2, [sp+120]
    0057f764bl crypto/internal/fips140/bigmod.(*Nat).shiftIn
    0057f768ldr x3, [sp+56]
    0057f76csub x3, x3, 1
    0057f770str x3, [sp+56]
    0057f774b 0x57f778
    0057f778
    0057f778loc_57f778:
    0057f778b 0x57f728
    0057f77c
    0057f77cloc_57f77c:
    0057f77cldr x0, [sp+104]
    0057f780str x0, [sp+80]
    0057f784ldur x29, [sp-8]
    0057f788ldr x30, [sp], 96
    0057f78cret x30
    0057f790
    0057f790loc_57f790:
    0057f790bl runtime.panicIndex
    0057f794
    0057f794loc_57f794:
    0057f794mov x0, x5
    0057f798bl runtime.panicIndex
    0057f79c
    0057f79cloc_57f79c:
    0057f79cbl runtime.panicIndex
    0057f7a0hint
    0057f7a4
    0057f7a4loc_57f7a4:
    0057f7a4stp x0, x1, [sp+8]
    0057f7a8str x2, [sp+24]
    0057f7acmov x3, x30
    0057f7b0bl runtime.morestack_noctxt.abi0
    0057f7b4ldp x0, x1, [sp+8]
    0057f7b8ldr x2, [sp+24]
    0057f7bcb 0x57f620
    0057f620
    0057f7c0
    0057f7c0crypto/internal/fips140/bigmod.(*Nat).ExpandFor: ; void crypto/internal/fips140/bigmod.(*Nat).ExpandFor(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.Modulus * m)
    0057f7c0ldr x16, [x28+16]
    0057f7c4subs xzr, sp, x16
    0057f7c8b.ls 0x57f818
    0057f7ccstr x30, [sp-64]!
    0057f7d0stur x29, [sp-8]
    0057f7d4sub x29, sp, 8
    0057f7d8str x0, [sp+72]
    0057f7dcstr x1, [sp+80]
    0057f7e0str xzr, [sp+40]
    0057f7e4ldr x2, [sp+80]
    0057f7e8ldrsb x27, [x2]
    0057f7ecldr x2, [x2]
    0057f7f0ldrsb x27, [x2]
    0057f7f4ldr x1, [x2+8]
    0057f7f8str x1, [sp+32]
    0057f7fcldr x0, [sp+72]
    0057f800bl crypto/internal/fips140/bigmod.(*Nat).expand
    0057f804str x0, [sp+48]
    0057f808str x0, [sp+40]
    0057f80cldur x29, [sp-8]
    0057f810ldr x30, [sp], 64
    0057f814ret x30
    0057f818
    0057f818loc_57f818:
    0057f818stp x0, x1, [sp+8]
    0057f81cmov x3, x30
    0057f820bl runtime.morestack_noctxt.abi0
    0057f824ldp x0, x1, [sp+8]
    0057f828b 0x57f7c0
    0057f82cudf 0
    0057f7c0
    0057f830
    0057f830crypto/internal/fips140/bigmod.(*Nat).resetFor: ; void crypto/internal/fips140/bigmod.(*Nat).resetFor(crypto/internal/fips140/bigmod.Nat * out, crypto/internal/fips140/bigmod.Modulus * m)
    0057f830ldr x16, [x28+16]
    0057f834subs xzr, sp, x16
    0057f838b.ls 0x57f888
    0057f83cstr x30, [sp-64]!
    0057f840stur x29, [sp-8]
    0057f844sub x29, sp, 8
    0057f848str x0, [sp+72]
    0057f84cstr x1, [sp+80]
    0057f850str xzr, [sp+40]
    0057f854ldr x2, [sp+80]
    0057f858ldrsb x27, [x2]
    0057f85cldr x2, [x2]
    0057f860ldrsb x27, [x2]
    0057f864ldr x1, [x2+8]
    0057f868str x1, [sp+32]
    0057f86cldr x0, [sp+72]
    0057f870bl crypto/internal/fips140/bigmod.(*Nat).reset
    0057f874str x0, [sp+48]
    0057f878str x0, [sp+40]
    0057f87cldur x29, [sp-8]
    0057f880ldr x30, [sp], 64
    0057f884ret x30
    0057f888
    0057f888loc_57f888:
    0057f888stp x0, x1, [sp+8]
    0057f88cmov x3, x30
    0057f890bl runtime.morestack_noctxt.abi0
    0057f894ldp x0, x1, [sp+8]
    0057f898b 0x57f830
    0057f89cudf 0
    0057f830
    0057f8a0
    0057f8a0crypto/internal/fips140/bigmod.(*Nat).maybeSubtractModulus: ; void crypto/internal/fips140/bigmod.(*Nat).maybeSubtractModulus(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.choice always, crypto/internal/fips140/bigmod.Modulus * m)
    0057f8a0ldr x16, [x28+16]
    0057f8a4subs xzr, sp, x16
    0057f8a8b.ls 0x57f920
    0057f8acstr x30, [sp-96]!
    0057f8b0stur x29, [sp-8]
    0057f8b4sub x29, sp, 8
    0057f8b8str x0, [sp+104]
    0057f8bcstr x1, [sp+112]
    0057f8c0str x2, [sp+120]
    0057f8c4bl crypto/internal/fips140/bigmod.NewNat
    0057f8c8str x0, [sp+80]
    0057f8ccldr x1, [sp+104]
    0057f8d0bl crypto/internal/fips140/bigmod.(*Nat).set
    0057f8d4str x0, [sp+64]
    0057f8d8ldr x0, [sp+120]
    0057f8dcldrsb x27, [x0]
    0057f8e0ldr x1, [x0]
    0057f8e4str x1, [sp+72]
    0057f8e8ldr x0, [sp+64]
    0057f8ecbl crypto/internal/fips140/bigmod.(*Nat).sub
    0057f8f0str x0, [sp+40]
    0057f8f4bl crypto/internal/fips140/bigmod.not
    0057f8f8str x0, [sp+56]
    0057f8fcldr x1, [sp+112]
    0057f900orr x1, x0, x1
    0057f904str x1, [sp+48]
    0057f908ldr x2, [sp+64]
    0057f90cldr x0, [sp+104]
    0057f910bl crypto/internal/fips140/bigmod.(*Nat).assign
    0057f914ldur x29, [sp-8]
    0057f918ldr x30, [sp], 96
    0057f91cret x30
    0057f920
    0057f920loc_57f920:
    0057f920stp x0, x1, [sp+8]
    0057f924str x2, [sp+24]
    0057f928mov x3, x30
    0057f92cbl runtime.morestack_noctxt.abi0
    0057f930ldp x0, x1, [sp+8]
    0057f934ldr x2, [sp+24]
    0057f938b 0x57f8a0
    0057f93cudf 0
    0057f8a0
    0057f940
    0057f940crypto/internal/fips140/bigmod.(*Nat).Sub: ; void crypto/internal/fips140/bigmod.(*Nat).Sub(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.Nat * y, crypto/internal/fips140/bigmod.Modulus * m)
    0057f940ldr x16, [x28+16]
    0057f944subs xzr, sp, x16
    0057f948b.ls 0x57f9c8
    0057f94cstr x30, [sp-80]!
    0057f950stur x29, [sp-8]
    0057f954sub x29, sp, 8
    0057f958str x0, [sp+88]
    0057f95cstr x1, [sp+96]
    0057f960str x2, [sp+104]
    0057f964str xzr, [sp+40]
    0057f968ldr x1, [sp+96]
    0057f96cldr x0, [sp+88]
    0057f970bl crypto/internal/fips140/bigmod.(*Nat).sub
    0057f974str x0, [sp+32]
    0057f978bl crypto/internal/fips140/bigmod.NewNat
    0057f97cstr x0, [sp+64]
    0057f980ldr x1, [sp+88]
    0057f984bl crypto/internal/fips140/bigmod.(*Nat).set
    0057f988str x0, [sp+48]
    0057f98cldr x2, [sp+104]
    0057f990ldrsb x27, [x2]
    0057f994ldr x1, [x2]
    0057f998str x1, [sp+56]
    0057f99cldr x0, [sp+48]
    0057f9a0bl crypto/internal/fips140/bigmod.(*Nat).add
    0057f9a4ldr x2, [sp+48]
    0057f9a8ldr x0, [sp+88]
    0057f9acldr x1, [sp+32]
    0057f9b0bl crypto/internal/fips140/bigmod.(*Nat).assign
    0057f9b4ldr x0, [sp+88]
    0057f9b8str x0, [sp+40]
    0057f9bcldur x29, [sp-8]
    0057f9c0ldr x30, [sp], 80
    0057f9c4ret x30
    0057f9c8
    0057f9c8loc_57f9c8:
    0057f9c8stp x0, x1, [sp+8]
    0057f9ccstr x2, [sp+24]
    0057f9d0mov x3, x30
    0057f9d4bl runtime.morestack_noctxt.abi0
    0057f9d8ldp x0, x1, [sp+8]
    0057f9dcldr x2, [sp+24]
    0057f9e0b 0x57f940
    0057f9e4udf 0
    0057f9e8udf 0
    0057f9ecudf 0
    0057f940
    0057f9f0
    0057f9f0crypto/internal/fips140/bigmod.(*Nat).SubOne: ; void crypto/internal/fips140/bigmod.(*Nat).SubOne(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.Modulus * m)
    0057f9f0ldr x16, [x28+16]
    0057f9f4subs xzr, sp, x16
    0057f9f8b.ls 0x57fa78
    0057f9fcstr x30, [sp-64]!
    0057fa00stur x29, [sp-8]
    0057fa04sub x29, sp, 8
    0057fa08str x0, [sp+72]
    0057fa0cstr x1, [sp+80]
    0057fa10str xzr, [sp+32]
    0057fa14bl crypto/internal/fips140/bigmod.NewNat
    0057fa18str x0, [sp+48]
    0057fa1cldr x1, [sp+80]
    0057fa20bl crypto/internal/fips140/bigmod.(*Nat).ExpandFor
    0057fa24str x0, [sp+40]
    0057fa28ldrsb x27, [x0]
    0057fa2cldr x1, [x0+8]
    0057fa30ldr x0, [x0]
    0057fa34subs xzr, x1, 0
    0057fa38b.hi 0x57fa40
    0057fa3cb 0x57fa6c
    0057fa40
    0057fa40loc_57fa40:
    0057fa40orr x3, xzr, 1
    0057fa44str x3, [x0]
    0057fa48ldr x1, [sp+40]
    0057fa4cldr x2, [sp+80]
    0057fa50ldr x0, [sp+72]
    0057fa54bl crypto/internal/fips140/bigmod.(*Nat).Sub
    0057fa58str x0, [sp+48]
    0057fa5cstr x0, [sp+32]
    0057fa60ldur x29, [sp-8]
    0057fa64ldr x30, [sp], 64
    0057fa68ret x30
    0057fa6c
    0057fa6cloc_57fa6c:
    0057fa6cmov x0, xzr
    0057fa70bl runtime.panicIndex
    0057fa74hint
    0057fa78
    0057fa78loc_57fa78:
    0057fa78stp x0, x1, [sp+8]
    0057fa7cmov x3, x30
    0057fa80bl runtime.morestack_noctxt.abi0
    0057fa84ldp x0, x1, [sp+8]
    0057fa88b 0x57f9f0
    0057fa8cudf 0
    0057f9f0
    0057fa90
    0057fa90crypto/internal/fips140/bigmod.(*Nat).Add: ; void crypto/internal/fips140/bigmod.(*Nat).Add(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.Nat * y, crypto/internal/fips140/bigmod.Modulus * m)
    0057fa90ldr x16, [x28+16]
    0057fa94subs xzr, sp, x16
    0057fa98b.ls 0x57faf0
    0057fa9cstr x30, [sp-64]!
    0057faa0stur x29, [sp-8]
    0057faa4sub x29, sp, 8
    0057faa8str x0, [sp+72]
    0057faacstr x1, [sp+80]
    0057fab0str x2, [sp+88]
    0057fab4str xzr, [sp+48]
    0057fab8ldr x1, [sp+80]
    0057fabcldr x0, [sp+72]
    0057fac0bl crypto/internal/fips140/bigmod.(*Nat).add
    0057fac4str x0, [sp+40]
    0057fac8ldr x2, [sp+88]
    0057faccldr x3, [sp+72]
    0057fad0mov x1, x0
    0057fad4mov x0, x3
    0057fad8bl crypto/internal/fips140/bigmod.(*Nat).maybeSubtractModulus
    0057fadcldr x0, [sp+72]
    0057fae0str x0, [sp+48]
    0057fae4ldur x29, [sp-8]
    0057fae8ldr x30, [sp], 64
    0057faecret x30
    0057faf0
    0057faf0loc_57faf0:
    0057faf0stp x0, x1, [sp+8]
    0057faf4str x2, [sp+24]
    0057faf8mov x3, x30
    0057fafcbl runtime.morestack_noctxt.abi0
    0057fb00ldp x0, x1, [sp+8]
    0057fb04ldr x2, [sp+24]
    0057fb08b 0x57fa90
    0057fb0cudf 0
    0057fa90
    0057fb10
    0057fb10crypto/internal/fips140/bigmod.(*Nat).montgomeryRepresentation: ; void crypto/internal/fips140/bigmod.(*Nat).montgomeryRepresentation(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.Modulus * m)
    0057fb10ldr x16, [x28+16]
    0057fb14subs xzr, sp, x16
    0057fb18b.ls 0x57fb68
    0057fb1cstr x30, [sp-80]!
    0057fb20stur x29, [sp-8]
    0057fb24sub x29, sp, 8
    0057fb28str x0, [sp+88]
    0057fb2cstr x1, [sp+96]
    0057fb30str xzr, [sp+48]
    0057fb34ldr x4, [sp+96]
    0057fb38ldrsb x27, [x4]
    0057fb3cldr x2, [x4+24]
    0057fb40str x2, [sp+56]
    0057fb44ldr x0, [sp+88]
    0057fb48ldr x1, [sp+88]
    0057fb4cldr x3, [sp+96]
    0057fb50bl crypto/internal/fips140/bigmod.(*Nat).montgomeryMul
    0057fb54str x0, [sp+64]
    0057fb58str x0, [sp+48]
    0057fb5cldur x29, [sp-8]
    0057fb60ldr x30, [sp], 80
    0057fb64ret x30
    0057fb68
    0057fb68loc_57fb68:
    0057fb68stp x0, x1, [sp+8]
    0057fb6cmov x3, x30
    0057fb70bl runtime.morestack_noctxt.abi0
    0057fb74ldp x0, x1, [sp+8]
    0057fb78b 0x57fb10
    0057fb7cudf 0
    0057fb10
    0057fb80
    0057fb80crypto/internal/fips140/bigmod.(*Nat).montgomeryReduction: ; void crypto/internal/fips140/bigmod.(*Nat).montgomeryReduction(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.Modulus * m)
    0057fb80ldr x16, [x28+16]
    0057fb84subs xzr, sp, x16
    0057fb88b.ls 0x57fc0c
    0057fb8cstr x30, [sp-80]!
    0057fb90stur x29, [sp-8]
    0057fb94sub x29, sp, 8
    0057fb98str x0, [sp+88]
    0057fb9cstr x1, [sp+96]
    0057fba0str xzr, [sp+48]
    0057fba4bl crypto/internal/fips140/bigmod.NewNat
    0057fba8str x0, [sp+64]
    0057fbacldr x1, [sp+96]
    0057fbb0bl crypto/internal/fips140/bigmod.(*Nat).ExpandFor
    0057fbb4str x0, [sp+56]
    0057fbb8ldrsb x27, [x0]
    0057fbbcldr x1, [x0+8]
    0057fbc0ldr x0, [x0]
    0057fbc4subs xzr, x1, 0
    0057fbc8b.hi 0x57fbd0
    0057fbccb 0x57fc00
    0057fbd0
    0057fbd0loc_57fbd0:
    0057fbd0orr x4, xzr, 1
    0057fbd4str x4, [x0]
    0057fbd8ldr x1, [sp+88]
    0057fbdcldr x2, [sp+56]
    0057fbe0ldr x3, [sp+96]
    0057fbe4ldr x0, [sp+88]
    0057fbe8bl crypto/internal/fips140/bigmod.(*Nat).montgomeryMul
    0057fbecstr x0, [sp+64]
    0057fbf0str x0, [sp+48]
    0057fbf4ldur x29, [sp-8]
    0057fbf8ldr x30, [sp], 80
    0057fbfcret x30
    0057fc00
    0057fc00loc_57fc00:
    0057fc00mov x0, xzr
    0057fc04bl runtime.panicIndex
    0057fc08hint
    0057fc0c
    0057fc0cloc_57fc0c:
    0057fc0cstp x0, x1, [sp+8]
    0057fc10mov x3, x30
    0057fc14bl runtime.morestack_noctxt.abi0
    0057fc18ldp x0, x1, [sp+8]
    0057fc1cb 0x57fb80
    0057fb80
    0057fc20
    0057fc20crypto/internal/fips140/bigmod.(*Nat).montgomeryMul: ; void crypto/internal/fips140/bigmod.(*Nat).montgomeryMul(crypto/internal/fips140/bigmod.Nat * x, crypto/internal/fips140/bigmod.Nat * a, crypto/internal/fips140/bigmod.Nat * b, crypto/internal/fips140/bigmod.Modulus * m)
    0057fc20ldr x16, [x28+16]
    0057fc24sub x17, sp, 2496
    0057fc28subs xzr, x17, x16
    0057fc2cb.ls 0x5809e0
    0057fc30sub x20, sp, 2624
    0057fc34stp x29, x30, [x20-8]
    0057fc38add sp, x20, 0
    0057fc3csub x29, sp, 8
    0057fc40str x0, [sp+2632]
    0057fc44str x1, [sp+2640]
    0057fc48str x2, [sp+2648]
    0057fc4cstr x3, [sp+2656]
    0057fc50str xzr, [sp+2120]
    0057fc54ldr x7, [sp+2656]
    0057fc58ldrsb x27, [x7]
    0057fc5cldr x7, [x7]
    0057fc60ldrsb x27, [x7]
    0057fc64ldr x1, [x7+8]
    0057fc68str x1, [sp+64]
    0057fc6cldr x7, [sp+2656]
    0057fc70ldrsb x27, [x7]
    0057fc74ldr x7, [x7]
    0057fc78ldrsb x27, [x7]
    0057fc7cldr x2, [x7+16]
    0057fc80ldr x7, [x7]
    0057fc84subs xzr, x2, x1
    0057fc88b.hs 0x57fc90
    0057fc8cb 0x5809d8
    0057fc90
    0057fc90loc_57fc90:
    0057fc90b 0x57fc94
    0057fc94
    0057fc94loc_57fc94:
    0057fc94str x7, [sp+2128]
    0057fc98str x1, [sp+2136]
    0057fc9cstr x2, [sp+2144]
    0057fca0ldr x7, [sp+2640]
    0057fca4ldrsb x27, [x7]
    0057fca8ldr x2, [x7+16]
    0057fcacldr x7, [x7]
    0057fcb0ldr x1, [sp+64]
    0057fcb4subs xzr, x2, x1
    0057fcb8b.hs 0x57fcc0
    0057fcbcb 0x5809d4
    0057fcc0
    0057fcc0loc_57fcc0:
    0057fcc0b 0x57fcc4
    0057fcc4
    0057fcc4loc_57fcc4:
    0057fcc4str x7, [sp+2176]
    0057fcc8str x1, [sp+2184]
    0057fcccstr x2, [sp+2192]
    0057fcd0ldr x7, [sp+2648]
    0057fcd4ldrsb x27, [x7]
    0057fcd8ldr x2, [x7+16]
    0057fcdcldr x7, [x7]
    0057fce0ldr x1, [sp+64]
    0057fce4subs xzr, x1, x2
    0057fce8b.ls 0x57fcf0
    0057fcecb 0x5809d0
    0057fcf0
    0057fcf0loc_57fcf0:
    0057fcf0b 0x57fcf4
    0057fcf4
    0057fcf4loc_57fcf4:
    0057fcf4str x7, [sp+2152]
    0057fcf8str x1, [sp+2160]
    0057fcfcstr x2, [sp+2168]
    0057fd00ldr x7, [sp+64]
    0057fd04str x7, [sp+2024]
    0057fd08subs xzr, x7, 16
    0057fd0cb.eq 0x57fd14
    0057fd10b 0x57fd5c
    0057fd14
    0057fd14loc_57fd14:
    0057fd14b 0x57fd18
    0057fd18
    0057fd18loc_57fd18:
    0057fd18b 0x57fd1c
    0057fd1c
    0057fd1cloc_57fd1c:
    0057fd1cadd x20, sp, 1232
    0057fd20adr x27, 16
    0057fd24stp x29, x27, [sp-24]
    0057fd28sub x29, sp, 24
    0057fd2cbl fn_87cd0
    0057fd30sub x29, sp, 8
    0057fd34add x2, sp, 1232
    0057fd38ldrsb x27, [x2]
    0057fd3cb 0x57fd40
    0057fd40
    0057fd40loc_57fd40:
    0057fd40str x2, [sp+2248]
    0057fd44orr x2, xzr, 32
    0057fd48str x2, [sp+2256]
    0057fd4cstr x2, [sp+2264]
    0057fd50str xzr, [sp+216]
    0057fd54str xzr, [sp+88]
    0057fd58b 0x58072c
    0057fd5c
    0057fd5cloc_57fd5c:
    0057fd5csubs xzr, x7, 24
    0057fd60b.eq 0x57fd68
    0057fd64b 0x57fdb0
    0057fd68
    0057fd68loc_57fd68:
    0057fd68b 0x57fd6c
    0057fd6c
    0057fd6cloc_57fd6c:
    0057fd6cb 0x57fd70
    0057fd70
    0057fd70loc_57fd70:
    0057fd70add x20, sp, 824
    0057fd74adr x27, 16
    0057fd78stp x29, x27, [sp-24]
    0057fd7csub x29, sp, 24
    0057fd80bl fn_87cb0
    0057fd84sub x29, sp, 8
    0057fd88add x2, sp, 824
    0057fd8cldrsb x27, [x2]
    0057fd90b 0x57fd94
    0057fd94
    0057fd94loc_57fd94:
    0057fd94str x2, [sp+2224]
    0057fd98orr x2, xzr, 48
    0057fd9cstr x2, [sp+2232]
    0057fda0str x2, [sp+2240]
    0057fda4str xzr, [sp+208]
    0057fda8str xzr, [sp+80]
    0057fdacb 0x580480
    0057fdb0
    0057fdb0loc_57fdb0:
    0057fdb0subs xzr, x7, 32
    0057fdb4b.eq 0x57fdbc
    0057fdb8b 0x57fe04
    0057fdbc
    0057fdbcloc_57fdbc:
    0057fdbcb 0x57fdc0
    0057fdc0
    0057fdc0loc_57fdc0:
    0057fdc0b 0x57fdc4
    0057fdc4
    0057fdc4loc_57fdc4:
    0057fdc4add x20, sp, 288
    0057fdc8adr x27, 16
    0057fdccstp x29, x27, [sp-24]
    0057fdd0sub x29, sp, 24
    0057fdd4bl fn_87c90
    0057fdd8sub x29, sp, 8
    0057fddcadd x2, sp, 288
    0057fde0ldrsb x27, [x2]
    0057fde4b 0x57fde8
    0057fde8
    0057fde8loc_57fde8:
    0057fde8str x2, [sp+2200]
    0057fdecorr x2, xzr, 64
    0057fdf0str x2, [sp+2208]
    0057fdf4str x2, [sp+2216]
    0057fdf8str xzr, [sp+200]
    0057fdfcstr xzr, [sp+72]
    0057fe00b 0x5801d4
    0057fe04
    0057fe04loc_57fe04:
    0057fe04b 0x57fe08
    0057fe08
    0057fe08loc_57fe08:
    0057fe08b 0x57fe0c
    0057fe0c
    0057fe0cloc_57fe0c:
    0057fe0cb 0x57fe10
    0057fe10
    0057fe10loc_57fe10:
    0057fe10b 0x57fe14
    0057fe14
    0057fe14loc_57fe14:
    0057fe14add x20, sp, 1512
    0057fe18adr x27, 16
    0057fe1cstp x29, x27, [sp-24]
    0057fe20sub x29, sp, 24
    0057fe24bl fn_87c90
    0057fe28sub x29, sp, 8
    0057fe2cadd x7, sp, 1512
    0057fe30ldrsb x27, [x7]
    0057fe34b 0x57fe38
    0057fe38
    0057fe38loc_57fe38:
    0057fe38b 0x57fe3c
    0057fe3c
    0057fe3cloc_57fe3c:
    0057fe3cstr x7, [sp+2272]
    0057fe40str xzr, [sp+2280]
    0057fe44orr x7, xzr, 64
    0057fe48str x7, [sp+2288]
    0057fe4cstr x7, [sp+2048]
    0057fe50ldr x7, [sp+64]
    0057fe54ubfm x7, x7, 63, 62
    0057fe58subs xzr, x7, 64
    0057fe5cb.gt 0x57fe64
    0057fe60b 0x57fe94
    0057fe64
    0057fe64loc_57fe64:
    0057fe64ldr x3, [sp+64]
    0057fe68ubfm x2, x3, 63, 62
    0057fe6cadrp x0, 0x76000
    0057fe70add x0, x0, 3584
    0057fe74mov x1, xzr
    0057fe78bl runtime.makeslice
    0057fe7cldr x3, [sp+64]
    0057fe80str x0, [sp+2272]
    0057fe84str xzr, [sp+2280]
    0057fe88ubfm x3, x3, 63, 62
    0057fe8cstr x3, [sp+2288]
    0057fe90b 0x57fe98
    0057fe94
    0057fe94loc_57fe94:
    0057fe94b 0x57fe98
    0057fe98
    0057fe98loc_57fe98:
    0057fe98ldr x7, [sp+64]
    0057fe9cubfm x1, x7, 63, 62
    0057fea0str x1, [sp+2048]
    0057fea4ldr x2, [sp+2288]
    0057fea8subs xzr, x2, x7, lsl #1
    0057feacb.hs 0x57feb4
    0057feb0b 0x5801d0
    0057feb4
    0057feb4loc_57feb4:
    0057feb4b 0x57feb8
    0057feb8
    0057feb8loc_57feb8:
    0057feb8str x1, [sp+2280]
    0057febcstr xzr, [sp+224]
    0057fec0str xzr, [sp+96]
    0057fec4b 0x57fec8
    0057fec8
    0057fec8loc_57fec8:
    0057fec8ldr x7, [sp+64]
    0057feccldr x8, [sp+96]
    0057fed0subs xzr, x7, x8
    0057fed4b.gt 0x57fedc
    0057fed8b 0x5800a0
    0057fedc
    0057fedcloc_57fedc:
    0057fedcldr x1, [sp+2280]
    0057fee0ldr x7, [sp+96]
    0057fee4ldr x8, [sp+64]
    0057fee8add x0, x8, x7
    0057feecsubs xzr, x1, x0
    0057fef0b.hi 0x57fef8
    0057fef4b 0x5801cc
    0057fef8
    0057fef8loc_57fef8:
    0057fef8ldr x0, [sp+96]
    0057fefcldr x1, [sp+2160]
    0057ff00ldr x7, [sp+2152]
    0057ff04subs xzr, x1, x0
    0057ff08b.hi 0x57ff10
    0057ff0cb 0x5801c8
    0057ff10
    0057ff10loc_57ff10:
    0057ff10ldr x7, [x7+3*x0]
    0057ff14str x7, [sp+128]
    0057ff18ldr x7, [sp+96]
    0057ff1cldr x8, [sp+64]
    0057ff20add x1, x8, x7
    0057ff24str x1, [sp+2048]
    0057ff28ldr x0, [sp+96]
    0057ff2cldr x2, [sp+2288]
    0057ff30ldr x7, [sp+2272]
    0057ff34subs xzr, x2, x1
    0057ff38b.hs 0x57ff40
    0057ff3cb 0x5801c4
    0057ff40
    0057ff40loc_57ff40:
    0057ff40subs xzr, x0, x1
    0057ff44b.ls 0x57ff4c
    0057ff48b 0x5801c0
    0057ff4c
    0057ff4cloc_57ff4c:
    0057ff4csub x2, x2, x0
    0057ff50sub x1, x1, x0
    0057ff54sub x8, xzr, x2
    0057ff58ubfm x9, x0, 61, 60
    0057ff5cand x8, x9, x8, asr #63
    0057ff60add x0, x7, x8
    0057ff64str x0, [sp+2592]
    0057ff68str x1, [sp+2600]
    0057ff6cstr x2, [sp+2608]
    0057ff70ldr x6, [sp+128]
    0057ff74ldr x3, [sp+2176]
    0057ff78ldr x4, [sp+2184]
    0057ff7cldr x5, [sp+2192]
    0057ff80bl crypto/internal/fips140/bigmod.addMulVVW
    0057ff84str x0, [sp+192]
    0057ff88ldr x0, [sp+96]
    0057ff8cldr x1, [sp+2280]
    0057ff90ldr x7, [sp+2272]
    0057ff94subs xzr, x1, x0
    0057ff98b.hi 0x57ffa0
    0057ff9cb 0x5801bc
    0057ffa0
    0057ffa0loc_57ffa0:
    0057ffa0ldr x7, [x7+3*x0]
    0057ffa4ldr x8, [sp+2656]
    0057ffa8ldrsb x27, [x8]
    0057ffacldr x8, [x8+16]
    0057ffb0madd x7, x7, x8, xzr
    0057ffb4str x7, [sp+256]
    0057ffb8ldr x7, [sp+96]
    0057ffbcldr x8, [sp+64]
    0057ffc0add x1, x8, x7
    0057ffc4str x1, [sp+2048]
    0057ffc8ldr x0, [sp+96]
    0057ffccldr x2, [sp+2288]
    0057ffd0ldr x7, [sp+2272]
    0057ffd4subs xzr, x2, x1
    0057ffd8b.hs 0x57ffe0
    0057ffdcb 0x5801b8
    0057ffe0
    0057ffe0loc_57ffe0:
    0057ffe0subs xzr, x0, x1
    0057ffe4b.ls 0x57ffec
    0057ffe8b 0x5801b4
    0057ffec
    0057ffecloc_57ffec:
    0057ffecsub x2, x2, x0
    0057fff0sub x1, x1, x0
    0057fff4sub x8, xzr, x2
    0057fff8ubfm x9, x0, 61, 60
    0057fffcand x8, x9, x8, asr #63
    00580000add x0, x7, x8
    00580004str x0, [sp+2592]
    00580008str x1, [sp+2600]
    0058000cstr x2, [sp+2608]
    00580010ldr x6, [sp+256]
    00580014ldr x3, [sp+2128]
    00580018ldr x4, [sp+2136]
    0058001cldr x5, [sp+2144]
    00580020bl crypto/internal/fips140/bigmod.addMulVVW
    00580024str x0, [sp+160]
    00580028ldr x7, [sp+224]
    0058002cldr x8, [sp+192]
    00580030movn x9, 0
    00580034adds x9, x7, x9
    00580038adcs x9, x8, x0
    0058003cadc x9, xzr, xzr
    00580040movn x10, 0
    00580044adds x7, x7, x10
    00580048adcs x7, x8, x0
    0058004cstr x7, [sp+2040]
    00580050str x9, [sp+2032]
    00580054str x7, [sp+2112]
    00580058str x9, [sp+2104]
    0058005cldr x8, [sp+64]
    00580060ldr x9, [sp+96]
    00580064add x0, x8, x9
    00580068str x0, [sp+1504]
    0058006cldr x1, [sp+2280]
    00580070ldr x8, [sp+2272]
    00580074subs xzr, x1, x0
    00580078b.hi 0x580080
    0058007cb 0x5801b0
    00580080
    00580080loc_580080:
    00580080str x7, [x8+3*x0]
    00580084ldr x7, [sp+2104]
    00580088str x7, [sp+224]
    0058008cb 0x580090
    00580090
    00580090loc_580090:
    00580090ldr x7, [sp+96]
    00580094add x7, x7, 1
    00580098str x7, [sp+96]
    0058009cb 0x57fec8
    005800a0
    005800a0loc_5800a0:
    005800a0ldr x1, [sp+64]
    005800a4ldr x0, [sp+2632]
    005800a8bl crypto/internal/fips140/bigmod.(*Nat).reset
    005800acstr x0, [sp+2584]
    005800b0ldr x0, [sp+64]
    005800b4ldr x1, [sp+2280]
    005800b8ldr x2, [sp+2272]
    005800bcldr x3, [sp+2288]
    005800c0b 0x5800c4
    005800c4
    005800c4loc_5800c4:
    005800c4subs xzr, x1, x0
    005800c8b.hs 0x5800d0
    005800ccb 0x5801ac
    005800d0
    005800d0loc_5800d0:
    005800d0sub x3, x3, x0
    005800d4sub x4, x1, x0
    005800d8sub x5, xzr, x3
    005800dcubfm x6, x0, 61, 60
    005800e0and x5, x6, x5, asr #63
    005800e4add x5, x2, x5
    005800e8str x5, [sp+2592]
    005800ecstr x4, [sp+2600]
    005800f0str x3, [sp+2608]
    005800f4ldr x3, [sp+2584]
    005800f8ldrsb x27, [x3]
    005800fcldr x4, [x3]
    00580100ldr x5, [x3+8]
    00580104ldr x3, [x3+16]
    00580108str x4, [sp+2560]
    0058010cstr x5, [sp+2568]
    00580110str x3, [sp+2576]
    00580114ldr x3, [sp+2600]
    00580118ldr x4, [sp+2592]
    0058011cldr x5, [sp+2608]
    00580120str x4, [sp+2536]
    00580124str x3, [sp+2544]
    00580128str x5, [sp+2552]
    0058012cldr x4, [sp+2568]
    00580130str x4, [sp+1496]
    00580134subs xzr, x4, x3
    00580138b.gt 0x580140
    0058013cb 0x580148
    00580140
    00580140loc_580140:
    00580140str x3, [sp+1496]
    00580144b 0x58014c
    00580148
    00580148loc_580148:
    00580148b 0x58014c
    0058014c
    0058014cloc_58014c:
    0058014cldr x3, [sp+2536]
    00580150ldr x4, [sp+2560]
    00580154subs xzr, x4, x3
    00580158b.ne 0x580160
    0058015cb 0x580180
    00580160
    00580160loc_580160:
    00580160ldr x3, [sp+1496]
    00580164str x3, [sp+1488]
    00580168ldr x3, [sp+1488]
    0058016cubfm x2, x3, 61, 60
    00580170ldr x0, [sp+2560]
    00580174ldr x1, [sp+2536]
    00580178bl runtime.memmove
    0058017cb 0x580184
    00580180
    00580180loc_580180:
    00580180b 0x580184
    00580184
    00580184loc_580184:
    00580184ldr x2, [sp+2656]
    00580188ldr x0, [sp+2632]
    0058018cldr x1, [sp+224]
    00580190bl crypto/internal/fips140/bigmod.(*Nat).maybeSubtractModulus
    00580194b 0x580198
    00580198
    00580198loc_580198:
    00580198ldr x0, [sp+2632]
    0058019cstr x0, [sp+2120]
    005801a0ldp x29, x30, [sp-8]
    005801a4add sp, sp, 2624
    005801a8ret x30
    005801ac
    005801acloc_5801ac:
    005801acbl runtime.panicSliceB
    005801b0
    005801b0loc_5801b0:
    005801b0bl runtime.panicIndex
    005801b4
    005801b4loc_5801b4:
    005801b4bl runtime.panicSliceB
    005801b8
    005801b8loc_5801b8:
    005801b8bl runtime.panicSliceAcap
    005801bc
    005801bcloc_5801bc:
    005801bcbl runtime.panicIndex
    005801c0
    005801c0loc_5801c0:
    005801c0bl runtime.panicSliceB
    005801c4
    005801c4loc_5801c4:
    005801c4bl runtime.panicSliceAcap
    005801c8
    005801c8loc_5801c8:
    005801c8bl runtime.panicIndex
    005801cc
    005801ccloc_5801cc:
    005801ccbl runtime.panicIndex
    005801d0
    005801d0loc_5801d0:
    005801d0bl runtime.panicSliceAcap
    005801d4
    005801d4loc_5801d4:
    005801d4ldr x2, [sp+72]
    005801d8subs xzr, x2, 32
    005801dcb.lt 0x5801e4
    005801e0b 0x580358
    005801e4
    005801e4loc_5801e4:
    005801e4ldr x0, [sp+72]
    005801e8ldr x1, [sp+2160]
    005801ecldr x2, [sp+2152]
    005801f0subs xzr, x1, x0
    005801f4b.hi 0x5801fc
    005801f8b 0x58047c
    005801fc
    005801fcloc_5801fc:
    005801fcldr x2, [x2+3*x0]
    00580200str x2, [sp+104]
    00580204ldr x0, [sp+72]
    00580208ldr x1, [sp+2208]
    0058020cldr x2, [sp+2200]
    00580210subs xzr, x1, x0
    00580214b.hi 0x58021c
    00580218b 0x580478
    0058021c
    0058021cloc_58021c:
    0058021cadd x2, x2, x0, lsl #3
    00580220str x2, [sp+2368]
    00580224ldr x2, [sp+2176]
    00580228ldr x1, [sp+2184]
    0058022csubs xzr, x1, 0
    00580230b.hi 0x580238
    00580234b 0x580470
    00580238
    00580238loc_580238:
    00580238str x2, [sp+2360]
    0058023cldr x0, [sp+104]
    00580240ldr x1, [sp+2368]
    00580244str x1, [sp+8]
    00580248str x2, [sp+16]
    0058024cstr x0, [sp+24]
    00580250bl crypto/internal/fips140/bigmod.addMulVVW2048.abi0
    00580254ldr x0, [sp+32]
    00580258str x0, [sp+168]
    0058025cldr x0, [sp+72]
    00580260ldr x1, [sp+2208]
    00580264ldr x2, [sp+2200]
    00580268subs xzr, x1, x0
    0058026cb.hi 0x580274
    00580270b 0x58046c
    00580274
    00580274loc_580274:
    00580274ldr x2, [x2+3*x0]
    00580278ldr x3, [sp+2656]
    0058027cldrsb x27, [x3]
    00580280ldr x3, [x3+16]
    00580284madd x2, x2, x3, xzr
    00580288str x2, [sp+232]
    0058028cldr x0, [sp+72]
    00580290ldr x1, [sp+2208]
    00580294ldr x2, [sp+2200]
    00580298subs xzr, x1, x0
    0058029cb.hi 0x5802a4
    005802a0b 0x580468
    005802a4
    005802a4loc_5802a4:
    005802a4add x2, x2, x0, lsl #3
    005802a8str x2, [sp+2352]
    005802acldr x2, [sp+2128]
    005802b0ldr x1, [sp+2136]
    005802b4subs xzr, x1, 0
    005802b8b.hi 0x5802c0
    005802bcb 0x580460
    005802c0
    005802c0loc_5802c0:
    005802c0str x2, [sp+2344]
    005802c4ldr x0, [sp+232]
    005802c8ldr x1, [sp+2352]
    005802ccstr x1, [sp+8]
    005802d0str x2, [sp+16]
    005802d4str x0, [sp+24]
    005802d8bl crypto/internal/fips140/bigmod.addMulVVW2048.abi0
    005802dcldr x0, [sp+32]
    005802e0str x0, [sp+136]
    005802e4ldr x1, [sp+200]
    005802e8ldr x2, [sp+168]
    005802ecmovn x3, 0
    005802f0adds x3, x1, x3
    005802f4adcs x3, x2, x0
    005802f8adc x3, xzr, xzr
    005802fcmovn x4, 0
    00580300adds x1, x1, x4
    00580304adcs x0, x2, x0
    00580308str x0, [sp+2032]
    0058030cstr x3, [sp+2040]
    00580310str x0, [sp+2064]
    00580314str x3, [sp+2056]
    00580318ldr x1, [sp+72]
    0058031cadd x1, x1, 32
    00580320str x1, [sp+280]
    00580324ldr x2, [sp+2208]
    00580328ldr x3, [sp+2200]
    0058032csubs xzr, x2, x1
    00580330b.hi 0x580338
    00580334b 0x580454
    00580338
    00580338loc_580338:
    00580338str x0, [x3+3*x1]
    0058033cldr x2, [sp+2056]
    00580340str x2, [sp+200]
    00580344b 0x580348
    00580348
    00580348loc_580348:
    00580348ldr x2, [sp+72]
    0058034cadd x2, x2, 1
    00580350str x2, [sp+72]
    00580354b 0x5801d4
    00580358
    00580358loc_580358:
    00580358ldr x0, [sp+2632]
    0058035corr x1, xzr, 32
    00580360bl crypto/internal/fips140/bigmod.(*Nat).reset
    00580364str x0, [sp+2584]
    00580368ldr x1, [sp+2208]
    0058036cldr x2, [sp+2200]
    00580370ldr x3, [sp+2216]
    00580374b 0x580378
    00580378
    00580378loc_580378:
    00580378subs xzr, x1, 32
    0058037cb.hs 0x580384
    00580380b 0x58044c
    00580384
    00580384loc_580384:
    00580384sub x3, x3, 32
    00580388sub x4, xzr, x3
    0058038csub x5, x1, 32
    00580390sbfm x4, x4, 63, 63
    00580394and x4, x4, 256
    00580398add x4, x2, x4
    0058039cstr x4, [sp+2592]
    005803a0str x5, [sp+2600]
    005803a4str x3, [sp+2608]
    005803a8ldr x3, [sp+2584]
    005803acldrsb x27, [x3]
    005803b0ldr x4, [x3]
    005803b4ldr x5, [x3+8]
    005803b8ldr x3, [x3+16]
    005803bcstr x4, [sp+2320]
    005803c0str x5, [sp+2328]
    005803c4str x3, [sp+2336]
    005803c8ldr x3, [sp+2600]
    005803ccldr x4, [sp+2592]
    005803d0ldr x5, [sp+2608]
    005803d4str x4, [sp+2296]
    005803d8str x3, [sp+2304]
    005803dcstr x5, [sp+2312]
    005803e0ldr x4, [sp+2328]
    005803e4str x4, [sp+272]
    005803e8subs xzr, x4, x3
    005803ecb.gt 0x5803f4
    005803f0b 0x5803fc
    005803f4
    005803f4loc_5803f4:
    005803f4str x3, [sp+272]
    005803f8b 0x580400
    005803fc
    005803fcloc_5803fc:
    005803fcb 0x580400
    00580400
    00580400loc_580400:
    00580400ldr x3, [sp+2320]
    00580404ldr x4, [sp+2296]
    00580408subs xzr, x4, x3
    0058040cb.ne 0x580414
    00580410b 0x580434
    00580414
    00580414loc_580414:
    00580414ldr x3, [sp+272]
    00580418str x3, [sp+264]
    0058041cldr x3, [sp+264]
    00580420ubfm x2, x3, 61, 60
    00580424ldr x1, [sp+2296]
    00580428ldr x0, [sp+2320]
    0058042cbl runtime.memmove
    00580430b 0x580438
    00580434
    00580434loc_580434:
    00580434b 0x580438
    00580438
    00580438loc_580438:
    00580438ldr x2, [sp+2656]
    0058043cldr x0, [sp+2632]
    00580440ldr x1, [sp+200]
    00580444bl crypto/internal/fips140/bigmod.(*Nat).maybeSubtractModulus
    00580448b 0x580198
    0058044c
    0058044cloc_58044c:
    0058044corr x0, xzr, 32
    00580450bl runtime.panicSliceB
    00580454
    00580454loc_580454:
    00580454mov x0, x1
    00580458mov x1, x2
    0058045cbl runtime.panicIndex
    00580460
    00580460loc_580460:
    00580460mov x0, xzr
    00580464bl runtime.panicIndex
    00580468
    00580468loc_580468:
    00580468bl runtime.panicIndex
    0058046c
    0058046cloc_58046c:
    0058046cbl runtime.panicIndex
    00580470
    00580470loc_580470:
    00580470mov x0, xzr
    00580474bl runtime.panicIndex
    00580478
    00580478loc_580478:
    00580478bl runtime.panicIndex
    0058047c
    0058047cloc_58047c:
    0058047cbl runtime.panicIndex
    00580480
    00580480loc_580480:
    00580480ldr x2, [sp+80]
    00580484subs xzr, x2, 24
    00580488b.lt 0x580490
    0058048cb 0x580604
    00580490
    00580490loc_580490:
    00580490ldr x0, [sp+80]
    00580494ldr x1, [sp+2160]
    00580498ldr x2, [sp+2152]
    0058049csubs xzr, x0, x1
    005804a0b.lo 0x5804a8
    005804a4b 0x580728
    005804a8
    005804a8loc_5804a8:
    005804a8ldr x2, [x2+3*x0]
    005804acstr x2, [sp+112]
    005804b0ldr x0, [sp+80]
    005804b4ldr x1, [sp+2232]
    005804b8ldr x2, [sp+2224]
    005804bcsubs xzr, x0, x1
    005804c0b.lo 0x5804c8
    005804c4b 0x580724
    005804c8
    005804c8loc_5804c8:
    005804c8add x2, x2, x0, lsl #3
    005804ccstr x2, [sp+2448]
    005804d0ldr x2, [sp+2176]
    005804d4ldr x1, [sp+2184]
    005804d8subs xzr, x1, 0
    005804dcb.hi 0x5804e4
    005804e0b 0x58071c
    005804e4
    005804e4loc_5804e4:
    005804e4str x2, [sp+2440]
    005804e8ldr x0, [sp+112]
    005804ecldr x1, [sp+2448]
    005804f0str x1, [sp+8]
    005804f4str x2, [sp+16]
    005804f8str x0, [sp+24]
    005804fcbl crypto/internal/fips140/bigmod.addMulVVW1536.abi0
    00580500ldr x0, [sp+32]
    00580504str x0, [sp+176]
    00580508ldr x0, [sp+80]
    0058050cldr x1, [sp+2232]
    00580510ldr x2, [sp+2224]
    00580514subs xzr, x0, x1
    00580518b.lo 0x580520
    0058051cb 0x580718
    00580520
    00580520loc_580520:
    00580520ldr x2, [x2+3*x0]
    00580524ldr x3, [sp+2656]
    00580528ldrsb x27, [x3]
    0058052cldr x3, [x3+16]
    00580530madd x2, x2, x3, xzr
    00580534str x2, [sp+240]
    00580538ldr x0, [sp+80]
    0058053cldr x1, [sp+2232]
    00580540ldr x2, [sp+2224]
    00580544subs xzr, x0, x1
    00580548b.lo 0x580550
    0058054cb 0x580714
    00580550
    00580550loc_580550:
    00580550add x2, x2, x0, lsl #3
    00580554str x2, [sp+2432]
    00580558ldr x2, [sp+2128]
    0058055cldr x1, [sp+2136]
    00580560subs xzr, x1, 0
    00580564b.hi 0x58056c
    00580568b 0x58070c
    0058056c
    0058056cloc_58056c:
    0058056cstr x2, [sp+2424]
    00580570ldr x0, [sp+240]
    00580574ldr x1, [sp+2432]
    00580578str x1, [sp+8]
    0058057cstr x2, [sp+16]
    00580580str x0, [sp+24]
    00580584bl crypto/internal/fips140/bigmod.addMulVVW1536.abi0
    00580588ldr x0, [sp+32]
    0058058cstr x0, [sp+144]
    00580590ldr x1, [sp+208]
    00580594ldr x2, [sp+176]
    00580598movn x3, 0
    0058059cadds x3, x1, x3
    005805a0adcs x3, x2, x0
    005805a4adc x3, xzr, xzr
    005805a8movn x4, 0
    005805acadds x1, x1, x4
    005805b0adcs x0, x2, x0
    005805b4str x0, [sp+2040]
    005805b8str x3, [sp+2032]
    005805bcstr x0, [sp+2080]
    005805c0str x3, [sp+2072]
    005805c4ldr x1, [sp+80]
    005805c8add x1, x1, 24
    005805ccstr x1, [sp+816]
    005805d0ldr x2, [sp+2232]
    005805d4ldr x3, [sp+2224]
    005805d8subs xzr, x2, x1
    005805dcb.hi 0x5805e4
    005805e0b 0x580700
    005805e4
    005805e4loc_5805e4:
    005805e4str x0, [x3+3*x1]
    005805e8ldr x2, [sp+2072]
    005805ecstr x2, [sp+208]
    005805f0b 0x5805f4
    005805f4
    005805f4loc_5805f4:
    005805f4ldr x2, [sp+80]
    005805f8add x2, x2, 1
    005805fcstr x2, [sp+80]
    00580600b 0x580480
    00580604
    00580604loc_580604:
    00580604ldr x0, [sp+2632]
    00580608orr x1, xzr, 24
    0058060cbl crypto/internal/fips140/bigmod.(*Nat).reset
    00580610str x0, [sp+2584]
    00580614ldr x1, [sp+2232]
    00580618ldr x2, [sp+2224]
    0058061cldr x3, [sp+2240]
    00580620b 0x580624
    00580624
    00580624loc_580624:
    00580624subs xzr, x1, 24
    00580628b.hs 0x580630
    0058062cb 0x5806f8
    00580630
    00580630loc_580630:
    00580630sub x3, x3, 24
    00580634sub x4, xzr, x3
    00580638sub x5, x1, 24
    0058063csbfm x4, x4, 63, 63
    00580640and x4, x4, 192
    00580644add x4, x2, x4
    00580648str x4, [sp+2592]
    0058064cstr x5, [sp+2600]
    00580650str x3, [sp+2608]
    00580654ldr x3, [sp+2584]
    00580658ldrsb x27, [x3]
    0058065cldr x4, [x3]
    00580660ldr x5, [x3+8]
    00580664ldr x3, [x3+16]
    00580668str x4, [sp+2400]
    0058066cstr x5, [sp+2408]
    00580670str x3, [sp+2416]
    00580674ldr x3, [sp+2600]
    00580678ldr x4, [sp+2592]
    0058067cldr x5, [sp+2608]
    00580680str x4, [sp+2376]
    00580684str x3, [sp+2384]
    00580688str x5, [sp+2392]
    0058068cldr x4, [sp+2408]
    00580690str x4, [sp+808]
    00580694subs xzr, x3, x4
    00580698b.lt 0x5806a0
    0058069cb 0x5806a8
    005806a0
    005806a0loc_5806a0:
    005806a0str x3, [sp+808]
    005806a4b 0x5806ac
    005806a8
    005806a8loc_5806a8:
    005806a8b 0x5806ac
    005806ac
    005806acloc_5806ac:
    005806acldr x3, [sp+2376]
    005806b0ldr x4, [sp+2400]
    005806b4subs xzr, x4, x3
    005806b8b.ne 0x5806c0
    005806bcb 0x5806e0
    005806c0
    005806c0loc_5806c0:
    005806c0ldr x3, [sp+808]
    005806c4str x3, [sp+800]
    005806c8ldr x3, [sp+800]
    005806ccubfm x2, x3, 61, 60
    005806d0ldr x0, [sp+2400]
    005806d4ldr x1, [sp+2376]
    005806d8bl runtime.memmove
    005806dcb 0x5806e4
    005806e0
    005806e0loc_5806e0:
    005806e0b 0x5806e4
    005806e4
    005806e4loc_5806e4:
    005806e4ldr x2, [sp+2656]
    005806e8ldr x0, [sp+2632]
    005806ecldr x1, [sp+208]
    005806f0bl crypto/internal/fips140/bigmod.(*Nat).maybeSubtractModulus
    005806f4b 0x580198
    005806f8
    005806f8loc_5806f8:
    005806f8orr x0, xzr, 24
    005806fcbl runtime.panicSliceB
    00580700
    00580700loc_580700:
    00580700mov x0, x1
    00580704mov x1, x2
    00580708bl runtime.panicIndex
    0058070c
    0058070cloc_58070c:
    0058070cmov x0, xzr
    00580710bl runtime.panicIndex
    00580714
    00580714loc_580714:
    00580714bl runtime.panicIndex
    00580718
    00580718loc_580718:
    00580718bl runtime.panicIndex
    0058071c
    0058071cloc_58071c:
    0058071cmov x0, xzr
    00580720bl runtime.panicIndex
    00580724
    00580724loc_580724:
    00580724bl runtime.panicIndex
    00580728
    00580728loc_580728:
    00580728bl runtime.panicIndex
    0058072c
    0058072cloc_58072c:
    0058072cldr x2, [sp+88]
    00580730subs xzr, x2, 16
    00580734b.lt 0x58073c
    00580738b 0x5808b0
    0058073c
    0058073cloc_58073c:
    0058073cldr x0, [sp+88]
    00580740ldr x1, [sp+2160]
    00580744ldr x2, [sp+2152]
    00580748subs xzr, x1, x0
    0058074cb.hi 0x580754
    00580750b 0x5809cc
    00580754
    00580754loc_580754:
    00580754ldr x2, [x2+3*x0]
    00580758str x2, [sp+120]
    0058075cldr x0, [sp+88]
    00580760ldr x1, [sp+2256]
    00580764ldr x2, [sp+2248]
    00580768subs xzr, x1, x0
    0058076cb.hi 0x580774
    00580770b 0x5809c8
    00580774
    00580774loc_580774:
    00580774add x2, x2, x0, lsl #3
    00580778str x2, [sp+2528]
    0058077cldr x2, [sp+2176]
    00580780ldr x1, [sp+2184]
    00580784subs xzr, x1, 0
    00580788b.hi 0x580790
    0058078cb 0x5809c0
    00580790
    00580790loc_580790:
    00580790str x2, [sp+2520]
    00580794ldr x0, [sp+120]
    00580798ldr x1, [sp+2528]
    0058079cstr x1, [sp+8]
    005807a0str x2, [sp+16]
    005807a4str x0, [sp+24]
    005807a8bl crypto/internal/fips140/bigmod.addMulVVW1024.abi0
    005807acldr x0, [sp+32]
    005807b0str x0, [sp+184]
    005807b4ldr x0, [sp+88]
    005807b8ldr x1, [sp+2256]
    005807bcldr x2, [sp+2248]
    005807c0subs xzr, x1, x0
    005807c4b.hi 0x5807cc
    005807c8b 0x5809bc
    005807cc
    005807ccloc_5807cc:
    005807ccldr x2, [x2+3*x0]
    005807d0ldr x3, [sp+2656]
    005807d4ldrsb x27, [x3]
    005807d8ldr x3, [x3+16]
    005807dcmadd x2, x2, x3, xzr
    005807e0str x2, [sp+248]
    005807e4ldr x0, [sp+88]
    005807e8ldr x1, [sp+2256]
    005807ecldr x2, [sp+2248]
    005807f0subs xzr, x1, x0
    005807f4b.hi 0x5807fc
    005807f8b 0x5809b8
    005807fc
    005807fcloc_5807fc:
    005807fcadd x2, x2, x0, lsl #3
    00580800str x2, [sp+2512]
    00580804ldr x2, [sp+2128]
    00580808ldr x1, [sp+2136]
    0058080csubs xzr, x1, 0
    00580810b.hi 0x580818
    00580814b 0x5809b0
    00580818
    00580818loc_580818:
    00580818str x2, [sp+2504]
    0058081cldr x0, [sp+248]
    00580820ldr x1, [sp+2512]
    00580824str x1, [sp+8]
    00580828str x2, [sp+16]
    0058082cstr x0, [sp+24]
    00580830bl crypto/internal/fips140/bigmod.addMulVVW1024.abi0
    00580834ldr x0, [sp+32]
    00580838str x0, [sp+152]
    0058083cldr x1, [sp+216]
    00580840ldr x2, [sp+184]
    00580844movn x3, 0
    00580848adds x3, x1, x3
    0058084cadcs x3, x2, x0
    00580850str x3, [sp+2032]
    00580854movn x4, 0
    00580858adds x1, x1, x4
    0058085cadcs x0, x2, x0
    00580860adc x0, xzr, xzr
    00580864str x0, [sp+2040]
    00580868str x3, [sp+2096]
    0058086cstr x0, [sp+2088]
    00580870ldr x0, [sp+88]
    00580874add x0, x0, 16
    00580878str x0, [sp+1224]
    0058087cldr x1, [sp+2256]
    00580880ldr x2, [sp+2248]
    00580884subs xzr, x1, x0
    00580888b.hi 0x580890
    0058088cb 0x5809ac
    00580890
    00580890loc_580890:
    00580890str x3, [x2+3*x0]
    00580894ldr x2, [sp+2088]
    00580898str x2, [sp+216]
    0058089cb 0x5808a0
    005808a0
    005808a0loc_5808a0:
    005808a0ldr x2, [sp+88]
    005808a4add x2, x2, 1
    005808a8str x2, [sp+88]
    005808acb 0x58072c
    005808b0
    005808b0loc_5808b0:
    005808b0ldr x0, [sp+2632]
    005808b4orr x1, xzr, 16
    005808b8bl crypto/internal/fips140/bigmod.(*Nat).reset
    005808bcstr x0, [sp+2584]
    005808c0ldr x1, [sp+2256]
    005808c4ldr x2, [sp+2248]
    005808c8ldr x3, [sp+2264]
    005808ccb 0x5808d0
    005808d0
    005808d0loc_5808d0:
    005808d0subs xzr, x1, 16
    005808d4b.hs 0x5808dc
    005808d8b 0x5809a4
    005808dc
    005808dcloc_5808dc:
    005808dcsub x3, x3, 16
    005808e0sub x4, xzr, x3
    005808e4sub x5, x1, 16
    005808e8sbfm x4, x4, 63, 63
    005808ecand x4, x4, 128
    005808f0add x4, x2, x4
    005808f4str x4, [sp+2592]
    005808f8str x5, [sp+2600]
    005808fcstr x3, [sp+2608]
    00580900ldr x3, [sp+2584]
    00580904ldrsb x27, [x3]
    00580908ldr x4, [x3]
    0058090cldr x5, [x3+8]
    00580910ldr x3, [x3+16]
    00580914str x4, [sp+2480]
    00580918str x5, [sp+2488]
    0058091cstr x3, [sp+2496]
    00580920ldr x3, [sp+2600]
    00580924ldr x4, [sp+2592]
    00580928ldr x5, [sp+2608]
    0058092cstr x4, [sp+2456]
    00580930str x3, [sp+2464]
    00580934str x5, [sp+2472]
    00580938ldr x4, [sp+2488]
    0058093cstr x4, [sp+1216]
    00580940subs xzr, x3, x4
    00580944b.lt 0x58094c
    00580948b 0x580954
    0058094c
    0058094cloc_58094c:
    0058094cstr x3, [sp+1216]
    00580950b 0x580958
    00580954
    00580954loc_580954:
    00580954b 0x580958
    00580958
    00580958loc_580958:
    00580958ldr x3, [sp+2456]
    0058095cldr x4, [sp+2480]
    00580960subs xzr, x3, x4
    00580964b.ne 0x58096c
    00580968b 0x58098c
    0058096c
    0058096cloc_58096c:
    0058096cldr x3, [sp+1216]
    00580970str x3, [sp+1208]
    00580974ldr x3, [sp+1208]
    00580978ubfm x2, x3, 61, 60
    0058097cldr x0, [sp+2480]
    00580980ldr x1, [sp+2456]
    00580984bl runtime.memmove
    00580988b 0x580990
    0058098c
    0058098cloc_58098c:
    0058098cb 0x580990
    00580990
    00580990loc_580990:
    00580990ldr x2, [sp+2656]
    00580994ldr x0, [sp+2632]
    00580998ldr x1, [sp+216]
    0058099cbl crypto/internal/fips140/bigmod.(*Nat).maybeSubtractModulus
    005809a0b 0x580198
    005809a4
    005809a4loc_5809a4:
    005809a4orr x0, xzr, 16
    005809a8bl runtime.panicSliceB
    005809ac
    005809acloc_5809ac:
    005809acbl runtime.panicIndex
    005809b0
    005809b0loc_5809b0:
    005809b0mov x0, xzr
    005809b4bl runtime.panicIndex
    005809b8
    005809b8loc_5809b8:
    005809b8bl runtime.panicIndex
    005809bc
    005809bcloc_5809bc:
    005809bcbl runtime.panicIndex
    005809c0
    005809c0loc_5809c0:
    005809c0mov x0, xzr
    005809c4bl runtime.panicIndex
    005809c8
    005809c8loc_5809c8:
    005809c8bl runtime.panicIndex
    005809cc
    005809ccloc_5809cc:
    005809ccbl runtime.panicIndex
    005809d0
    005809d0loc_5809d0:
    005809d0bl runtime.panicSliceAcap
    005809d4
    005809d4loc_5809d4:
    005809d4bl runtime.panicSliceAcap
    005809d8
    005809d8loc_5809d8:
    005809d8bl runtime.panicSliceAcap
    005809dchint
    005809e0
    005809e0loc_5809e0:
    005809e0stp x0, x1, [sp+8]
    005809e4stp x2, x3, [sp+24]
    005809e8mov x3, x30
    005809ecbl runtime.morestack_noctxt.abi0
    005809f0ldp x0, x1, [sp+8]
    005809f4ldp x2, x3, [sp+24]
    005809f8b 0x57fc20
    005809fcudf 0
    0057fc20