int32 eax int32 ebx int32 esi int32 edi int32 ebp caller eax caller ebx caller esi caller edi caller ebp stack32 eax_stack stack32 ebx_stack stack32 esi_stack stack32 edi_stack stack32 ebp_stack stack32 arg1 stack32 arg2 stack32 arg3 stack32 arg4 stack32 arg5 input arg1 input arg2 input arg3 input arg4 input arg5 int32 out int32 r int32 s int32 m int32 l int32 m0 int32 m1 int32 m2 int32 m3 float80 a0 float80 a1 float80 a2 float80 a3 float80 h0 float80 h1 float80 h2 float80 h3 float80 x0 float80 x1 float80 x2 float80 x3 float80 y0 float80 y1 float80 y2 float80 y3 float80 r0x0 float80 r1x0 float80 r2x0 float80 r3x0 float80 r0x1 float80 r1x1 float80 r2x1 float80 sr3x1 float80 r0x2 float80 r1x2 float80 sr2x2 float80 sr3x2 float80 r0x3 float80 sr1x3 float80 sr2x3 float80 sr3x3 stack64 d0 stack64 d1 stack64 d2 stack64 d3 stack64 r0 stack64 r1 stack64 r2 stack64 r3 stack64 sr1 stack64 sr2 stack64 sr3 enter poly1305_x86_ppro stackaligned4096 poly1305_x86_ppro_constants round *(uint16 *) &poly1305_x86_ppro_rounding ebx_stack = ebx esi_stack = esi edi_stack = edi ebp_stack = ebp r = arg2 a0 = *(int32 *) (r + 0) *(float64 *) &r0 = a0 a1 = *(int32 *) (r + 4) a1 *= *(float64 *) &poly1305_x86_ppro_two32 *(float64 *) &r1 = a1 a1 *= *(float64 *) &poly1305_x86_ppro_scale *(float64 *) &sr1 = a1 a2 = *(int32 *) (r + 8) a2 *= *(float64 *) &poly1305_x86_ppro_two64 *(float64 *) &r2 = a2 a2 *= *(float64 *) &poly1305_x86_ppro_scale *(float64 *) &sr2 = a2 a3 = *(int32 *) (r + 12) a3 *= *(float64 *) &poly1305_x86_ppro_two96 *(float64 *) &r3 = a3 a3 *= *(float64 *) &poly1305_x86_ppro_scale *(float64 *) &sr3 = a3 h3 = 0 h2 = 0 h1 = 0 h0 = 0 d0 top = 0x43300000 d1 top = 0x45300000 d2 top = 0x47300000 d3 top = 0x49300000 m = arg4 l = arg5 eax_stack = eax unsigned>= 16 notf = f notf ^= -1 f0 &= f g0 = g0_stack g0 &= notf f0 |= g0 f1 &= f g1 = g1_stack g1 &= notf f1 |= g1 f2 &= f g2 = g2_stack g2 &= notf f2 |= g2 f3 &= f g3 = g3_stack g3 &= notf f3 |= g3 eax = eax_stack s = arg3 carry? f0 += *(uint32 *) (s + 0) carry? f1 += *(uint32 *) (s + 4) + carry carry? f2 += *(uint32 *) (s + 8) + carry f3 += *(uint32 *) (s + 12) + carry out = arg1 *(uint32 *) (out + 0) = f0 *(uint32 *) (out + 4) = f1 *(uint32 *) (out + 8) = f2 *(uint32 *) (out + 12) = f3 ebx = ebx_stack esi = esi_stack edi = edi_stack ebp = ebp_stack leave