2a2e: 80 90 8a 02 lds r8, 0x028A

2a32: 90 90 8b 02 lds r9, 0x028B

2a36: a0 90 8c 02 lds r10, 0x028C

2a3a: b0 90 8d 02 lds r11, 0x028D

2a3e: c0 90 86 02 lds r12, 0x0286

2a42: d0 90 87 02 lds r13, 0x0287

2a46: e0 90 88 02 lds r14, 0x0288

2a4a: f0 90 89 02 lds r15, 0x0289

2a4e: c8 14 cp r12, r8

2a50: d9 04 cpc r13, r9

2a52: ea 04 cpc r14, r10

2a54: fb 04 cpc r15, r11

2a56: 64 f5 brge .+88 ; 0x2ab0

2a58: c7 01 movw r24, r14

2a5a: b6 01 movw r22, r12

2a5c: 0e 94 14 22 call 0x4428 ; 0x4428 <__floatsisf>

2a60: 2f e6 ldi r18, 0x6F ; 111

2a62: 32 e1 ldi r19, 0x12 ; 18

2a64: 43 e8 ldi r20, 0x83 ; 131

2a66: 5a e3 ldi r21, 0x3A ; 58

2a68: 0e 94 a0 22 call 0x4540 ; 0x4540 <__mulsf3>

2a6c: 6b 01 movw r12, r22

2a6e: 7c 01 movw r14, r24

2a70: c5 01 movw r24, r10

2a72: b4 01 movw r22, r8

2a74: 0e 94 14 22 call 0x4428 ; 0x4428 <__floatsisf>

2a78: 2f e6 ldi r18, 0x6F ; 111

2a7a: 32 e1 ldi r19, 0x12 ; 18

2a7c: 43 e8 ldi r20, 0x83 ; 131

2a7e: 5a e3 ldi r21, 0x3A ; 58

2a80: 0e 94 a0 22 call 0x4540 ; 0x4540 <__mulsf3>

2a84: 9b 01 movw r18, r22

2a86: ac 01 movw r20, r24

2a88: c7 01 movw r24, r14

2a8a: b6 01 movw r22, r12

2a8c: 0e 94 79 21 call 0x42f2 ; 0x42f2 <__divsf3>

I am trying to reverse engineer a piece of code and I am stuck on the multiplication call. Starting on line 2A60, a 32 bit number is loaded into the registers. I am trying to figure out what that number represents and what is being multiplied by what. I am used to the format where this piece of code represents loading 7000:

343e: 68 e5 ldi r22, 0x58 ; 88

3440: 7b e1 ldi r23, 0x1B ; 27

3442: 80 e0 ldi r24, 0x00 ; 0

3444: 90 e0 ldi r25, 0x00 ; 0

However it doesn’t seem correct that on line 2A60, there’s a multiplication by 981668463. Does anyone know how to read this?