Files
MAG160C/analysis/disasm/disasm_ReviseTemperature.txt
T

561 lines
42 KiB
Plaintext

00000006cdb8: sub sp, sp, #0x80
00000006cdbc: str d8, [sp, #0x10]
00000006cdc0: stp x28, x27, [sp, #0x20]
00000006cdc4: stp x26, x25, [sp, #0x30]
00000006cdc8: stp x24, x23, [sp, #0x40]
00000006cdcc: stp x22, x21, [sp, #0x50]
00000006cdd0: stp x20, x19, [sp, #0x60]
00000006cdd4: stp x29, x30, [sp, #0x70]
00000006cdd8: add x29, sp, #0x70
00000006cddc: mrs x24, tpidr_el0
00000006cde0: ldr x8, [x24, #0x28]
00000006cde4: mov x19, x0
00000006cde8: mov w21, w3
00000006cdec: mov w20, w2
00000006cdf0: str x8, [sp, #8]
00000006cdf4: ldr w8, [x19, #0x1638]
00000006cdf8: cbz w8, #0x6cf9c
00000006cdfc: ldr w8, [x19, #0x70]
00000006ce00: ldr w9, [x19, #0x163c]
00000006ce04: mov w10, #0x21c
00000006ce08: adrp x11, #0x339000
00000006ce0c: ldr s1, [x11, #0x4fc]
00000006ce10: cmp w8, w9
00000006ce14: csel x25, xzr, x8, hs
00000006ce18: madd x8, x25, x10, x19
00000006ce1c: ldr s0, [x8, #0x1844]
00000006ce20: and w22, w1, #0xffff
00000006ce24: fcmp s0, s1
00000006ce28: b.le #0x6cfbc
00000006ce2c: adrp x8, #0x339000
00000006ce30: ldr s1, [x8, #0x500]
00000006ce34: fcmp s0, s1
00000006ce38: b.pl #0x6cfbc
00000006ce3c: mov w9, #0x76e4
00000006ce40: mov w10, #0x76e0
00000006ce44: ldr w9, [x19, x9]
00000006ce48: ldr w10, [x19, x10]
00000006ce4c: mov w12, #0xc350
00000006ce50: mov w13, #0xe34f
00000006ce54: lsl w16, w22, w9
00000006ce58: add w16, w16, w10
00000006ce5c: add w17, w16, w12
00000006ce60: add w18, w16, w13
00000006ce64: cmp w17, #0
00000006ce68: csel w18, w18, w17, lt
00000006ce6c: adrp x11, #0x401000
00000006ce70: asr w18, w18, #0xd
00000006ce74: mov w14, #0x111
00000006ce78: mov w15, #-0xe34f
00000006ce7c: ldr x11, [x11, #0xdc0]
00000006ce80: cmp w18, #0x111
00000006ce84: csel w18, w18, w14, lo
00000006ce88: cmp w16, w15
00000006ce8c: csel w16, wzr, w18, lt
00000006ce90: add w0, w16, #1
00000006ce94: ldr w18, [x11, w16, uxtw #2]
00000006ce98: ldr w0, [x11, w0, uxtw #2]
00000006ce9c: sub w16, w17, w16, lsl #13
00000006cea0: mov w17, #0x1fff
00000006cea4: fmov s1, #1.00000000
00000006cea8: sub w0, w0, w18
00000006ceac: mul w16, w16, w0
00000006ceb0: add w0, w16, w17
00000006ceb4: cmp w16, #0
00000006ceb8: csel w16, w0, w16, lt
00000006cebc: ldr w0, [x19, #0x44]
00000006cec0: add w16, w18, w16, asr #13
00000006cec4: fsub s1, s1, s0
00000006cec8: ldr w18, [x11]
00000006cecc: add w12, w0, w12
00000006ced0: add w13, w0, w13
00000006ced4: cmp w12, #0
00000006ced8: csel w13, w13, w12, lt
00000006cedc: asr w13, w13, #0xd
00000006cee0: cmp w13, #0x111
00000006cee4: csel w13, w13, w14, lo
00000006cee8: cmp w0, w15
00000006ceec: csel w13, wzr, w13, lt
00000006cef0: add w15, w13, #1
00000006cef4: ldr w14, [x11, w13, uxtw #2]
00000006cef8: ldr w15, [x11, w15, uxtw #2]
00000006cefc: sub w12, w12, w13, lsl #13
00000006cf00: scvtf s2, w16
00000006cf04: mov w8, wzr
00000006cf08: sub w13, w15, w14
00000006cf0c: mul w12, w12, w13
00000006cf10: add w13, w12, w17
00000006cf14: cmp w12, #0
00000006cf18: csel w12, w13, w12, lt
00000006cf1c: add w12, w14, w12, asr #13
00000006cf20: scvtf s3, w12
00000006cf24: fmul s1, s1, s3
00000006cf28: fsub s1, s2, s1
00000006cf2c: fdiv s0, s1, s0
00000006cf30: fcvtzs w12, s0
00000006cf34: cmp w18, w12
00000006cf38: csel w12, w18, w12, gt
00000006cf3c: mov w13, #0x112
00000006cf40: add w14, w13, w8
00000006cf44: lsr w14, w14, #1
00000006cf48: ldr w15, [x11, w14, uxtw #2]
00000006cf4c: cmp w15, w12
00000006cf50: csel w8, w8, w14, gt
00000006cf54: csel w13, w14, w13, gt
00000006cf58: add w14, w8, #1
00000006cf5c: cmp w14, w13
00000006cf60: b.lo #0x6cf40
00000006cf64: adrp x14, #0x401000
00000006cf68: ldr x14, [x14, #0xf60]
00000006cf6c: mov w13, w8
00000006cf70: lsl x13, x13, #2
00000006cf74: ldr w11, [x11, x13]
00000006cf78: ldr w13, [x14, x13]
00000006cf7c: mov w14, #-0xc350
00000006cf80: add w8, w14, w8, lsl #13
00000006cf84: sub w11, w12, w11
00000006cf88: mul w11, w11, w13
00000006cf8c: sub w8, w8, w10
00000006cf90: add w8, w8, w11, asr #10
00000006cf94: asr w22, w8, w9
00000006cf98: b #0x6d210
00000006cf9c: mov w8, #0x76e4
00000006cfa0: ldr w8, [x19, x8]
00000006cfa4: mov w9, #0x76e0
00000006cfa8: ldr w9, [x19, x9]
00000006cfac: and w10, w1, #0xffff
00000006cfb0: lsl w8, w10, w8
00000006cfb4: add w0, w8, w9
00000006cfb8: b #0x6d678
00000006cfbc: cbz w21, #0x6d210
00000006cfc0: mov w8, #0x21c
00000006cfc4: madd x28, x25, x8, x19
00000006cfc8: ldr s0, [x28, #0x16ec]
00000006cfcc: fmov s8, #1.00000000
00000006cfd0: fcmp s0, s8
00000006cfd4: b.lt #0x6d210
00000006cfd8: mov w8, #0x21c
00000006cfdc: madd x23, x25, x8, x19
00000006cfe0: ldr s0, [x23, #0x16f0]
00000006cfe4: fcmp s0, s8
00000006cfe8: b.lt #0x6d210
00000006cfec: mov w8, #0x21c
00000006cff0: madd x26, x25, x8, x19
00000006cff4: ldr s1, [x26, #0x16f4]
00000006cff8: fcmp s1, #0.0
00000006cffc: b.le #0x6d210
00000006d000: mov w8, #0x21c
00000006d004: madd x27, x25, x8, x19
00000006d008: ldr s1, [x27, #0x16fc]
00000006d00c: fcmp s1, #0.0
00000006d010: b.le #0x6d210
00000006d014: add x2, sp, #4
00000006d018: mov x3, sp
00000006d01c: mov x0, x19
00000006d020: mov w1, w20
00000006d024: bl #0x5dbe0
00000006d028: cbz w0, #0x6d210
00000006d02c: mov w10, #0x16f0
00000006d030: add x10, x23, x10
00000006d034: mov w9, #0x16ec
00000006d038: ldr s0, [sp, #4]
00000006d03c: ldr s1, [x10]
00000006d040: add x9, x28, x9
00000006d044: ldr s2, [x9]
00000006d048: mov w11, #0x16f4
00000006d04c: mov w12, #0x16fc
00000006d050: mov w13, #0x21c
00000006d054: mov w14, #0x1700
00000006d058: mov w15, #0x16f8
00000006d05c: add x18, x26, x11
00000006d060: add x12, x27, x12
00000006d064: madd x10, x25, x13, x19
00000006d068: fcmp s1, s0
00000006d06c: add x13, x10, x14
00000006d070: add x14, x10, x15
00000006d074: csel x9, x12, x18, lt
00000006d078: mov w16, #0x76e4
00000006d07c: csel x11, x13, x14, lt
00000006d080: fcmp s1, s2
00000006d084: ldr s1, [x9]
00000006d088: mov w17, #0x76e0
00000006d08c: ldr w9, [x19, x16]
00000006d090: ldr w10, [x19, x17]
00000006d094: fmul s0, s0, s1
00000006d098: ldr s1, [x11]
00000006d09c: lsl w16, w22, w9
00000006d0a0: mov w0, #0xc350
00000006d0a4: add w16, w16, w10
00000006d0a8: mov w1, #0xe34f
00000006d0ac: adrp x11, #0x401000
00000006d0b0: csel x12, x12, x18, lt
00000006d0b4: add w17, w16, w0
00000006d0b8: ldr x11, [x11, #0xdc0]
00000006d0bc: fadd s0, s0, s1
00000006d0c0: ldr s1, [x12]
00000006d0c4: add w12, w16, w1
00000006d0c8: csel x13, x13, x14, lt
00000006d0cc: cmp w17, #0
00000006d0d0: csel w12, w12, w17, lt
00000006d0d4: asr w12, w12, #0xd
00000006d0d8: mov w2, #0x111
00000006d0dc: mov w15, #-0xe34f
00000006d0e0: cmp w12, #0x111
00000006d0e4: csel w12, w12, w2, lo
00000006d0e8: cmp w16, w15
00000006d0ec: csel w12, wzr, w12, lt
00000006d0f0: add w14, w12, #1
00000006d0f4: fmul s1, s2, s1
00000006d0f8: ldr s2, [x13]
00000006d0fc: ldr w13, [x11, w12, uxtw #2]
00000006d100: ldr w14, [x11, w14, uxtw #2]
00000006d104: sub w12, w17, w12, lsl #13
00000006d108: ldrh w17, [sp]
00000006d10c: mov w16, #0x1fff
00000006d110: sub w14, w14, w13
00000006d114: mul w12, w12, w14
00000006d118: add w14, w12, w16
00000006d11c: cmp w12, #0
00000006d120: csel w12, w14, w12, lt
00000006d124: add w12, w13, w12, asr #13
00000006d128: lsl w13, w17, w9
00000006d12c: add w13, w13, w10
00000006d130: add w14, w13, w0
00000006d134: add w17, w13, w1
00000006d138: cmp w14, #0
00000006d13c: csel w17, w17, w14, lt
00000006d140: asr w17, w17, #0xd
00000006d144: cmp w17, #0x111
00000006d148: csel w17, w17, w2, lo
00000006d14c: cmp w13, w15
00000006d150: csel w13, wzr, w17, lt
00000006d154: add w17, w13, #1
00000006d158: ldr w15, [x11, w13, uxtw #2]
00000006d15c: ldr w17, [x11, w17, uxtw #2]
00000006d160: sub w13, w14, w13, lsl #13
00000006d164: fadd s1, s1, s2
00000006d168: fdiv s0, s0, s1
00000006d16c: sub w14, w17, w15
00000006d170: mul w13, w13, w14
00000006d174: add w14, w13, w16
00000006d178: cmp w13, #0
00000006d17c: scvtf s1, w12
00000006d180: sub w12, w12, w15
00000006d184: csel w13, w14, w13, lt
00000006d188: sub w12, w12, w13, asr #13
00000006d18c: fsub s0, s8, s0
00000006d190: scvtf s2, w12
00000006d194: fmul s0, s0, s2
00000006d198: fadd s0, s0, s1
00000006d19c: mov w8, wzr
00000006d1a0: fcvtzs w12, s0
00000006d1a4: mov w13, #0x112
00000006d1a8: add w14, w13, w8
00000006d1ac: lsr w14, w14, #1
00000006d1b0: ldr w15, [x11, w14, uxtw #2]
00000006d1b4: cmp w15, w12
00000006d1b8: csel w8, w8, w14, gt
00000006d1bc: csel w13, w14, w13, gt
00000006d1c0: add w14, w8, #1
00000006d1c4: cmp w14, w13
00000006d1c8: b.lo #0x6d1a8
00000006d1cc: adrp x14, #0x401000
00000006d1d0: ldr x14, [x14, #0xf60]
00000006d1d4: mov w13, w8
00000006d1d8: lsl x13, x13, #2
00000006d1dc: ldr w11, [x11, x13]
00000006d1e0: ldr w13, [x14, x13]
00000006d1e4: mov w14, #-0xc350
00000006d1e8: add w8, w14, w8, lsl #13
00000006d1ec: sub w8, w8, w10
00000006d1f0: sub w10, w12, w11
00000006d1f4: mul w10, w10, w13
00000006d1f8: add w8, w8, w10, asr #10
00000006d1fc: asr w8, w8, w9
00000006d200: bic w8, w8, w8, asr #31
00000006d204: mov w9, #0xffff
00000006d208: cmp w8, w9
00000006d20c: csel w22, w8, w9, lt
00000006d210: mov w8, #0x21c
00000006d214: madd x8, x25, x8, x19
00000006d218: ldr w8, [x8, #0x167c]
00000006d21c: subs w9, w8, #1
00000006d220: b.ne #0x6d22c
00000006d224: mov w8, wzr
00000006d228: b #0x6d258
00000006d22c: mov w10, #0x21c
00000006d230: madd x10, x25, x10, x19
00000006d234: mov w11, #0x1680
00000006d238: mov x8, xzr
00000006d23c: add x10, x10, x11
00000006d240: ldr w11, [x10, x8, lsl #2]
00000006d244: cmp w22, w11
00000006d248: b.le #0x6d258
00000006d24c: add x8, x8, #1
00000006d250: cmp w8, w9
00000006d254: b.lo #0x6d240
00000006d258: mov w11, #0x21c
00000006d25c: mov w12, #0x1714
00000006d260: mov w13, #1
00000006d264: madd x11, x25, x11, x19
00000006d268: lsl w10, w8, #1
00000006d26c: bfi w13, w8, #1, #0x1f
00000006d270: add x8, x11, x12
00000006d274: ldr w12, [x11, #0x1678]
00000006d278: ldr w15, [x11, #0x1674]
00000006d27c: ldrsw x17, [x8, w10, uxtw #2]
00000006d280: ldr w16, [x11, #0x1670]
00000006d284: ldp w11, w10, [x19, #0x3c]
00000006d288: ldr w14, [x19, #0x4c]
00000006d28c: ldr w8, [x8, w13, uxtw #2]
00000006d290: sxtw x9, w22
00000006d294: sub w12, w12, w15
00000006d298: mul x9, x17, x9
00000006d29c: asr x9, x9, x16
00000006d2a0: add w12, w12, w11
00000006d2a4: cbz w14, #0x6d2c0
00000006d2a8: sub w12, w12, w10
00000006d2ac: cmp w12, #0x3e8
00000006d2b0: b.gt #0x6d2cc
00000006d2b4: mov w13, #-0x1388
00000006d2b8: cmp w12, w13
00000006d2bc: b #0x6d2dc
00000006d2c0: sub w12, w10, w12
00000006d2c4: cmp w12, #0x3e8
00000006d2c8: b.le #0x6d2d4
00000006d2cc: mov w12, #0x3e8
00000006d2d0: b #0x6d2e0
00000006d2d4: cmn w12, #0x3e8
00000006d2d8: mov w13, #-0x3e8
00000006d2dc: csel w12, w12, w13, gt
00000006d2e0: ldp w13, w14, [x19, #0x44]
00000006d2e4: mov w15, #0xc350
00000006d2e8: mov w16, #0xe34f
00000006d2ec: mov w17, #0x111
00000006d2f0: sub w12, w12, w14
00000006d2f4: sub w11, w13, w11
00000006d2f8: add w12, w12, w10
00000006d2fc: add w13, w12, w11, lsl #1
00000006d300: add w12, w10, w15
00000006d304: add w15, w10, w16
00000006d308: cmp w12, #0
00000006d30c: csel w15, w15, w12, lt
00000006d310: asr w15, w15, #0xd
00000006d314: mov w14, #-0xe34f
00000006d318: cmp w15, #0x111
00000006d31c: mov w11, #0x1fff
00000006d320: csel w15, w15, w17, lo
00000006d324: cmp w10, w14
00000006d328: add w14, w13, w12
00000006d32c: csel w10, wzr, w15, lt
00000006d330: add w15, w14, w11
00000006d334: cmp w14, #0
00000006d338: csel w15, w15, w14, lt
00000006d33c: asr w15, w15, #0xd
00000006d340: cmp w15, #0x111
00000006d344: mov w16, #-0x1fff
00000006d348: csel w15, w15, w17, lo
00000006d34c: cmp w14, w16
00000006d350: csel w15, wzr, w15, lt
00000006d354: cmp w10, w15
00000006d358: b.ne #0x6d394
00000006d35c: adrp x14, #0x401000
00000006d360: ldr x14, [x14, #0xdc0]
00000006d364: add w12, w10, #1
00000006d368: ldr w12, [x14, w12, uxtw #2]
00000006d36c: ldr w10, [x14, w10, uxtw #2]
00000006d370: sub w10, w12, w10
00000006d374: mul w10, w10, w13
00000006d378: add w11, w10, w11
00000006d37c: cmp w10, #0
00000006d380: csel w10, w11, w10, lt
00000006d384: asr w22, w10, #0xd
00000006d388: add w23, w8, w9
00000006d38c: cbnz w21, #0x6d3f8
00000006d390: b #0x6d53c
00000006d394: adrp x13, #0x401000
00000006d398: ldr x13, [x13, #0xdc0]
00000006d39c: add w16, w10, #1
00000006d3a0: add w17, w15, #1
00000006d3a4: ldr w18, [x13, w10, uxtw #2]
00000006d3a8: ldr w16, [x13, w16, uxtw #2]
00000006d3ac: ldr w17, [x13, w17, uxtw #2]
00000006d3b0: ldr w13, [x13, w15, uxtw #2]
00000006d3b4: sub w10, w12, w10, lsl #13
00000006d3b8: sub w12, w14, w15, lsl #13
00000006d3bc: sub w14, w16, w18
00000006d3c0: sub w15, w17, w13
00000006d3c4: mul w12, w15, w12
00000006d3c8: mul w10, w14, w10
00000006d3cc: add w14, w12, w11
00000006d3d0: cmp w12, #0
00000006d3d4: add w11, w10, w11
00000006d3d8: csel w12, w14, w12, lt
00000006d3dc: cmp w10, #0
00000006d3e0: csel w10, w11, w10, lt
00000006d3e4: sub w11, w13, w18
00000006d3e8: sub w10, w11, w10, asr #13
00000006d3ec: add w22, w10, w12, asr #13
00000006d3f0: add w23, w8, w9
00000006d3f4: cbz w21, #0x6d53c
00000006d3f8: ldr s0, [x19, #0x84]
00000006d3fc: fcmp s0, #0.0
00000006d400: b.eq #0x6d53c
00000006d404: mov w8, #0x21c
00000006d408: madd x8, x25, x8, x19
00000006d40c: ldr w9, [x8, #0x184c]
00000006d410: ldr w10, [x8, #0x1848]
00000006d414: mov w8, #0x4a78
00000006d418: ldr w8, [x19, x8]
00000006d41c: sub w9, w9, w10
00000006d420: mov w10, #0xc350
00000006d424: cmp w9, w10
00000006d428: b.gt #0x6d440
00000006d42c: mov w9, #0x9c40
00000006d430: cmp w8, w9
00000006d434: csel w8, w8, w9, lt
00000006d438: mov w9, #0x1388
00000006d43c: b #0x6d450
00000006d440: mov w9, #0xea60
00000006d444: cmp w8, w9
00000006d448: csel w8, w8, w9, lt
00000006d44c: mov w9, #-0x9c40
00000006d450: cmp w8, w9
00000006d454: csel w8, w8, w9, gt
00000006d458: ldr w9, [x19, #0x80]
00000006d45c: mov w10, #0x4c08
00000006d460: movk w10, #1, lsl #16
00000006d464: mov w11, #0x6c07
00000006d468: sub w8, w8, w9
00000006d46c: scvtf s1, w8
00000006d470: fmul s0, s0, s1
00000006d474: fcvtzs w9, s0
00000006d478: movk w11, #1, lsl #16
00000006d47c: add w8, w9, w10
00000006d480: add w10, w9, w11
00000006d484: cmp w8, #0
00000006d488: csel w10, w10, w8, lt
00000006d48c: asr w10, w10, #0xd
00000006d490: mov w11, #0x93f9
00000006d494: mov w12, #0x111
00000006d498: cmp w10, #0x111
00000006d49c: movk w11, #0xfffe, lsl #16
00000006d4a0: csel w10, w10, w12, lo
00000006d4a4: cmp w9, w11
00000006d4a8: csel w10, wzr, w10, lt
00000006d4ac: cmp w10, #0xa
00000006d4b0: b.ne #0x6d4e0
00000006d4b4: adrp x8, #0x401000
00000006d4b8: ldr x8, [x8, #0xdc0]
00000006d4bc: mov w11, #0x1fff
00000006d4c0: ldp w10, w8, [x8, #0x28]
00000006d4c4: sub w8, w8, w10
00000006d4c8: mul w8, w8, w9
00000006d4cc: add w9, w8, w11
00000006d4d0: cmp w8, #0
00000006d4d4: csel w8, w9, w8, lt
00000006d4d8: asr w8, w8, #0xd
00000006d4dc: b #0x6d538
00000006d4e0: adrp x9, #0x401000
00000006d4e4: ldr x9, [x9, #0xdc0]
00000006d4e8: add w11, w10, #1
00000006d4ec: sub w8, w8, w10, lsl #13
00000006d4f0: ldp w12, w13, [x9, #0x28]
00000006d4f4: ldr w10, [x9, w10, uxtw #2]
00000006d4f8: ldr w9, [x9, w11, uxtw #2]
00000006d4fc: mov w11, #0xc08
00000006d500: sub w13, w13, w12
00000006d504: mul w11, w13, w11
00000006d508: sub w9, w9, w10
00000006d50c: mov w13, #0x1fff
00000006d510: mul w8, w9, w8
00000006d514: add w9, w8, w13
00000006d518: cmp w8, #0
00000006d51c: add w13, w11, w13
00000006d520: csel w8, w9, w8, lt
00000006d524: cmp w11, #0
00000006d528: csel w9, w13, w11, lt
00000006d52c: sub w10, w10, w12
00000006d530: sub w9, w10, w9, asr #13
00000006d534: add w8, w9, w8, asr #13
00000006d538: add w22, w8, w22
00000006d53c: mov w8, #0x21c
00000006d540: madd x8, x25, x8, x19
00000006d544: ldr s0, [x8, #0x1854]
00000006d548: fcmp s0, #0.0
00000006d54c: b.eq #0x6d664
00000006d550: ldr w9, [x19, #0x1da8]
00000006d554: ldr w10, [x19, #0x1dac]
00000006d558: mov w11, #0x1854
00000006d55c: udiv w12, w20, w9
00000006d560: msub w13, w12, w9, w20
00000006d564: sub w10, w12, w10, lsr #1
00000006d568: sub w9, w13, w9, lsr #1
00000006d56c: mul w10, w10, w10
00000006d570: madd w9, w9, w9, w10
00000006d574: scvtf s1, w9
00000006d578: fsqrt s0, s1
00000006d57c: fcmp s0, s0
00000006d580: add x20, x8, x11
00000006d584: b.vc #0x6d590
00000006d588: mov v0.16b, v1.16b
00000006d58c: bl #0x5ff10
00000006d590: mov w8, #0xc350
00000006d594: mov w9, #0xe34f
00000006d598: add w13, w23, w8
00000006d59c: add w14, w23, w9
00000006d5a0: cmp w13, #0
00000006d5a4: csel w14, w14, w13, lt
00000006d5a8: adrp x12, #0x401000
00000006d5ac: asr w14, w14, #0xd
00000006d5b0: ldr s1, [x20]
00000006d5b4: mov w10, #0x111
00000006d5b8: mov w11, #-0xe34f
00000006d5bc: ldr x12, [x12, #0xdc0]
00000006d5c0: cmp w14, #0x111
00000006d5c4: csel w14, w14, w10, lo
00000006d5c8: cmp w23, w11
00000006d5cc: csel w14, wzr, w14, lt
00000006d5d0: add w16, w14, #1
00000006d5d4: ldr w15, [x12, w14, uxtw #2]
00000006d5d8: ldr w16, [x12, w16, uxtw #2]
00000006d5dc: sub w13, w13, w14, lsl #13
00000006d5e0: ldr w14, [x19, #0x48]
00000006d5e4: mov w17, #0x1fff
00000006d5e8: sub w16, w16, w15
00000006d5ec: mul w13, w16, w13
00000006d5f0: add w16, w13, w17
00000006d5f4: cmp w13, #0
00000006d5f8: add w8, w14, w8
00000006d5fc: csel w13, w16, w13, lt
00000006d600: add w9, w14, w9
00000006d604: cmp w8, #0
00000006d608: csel w9, w9, w8, lt
00000006d60c: asr w9, w9, #0xd
00000006d610: cmp w9, #0x111
00000006d614: csel w9, w9, w10, lo
00000006d618: cmp w14, w11
00000006d61c: csel w9, wzr, w9, lt
00000006d620: add w11, w9, #1
00000006d624: ldr w10, [x12, w9, uxtw #2]
00000006d628: ldr w11, [x12, w11, uxtw #2]
00000006d62c: sub w8, w8, w9, lsl #13
00000006d630: fmul s0, s0, s1
00000006d634: sub w9, w15, w10
00000006d638: sub w10, w11, w10
00000006d63c: mul w8, w8, w10
00000006d640: add w10, w8, w17
00000006d644: cmp w8, #0
00000006d648: csel w8, w10, w8, lt
00000006d64c: add w9, w9, w13, asr #13
00000006d650: sub w8, w9, w8, asr #13
00000006d654: scvtf s1, w8
00000006d658: fnmul s0, s0, s1
00000006d65c: fcvtzs w8, s0
00000006d660: add w22, w22, w8
00000006d664: mov x0, x19
00000006d668: mov w1, w23
00000006d66c: mov w2, w22
00000006d670: bl #0x5fe90
00000006d674: add w0, w0, w23