Skip to content

Instantly share code, notes, and snippets.

@laanwj
Last active August 29, 2015 14:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save laanwj/1b7730796aa94f5bfa87 to your computer and use it in GitHub Desktop.
Save laanwj/1b7730796aa94f5bfa87 to your computer and use it in GitHub Desktop.
IR expressions generated from secp256k1_fe_*_inner ARM assembly
loc_0000000000000000:
@32[(SP+0xFFFFFFFC)] = LR
@32[(SP+0xFFFFFFF8)] = R11
@32[(SP+0xFFFFFFF4)] = R10
@32[(SP+0xFFFFFFF0)] = R9
@32[(SP+0xFFFFFFEC)] = R8
@32[(SP+0xFFFFFFE8)] = R7
@32[(SP+0xFFFFFFE4)] = R6
@32[(SP+0xFFFFFFE0)] = R5
@32[(SP+0xFFFFFFDC)] = R4
SP = (SP+0xFFFFFFDC)
SP = (SP+0xFFFFFFD0)
@32[SP] = R0
R7 = @32[R1]
R8 = @32[(R2+0x24)]
R0 = @32[(R1+0x4)]
R5 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[0:32]
R6 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[32:64]
LR = @32[(R2+0x20)]
R9 = ({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[0:32]
R10 = ({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[32:64]
R7 = @32[(R1+0x8)]
R5 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R8 = @32[(R2+0x1C)]
R9 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = @32[(R1+0xC)]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
LR = @32[(R2+0x18)]
R9 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R7 = @32[(R1+0x10)]
R5 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R8 = @32[(R2+0x14)]
R9 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = @32[(R1+0x14)]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
LR = @32[(R2+0x10)]
R9 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R7 = @32[(R1+0x18)]
R5 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R8 = @32[(R2+0xC)]
R9 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = @32[(R1+0x1C)]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
LR = @32[(R2+0x8)]
R9 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R7 = @32[(R1+0x20)]
R5 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R8 = @32[(R2+0x4)]
R9 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = @32[(R1+0x24)]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
LR = @32[R2]
R9 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R7 = @32[R1]
R5 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R0 = (R5&0x3FFFFFF)
@32[(SP+0x28)] = R0
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
R3 = ({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[0:32]
R4 = ({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[32:64]
cf = (R5^R9^((R5^R9^0xFFFFFFFF)&(R5^(R5+R9)))^(R5+R9))[31:32]
R5 = (R5+R9)
R6 = (R10+R6+{cf,0,1, 0x0,1,32})
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x4)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = @32[R1]
R8 = @32[(R2+0x8)]
LR = @32[(R2+0x4)]
R11 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[0:32]
R12 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[32:64]
R0 = @32[(R1+0x4)]
R3 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R8 = @32[R2]
R11 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R7 = @32[(R1+0x8)]
R3 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = @32[(R2+0x24)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R0 = @32[(R1+0xC)]
R5 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R8 = @32[(R2+0x20)]
R9 = ({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})[0:32]
R10 = ({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})[32:64]
R7 = @32[(R1+0x10)]
R5 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
LR = @32[(R2+0x1C)]
R9 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = @32[(R1+0x14)]
R5 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R8 = @32[(R2+0x18)]
R9 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R7 = @32[(R1+0x18)]
R5 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
LR = @32[(R2+0x14)]
R9 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = @32[(R1+0x1C)]
R5 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R8 = @32[(R2+0x10)]
R9 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R7 = @32[(R1+0x20)]
R5 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
LR = @32[(R2+0xC)]
R9 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = @32[(R1+0x24)]
R5 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R8 = @32[(R2+0x8)]
R9 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R5 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x8)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
cf = (R11^R3^((R11^R3^0xFFFFFFFF)&(R3^(R11+R3)))^(R11+R3))[31:32]
R3 = (R11+R3)
R4 = (R12+R4+{cf,0,1, 0x0,1,32})
cf = (R5^R9^((R5^R9^0xFFFFFFFF)&(R5^(R5+R9)))^(R5+R9))[31:32]
R5 = (R5+R9)
R6 = (R10+R6+{cf,0,1, 0x0,1,32})
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0xC)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = @32[R1]
R8 = @32[(R2+0x10)]
R11 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[0:32]
R12 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[32:64]
R8 = @32[(R2+0xC)]
R3 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = @32[(R1+0x4)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R8 = @32[(R2+0x8)]
R3 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = @32[(R1+0x8)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R8 = @32[(R2+0x4)]
R3 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = @32[(R1+0xC)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R8 = @32[R2]
R3 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = @32[(R1+0x10)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R8 = @32[(R2+0x24)]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R7 = @32[(R1+0x14)]
R9 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[0:32]
R10 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[32:64]
R8 = @32[(R2+0x20)]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R7 = @32[(R1+0x18)]
R9 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R8 = @32[(R2+0x1C)]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R7 = @32[(R1+0x1C)]
R9 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R8 = @32[(R2+0x18)]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R7 = @32[(R1+0x20)]
R9 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R8 = @32[(R2+0x14)]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R7 = @32[(R1+0x24)]
R9 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R8 = @32[(R2+0x10)]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x10)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
cf = (R11^R3^((R11^R3^0xFFFFFFFF)&(R3^(R11+R3)))^(R11+R3))[31:32]
R3 = (R11+R3)
R4 = (R12+R4+{cf,0,1, 0x0,1,32})
cf = (R5^R9^((R5^R9^0xFFFFFFFF)&(R5^(R5+R9)))^(R5+R9))[31:32]
R5 = (R5+R9)
R6 = (R10+R6+{cf,0,1, 0x0,1,32})
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x14)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = @32[R1]
R8 = @32[(R2+0x18)]
LR = @32[(R2+0x14)]
R11 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[0:32]
R12 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[32:64]
R0 = @32[(R1+0x4)]
R3 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R8 = @32[(R2+0x10)]
R11 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R7 = @32[(R1+0x8)]
R3 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = @32[(R2+0xC)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R0 = @32[(R1+0xC)]
R3 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R8 = @32[(R2+0x8)]
R11 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R7 = @32[(R1+0x10)]
R3 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = @32[(R2+0x4)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R0 = @32[(R1+0x14)]
R3 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R8 = @32[R2]
R11 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R7 = @32[(R1+0x18)]
R3 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = @32[(R2+0x24)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R0 = @32[(R1+0x1C)]
R5 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R8 = @32[(R2+0x20)]
R9 = ({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})[0:32]
R10 = ({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})[32:64]
R7 = @32[(R1+0x20)]
R5 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
LR = @32[(R2+0x1C)]
R9 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = @32[(R1+0x24)]
R5 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R8 = @32[(R2+0x18)]
R9 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R5 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x18)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
cf = (R11^R3^((R11^R3^0xFFFFFFFF)&(R3^(R11+R3)))^(R11+R3))[31:32]
R3 = (R11+R3)
R4 = (R12+R4+{cf,0,1, 0x0,1,32})
cf = (R5^R9^((R5^R9^0xFFFFFFFF)&(R5^(R5+R9)))^(R5+R9))[31:32]
R5 = (R5+R9)
R6 = (R10+R6+{cf,0,1, 0x0,1,32})
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x1C)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R8 = @32[(R2+0x20)]
R7 = @32[R1]
LR = @32[(R2+0x1C)]
R11 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[0:32]
R12 = ({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[32:64]
R0 = @32[(R1+0x4)]
R3 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R8 = @32[(R2+0x18)]
R11 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R7 = @32[(R1+0x8)]
R3 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = @32[(R2+0x14)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R0 = @32[(R1+0xC)]
R3 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R8 = @32[(R2+0x10)]
R11 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R7 = @32[(R1+0x10)]
R3 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = @32[(R2+0xC)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R0 = @32[(R1+0x14)]
R3 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R8 = @32[(R2+0x8)]
R11 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R7 = @32[(R1+0x18)]
R3 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = @32[(R2+0x4)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R0 = @32[(R1+0x1C)]
R3 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R8 = @32[R2]
R11 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R7 = @32[(R1+0x20)]
R3 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = @32[(R2+0x24)]
R11 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R0 = @32[(R1+0x24)]
R5 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R8 = @32[(R2+0x20)]
R9 = ({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})[0:32]
R10 = ({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})[32:64]
R5 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x20)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
cf = (R11^R3^((R11^R3^0xFFFFFFFF)&(R3^(R11+R3)))^(R11+R3))[31:32]
R3 = (R11+R3)
R4 = (R12+R4+{cf,0,1, 0x0,1,32})
cf = (R5^R9^((R5^R9^0xFFFFFFFF)&(R5^(R5+R9)))^(R5+R9))[31:32]
R5 = (R5+R9)
R6 = (R10+R6+{cf,0,1, 0x0,1,32})
R0 = (R5&0x3FFFFFF)
@32[(SP+0x24)] = R0
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R0 = @32[SP]
R1 = (SP+0x10)
R2 = @32[R1]
R7 = @32[(R1+0x4)]
R8 = @32[(R1+0x8)]
R9 = @32[(R1+0xC)]
R10 = @32[(R1+0x10)]
R11 = @32[(R1+0x14)]
R12 = @32[(R1+0x18)]
R1 = (R0+0xC)
@32[R1] = R2
@32[(R1+0x4)] = R7
@32[(R1+0x8)] = R8
@32[(R1+0xC)] = R9
@32[(R1+0x10)] = R10
R2 = (R3&0x3FFFFFF)
@32[(R0+0x20)] = R2
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R11,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R11,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R5,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R5,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
cf = (R12^R3^((R12^R3^0xFFFFFFFF)&(R3^(R12+R3)))^(R12+R3))[31:32]
R3 = (R12+R3)
R4 = (R4+{cf,0,1, 0x0,1,32})
R1 = (SP+0x4)
R7 = @32[R1]
R8 = @32[(R1+0x4)]
R9 = @32[(R1+0x8)]
R2 = {R3[0:22],0,22, 0x0,22,32}
@32[(R0+0x24)] = R2
R3 = (R3 >> 0x16)
R3 = (R3|(R4 << 0xA))
R4 = (R4 >> 0x16)
LR = 0x4000
R3 = (({LR,0,32, 0x0,32,64}*{R5,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R5,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = 0x3D1
R5 = ({LR,0,32, 0x0,32,64}*{R3,0,32, 0x0,32,64})[0:32]
R6 = ({LR,0,32, 0x0,32,64}*{R3,0,32, 0x0,32,64})[32:64]
cf = (R5^R7^((R5^R7^0xFFFFFFFF)&(R5^(R5+R7)))^(R5+R7))[31:32]
R5 = (R5+R7)
R6 = (R6+(LR*R4))
R6 = (R6+{cf,0,1, 0x0,1,32})
R2 = (R5&0x3FFFFFF)
@32[R0] = R2
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x40
R1 = ({LR,0,32, 0x0,32,64}*{R3,0,32, 0x0,32,64})[0:32]
R2 = ({LR,0,32, 0x0,32,64}*{R3,0,32, 0x0,32,64})[32:64]
cf = (R5^R8^((R5^R8^0xFFFFFFFF)&(R5^(R5+R8)))^(R5+R8))[31:32]
R5 = (R5+R8)
R6 = (R6+{cf,0,1, 0x0,1,32})
cf = (R1^R5^((R1^R5^0xFFFFFFFF)&(R5^(R1+R5)))^(R1+R5))[31:32]
R5 = (R1+R5)
R2 = (R2+(LR*R4))
R6 = (R2+R6+{cf,0,1, 0x0,1,32})
R2 = (R5&0x3FFFFFF)
@32[(R0+0x4)] = R2
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R5 = (R5+R9)
@32[(R0+0x8)] = R5
SP = (SP+0x30)
IRDst = @32[(SP+0x20)]
SP = (SP+0x24)
loc_0000000000000620:
loc_0000000000000620:0x00000620
@32[(SP+0xFFFFFFFC)] = LR
@32[(SP+0xFFFFFFF8)] = R11
@32[(SP+0xFFFFFFF4)] = R10
@32[(SP+0xFFFFFFF0)] = R9
@32[(SP+0xFFFFFFEC)] = R8
@32[(SP+0xFFFFFFE8)] = R7
@32[(SP+0xFFFFFFE4)] = R6
@32[(SP+0xFFFFFFE0)] = R5
@32[(SP+0xFFFFFFDC)] = R4
SP = (SP+0xFFFFFFDC)
SP = (SP+0xFFFFFFD0)
@32[SP] = R0
R0 = @32[(R1+0x4)]
R7 = @32[R1]
R0 = (R0 << 0x1)
LR = @32[(R1+0x24)]
R3 = ({R7,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[0:32]
R4 = ({R7,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[32:64]
R8 = @32[(R1+0x20)]
R7 = (R7 << 0x1)
R5 = ({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[0:32]
R6 = ({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[32:64]
R7 = @32[(R1+0x8)]
R9 = ({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})[0:32]
R10 = ({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})[32:64]
LR = @32[(R1+0x1C)]
R5 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R7 = (R7 << 0x1)
R0 = @32[(R1+0xC)]
R9 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R8 = @32[(R1+0x18)]
R5 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R0 = (R0 << 0x1)
R7 = @32[(R1+0x10)]
R9 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
LR = @32[(R1+0x14)]
R7 = (R7 << 0x1)
R5 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R9 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R5 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R9 = (({LR,0,32, 0x0,32,64}*{LR,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{LR,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = (R5&0x3FFFFFF)
@32[(SP+0x28)] = R0
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
cf = (R5^R9^((R5^R9^0xFFFFFFFF)&(R5^(R5+R9)))^(R5+R9))[31:32]
R5 = (R5+R9)
R6 = (R10+R6+{cf,0,1, 0x0,1,32})
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x4)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R0 = @32[R1]
LR = @32[(R1+0x4)]
R0 = (R0 << 0x1)
R8 = @32[(R1+0x8)]
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = (R8 << 0x1)
R11 = ({LR,0,32, 0x0,32,64}*{LR,0,32, 0x0,32,64})[0:32]
R12 = ({LR,0,32, 0x0,32,64}*{LR,0,32, 0x0,32,64})[32:64]
LR = @32[(R1+0x24)]
R11 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R0 = @32[(R1+0xC)]
R8 = @32[(R1+0x20)]
R5 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R0 = (R0 << 0x1)
R7 = @32[(R1+0x10)]
R9 = ({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})[0:32]
R10 = ({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})[32:64]
LR = @32[(R1+0x1C)]
R5 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R7 = (R7 << 0x1)
R0 = @32[(R1+0x14)]
R9 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R8 = @32[(R1+0x18)]
R0 = (R0 << 0x1)
R5 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R9 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R5 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R9 = (({R8,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R8,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x8)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
cf = (R11^R3^((R11^R3^0xFFFFFFFF)&(R3^(R11+R3)))^(R11+R3))[31:32]
R3 = (R11+R3)
R4 = (R12+R4+{cf,0,1, 0x0,1,32})
cf = (R5^R9^((R5^R9^0xFFFFFFFF)&(R5^(R5+R9)))^(R5+R9))[31:32]
R5 = (R5+R9)
R6 = (R10+R6+{cf,0,1, 0x0,1,32})
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0xC)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = @32[R1]
R0 = @32[(R1+0x4)]
LR = @32[(R1+0x8)]
R7 = (R7 << 0x1)
R8 = @32[(R1+0xC)]
R2 = @32[(R1+0x10)]
R3 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R0 = (R0 << 0x1)
R11 = ({R2,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[0:32]
R12 = ({R2,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[32:64]
R2 = (R2 << 0x1)
R11 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R8 = @32[(R1+0x24)]
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R0 = @32[(R1+0x14)]
R11 = (({LR,0,32, 0x0,32,64}*{LR,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{LR,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
LR = @32[(R1+0x20)]
R0 = (R0 << 0x1)
R5 = (({R2,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R2,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R7 = @32[(R1+0x18)]
R9 = ({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[0:32]
R10 = ({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})[32:64]
R7 = (R7 << 0x1)
R8 = @32[(R1+0x1C)]
R5 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R9 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R9 = (({R8,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R8,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x10)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
cf = (R11^R3^((R11^R3^0xFFFFFFFF)&(R3^(R11+R3)))^(R11+R3))[31:32]
R3 = (R11+R3)
R4 = (R12+R4+{cf,0,1, 0x0,1,32})
cf = (R5^R9^((R5^R9^0xFFFFFFFF)&(R5^(R5+R9)))^(R5+R9))[31:32]
R5 = (R5+R9)
R6 = (R10+R6+{cf,0,1, 0x0,1,32})
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x14)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = @32[R1]
R0 = @32[(R1+0x4)]
R7 = (R7 << 0x1)
R8 = @32[(R1+0x14)]
R2 = @32[(R1+0x18)]
R3 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = @32[(R1+0x10)]
R0 = (R0 << 0x1)
R11 = ({R2,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[0:32]
R12 = ({R2,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[32:64]
R7 = @32[(R1+0x8)]
R11 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R7 = (R7 << 0x1)
R8 = @32[(R1+0xC)]
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R0 = (R2 << 0x1)
R11 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
LR = @32[(R1+0x24)]
R3 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = @32[(R1+0x1C)]
R11 = (({R8,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R8,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R7 = (R7 << 0x1)
R8 = @32[(R1+0x20)]
R5 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R9 = ({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[0:32]
R10 = ({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[32:64]
R5 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R9 = (({R8,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[0:32]
R10 = (({R8,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R9,0,32, R10,32,64})[32:64]
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x18)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
cf = (R11^R3^((R11^R3^0xFFFFFFFF)&(R3^(R11+R3)))^(R11+R3))[31:32]
R3 = (R11+R3)
R4 = (R12+R4+{cf,0,1, 0x0,1,32})
cf = (R5^R9^((R5^R9^0xFFFFFFFF)&(R5^(R5+R9)))^(R5+R9))[31:32]
R5 = (R5+R9)
R6 = (R10+R6+{cf,0,1, 0x0,1,32})
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x1C)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R7 = @32[R1]
R0 = @32[(R1+0x4)]
R7 = (R7 << 0x1)
R8 = @32[(R1+0x1C)]
R2 = @32[(R1+0x20)]
R3 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = @32[(R1+0x18)]
R0 = (R0 << 0x1)
R11 = ({R2,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[0:32]
R12 = ({R2,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})[32:64]
R7 = @32[(R1+0x8)]
R11 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R8 = @32[(R1+0x14)]
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R0 = @32[(R1+0xC)]
R7 = (R7 << 0x1)
R11 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{R7,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
LR = @32[(R1+0x10)]
R0 = (R0 << 0x1)
R3 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({R7,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R2 = (R2 << 0x1)
R11 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({R0,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R11 = (({LR,0,32, 0x0,32,64}*{LR,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[0:32]
R12 = (({LR,0,32, 0x0,32,64}*{LR,0,32, 0x0,32,64})+{R11,0,32, R12,32,64})[32:64]
R8 = @32[(R1+0x24)]
R5 = (({R2,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R2,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R0 = (R5&0x3FFFFFF)
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = (R3&0x3FFFFFF)
@32[(SP+0x20)] = LR
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
cf = (R11^R3^((R11^R3^0xFFFFFFFF)&(R3^(R11+R3)))^(R11+R3))[31:32]
R3 = (R11+R3)
R4 = (R12+R4+{cf,0,1, 0x0,1,32})
R5 = (({R8,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[0:32]
R6 = (({R8,0,32, 0x0,32,64}*{R8,0,32, 0x0,32,64})+{R5,0,32, R6,32,64})[32:64]
R0 = (R5&0x3FFFFFF)
@32[(SP+0x24)] = R0
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R0,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
R0 = @32[SP]
R1 = (SP+0x10)
R2 = @32[R1]
R7 = @32[(R1+0x4)]
R8 = @32[(R1+0x8)]
R9 = @32[(R1+0xC)]
R10 = @32[(R1+0x10)]
R11 = @32[(R1+0x14)]
R12 = @32[(R1+0x18)]
R1 = (R0+0xC)
@32[R1] = R2
@32[(R1+0x4)] = R7
@32[(R1+0x8)] = R8
@32[(R1+0xC)] = R9
@32[(R1+0x10)] = R10
R2 = (R3&0x3FFFFFF)
@32[(R0+0x20)] = R2
R3 = (R3 >> 0x1A)
R3 = (R3|(R4 << 0x6))
R4 = (R4 >> 0x1A)
LR = 0x400
R3 = (({LR,0,32, 0x0,32,64}*{R11,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R11,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = 0x3D10
R3 = (({LR,0,32, 0x0,32,64}*{R5,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R5,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
cf = (R12^R3^((R12^R3^0xFFFFFFFF)&(R3^(R12+R3)))^(R12+R3))[31:32]
R3 = (R12+R3)
R4 = (R4+{cf,0,1, 0x0,1,32})
R1 = (SP+0x4)
R7 = @32[R1]
R8 = @32[(R1+0x4)]
R9 = @32[(R1+0x8)]
R2 = {R3[0:22],0,22, 0x0,22,32}
@32[(R0+0x24)] = R2
R3 = (R3 >> 0x16)
R3 = (R3|(R4 << 0xA))
R4 = (R4 >> 0x16)
LR = 0x4000
R3 = (({LR,0,32, 0x0,32,64}*{R5,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[0:32]
R4 = (({LR,0,32, 0x0,32,64}*{R5,0,32, 0x0,32,64})+{R3,0,32, R4,32,64})[32:64]
LR = 0x3D1
R5 = ({LR,0,32, 0x0,32,64}*{R3,0,32, 0x0,32,64})[0:32]
R6 = ({LR,0,32, 0x0,32,64}*{R3,0,32, 0x0,32,64})[32:64]
cf = (R5^R7^((R5^R7^0xFFFFFFFF)&(R5^(R5+R7)))^(R5+R7))[31:32]
R5 = (R5+R7)
R6 = (R6+(LR*R4))
R6 = (R6+{cf,0,1, 0x0,1,32})
R2 = (R5&0x3FFFFFF)
@32[R0] = R2
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R6 = (R6 >> 0x1A)
LR = 0x40
R1 = ({LR,0,32, 0x0,32,64}*{R3,0,32, 0x0,32,64})[0:32]
R2 = ({LR,0,32, 0x0,32,64}*{R3,0,32, 0x0,32,64})[32:64]
cf = (R5^R8^((R5^R8^0xFFFFFFFF)&(R5^(R5+R8)))^(R5+R8))[31:32]
R5 = (R5+R8)
R6 = (R6+{cf,0,1, 0x0,1,32})
cf = (R1^R5^((R1^R5^0xFFFFFFFF)&(R5^(R1+R5)))^(R1+R5))[31:32]
R5 = (R1+R5)
R2 = (R2+(LR*R4))
R6 = (R2+R6+{cf,0,1, 0x0,1,32})
R2 = (R5&0x3FFFFFF)
@32[(R0+0x4)] = R2
R5 = (R5 >> 0x1A)
R5 = (R5|(R6 << 0x6))
R5 = (R5+R9)
@32[(R0+0x8)] = R5
SP = (SP+0x30)
IRDst = @32[(SP+0x20)]
SP = (SP+0x24)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment