1e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%ifidn __OUTPUT_FORMAT__,obj 2e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleysection code use32 class=code align=64 3e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%elifidn __OUTPUT_FORMAT__,win32 4e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%ifdef __YASM_VERSION_ID__ 5e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%if __YASM_VERSION_ID__ < 01010000h 6e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%error yasm version 1.1.0 or later needed. 7e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%endif 8e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley; Yasm automatically includes .00 and complains about redefining it. 9e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html 10e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%else 11e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley$@feat.00 equ 1 12e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%endif 13e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleysection .text code align=64 14e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%else 15e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleysection .text code 16e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley%endif 17e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 64 18e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$_vpaes_consts: 19e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 218628480,235210255,168496130,67568393 20e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 252381056,17041926,33884169,51187212 21e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 252645135,252645135,252645135,252645135 22e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 1512730624,3266504856,1377990664,3401244816 23e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 830229760,1275146365,2969422977,3447763452 24e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 3411033600,2979783055,338359620,2782886510 25e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 4209124096,907596821,221174255,1006095553 26e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 191964160,3799684038,3164090317,1589111125 27e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 182528256,1777043520,2877432650,3265356744 28e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 1874708224,3503451415,3305285752,363511674 29e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 1606117888,3487855781,1093350906,2384367825 30e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 197121,67569157,134941193,202313229 31e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 67569157,134941193,202313229,197121 32e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 134941193,202313229,197121,67569157 33e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 202313229,197121,67569157,134941193 34e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 33619971,100992007,168364043,235736079 35e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 235736079,33619971,100992007,168364043 36e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 168364043,235736079,33619971,100992007 37e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 100992007,168364043,235736079,33619971 38e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 50462976,117835012,185207048,252579084 39e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 252314880,51251460,117574920,184942860 40e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 184682752,252054788,50987272,118359308 41e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 118099200,185467140,251790600,50727180 42e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 2946363062,528716217,1300004225,1881839624 43e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 1532713819,1532713819,1532713819,1532713819 44e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 3602276352,4288629033,3737020424,4153884961 45e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 1354558464,32357713,2958822624,3775749553 46e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 1201988352,132424512,1572796698,503232858 47e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 2213177600,1597421020,4103937655,675398315 48e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 2749646592,4273543773,1511898873,121693092 49e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 3040248576,1103263732,2871565598,1608280554 50e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 2236667136,2588920351,482954393,64377734 51e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 3069987328,291237287,2117370568,3650299247 52e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 533321216,3573750986,2572112006,1401264716 53e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 1339849704,2721158661,548607111,3445553514 54e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 2128193280,3054596040,2183486460,1257083700 55e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 655635200,1165381986,3923443150,2344132524 56e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 190078720,256924420,290342170,357187870 57e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 1610966272,2263057382,4103205268,309794674 58e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 2592527872,2233205587,1335446729,3402964816 59e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 3973531904,3225098121,3002836325,1918774430 60e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 3870401024,2102906079,2284471353,4117666579 61e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 617007872,1021508343,366931923,691083277 62e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 2528395776,3491914898,2968704004,1613121270 63e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 3445188352,3247741094,844474987,4093578302 64e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 651481088,1190302358,1689581232,574775300 65e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 4289380608,206939853,2555985458,2489840491 66e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 2130264064,327674451,3566485037,3349835193 67e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydd 2470714624,316102159,3636825756,3393945945 68e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105 69e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 111,110,32,65,69,83,32,102,111,114,32,120,56,54,47,83 70e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117 71e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105 72e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 118,101,114,115,105,116,121,41,0 73e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 64 74e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 75e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley__vpaes_preheat: 76e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add ebp,DWORD [esp] 77e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm7,[ebp-48] 78e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm6,[ebp-16] 79e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 80e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 81e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley__vpaes_encrypt_core: 82e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov ecx,16 83e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov eax,DWORD [240+edx] 84e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,xmm6 85e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[ebp] 86e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pandn xmm1,xmm0 87e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pand xmm0,xmm6 88e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm5,[edx] 89e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,208 90e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm0,[16+ebp] 91e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm2,xmm5 92e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley psrld xmm1,4 93e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add edx,16 94e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,193 95e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebx,[192+ebp] 96e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm2 97e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jmp NEAR L$000enc_entry 98e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 99e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$001enc_loop: 100e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,[32+ebp] 101e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm0,[48+ebp] 102e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,226 103e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,195 104e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm4,xmm5 105e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm5,[64+ebp] 106e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm4 107e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,[ecx*1+ebx-64] 108e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,234 109e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[80+ebp] 110e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,[ecx*1+ebx] 111e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,211 112e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,xmm0 113e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm2,xmm5 114e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,193 115e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add edx,16 116e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm2 117e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,220 118e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add ecx,16 119e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm0 120e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,193 121e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley and ecx,48 122e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley sub eax,1 123e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm3 124e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$000enc_entry: 125e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,xmm6 126e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm5,[ebp-32] 127e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pandn xmm1,xmm0 128e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley psrld xmm1,4 129e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pand xmm0,xmm6 130e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,232 131e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,xmm7 132e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm1 133e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,217 134e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,xmm7 135e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm5 136e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,224 137e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,xmm7 138e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm4,xmm5 139e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,211 140e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,xmm7 141e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm2,xmm0 142e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,220 143e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm5,[edx] 144e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm1 145e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jnz NEAR L$001enc_loop 146e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,[96+ebp] 147e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm0,[112+ebp] 148e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,226 149e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm4,xmm5 150e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,195 151e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,[64+ecx*1+ebx] 152e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm4 153e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,193 154e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 155e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 156e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley__vpaes_decrypt_core: 157e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebx,[608+ebp] 158e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov eax,DWORD [240+edx] 159e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,xmm6 160e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[ebx-64] 161e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pandn xmm1,xmm0 162e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov ecx,eax 163e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley psrld xmm1,4 164e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm5,[edx] 165e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley shl ecx,4 166e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pand xmm0,xmm6 167e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,208 168e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm0,[ebx-48] 169e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley xor ecx,48 170e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,193 171e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley and ecx,48 172e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm2,xmm5 173e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm5,[176+ebp] 174e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm2 175e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add edx,16 176e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ecx,[ecx*1+ebx-352] 177e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jmp NEAR L$002dec_entry 178e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 179e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$003dec_loop: 180e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,[ebx-32] 181e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,[ebx-16] 182e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,226 183e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,203 184e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm4 185e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,[ebx] 186e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm1 187e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,[16+ebx] 188e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,226 189e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,197 190e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,203 191e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm4 192e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,[32+ebx] 193e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm1 194e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,[48+ebx] 195e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,226 196e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,197 197e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,203 198e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm4 199e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,[64+ebx] 200e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm1 201e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,[80+ebx] 202e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,226 203e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,197 204e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,203 205e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm4 206e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add edx,16 207e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,58,15,237,12 208e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm1 209e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley sub eax,1 210e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$002dec_entry: 211e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,xmm6 212e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[ebp-32] 213e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pandn xmm1,xmm0 214e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pand xmm0,xmm6 215e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley psrld xmm1,4 216e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,208 217e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,xmm7 218e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm1 219e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,217 220e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,xmm7 221e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm2 222e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,224 223e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm4,xmm2 224e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,xmm7 225e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,211 226e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,xmm7 227e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm2,xmm0 228e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,220 229e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm0,[edx] 230e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm1 231e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jnz NEAR L$003dec_loop 232e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,[96+ebx] 233e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,226 234e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm4,xmm0 235e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm0,[112+ebx] 236e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[ecx] 237e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,195 238e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm4 239e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,194 240e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 241e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 242e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley__vpaes_schedule_core: 243e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add ebp,DWORD [esp] 244e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm0,[esi] 245e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[320+ebp] 246e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,xmm0 247e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebx,[ebp] 248e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa [4+esp],xmm2 249e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_transform 250e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm7,xmm0 251e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley test edi,edi 252e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jnz NEAR L$004schedule_am_decrypting 253e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu [edx],xmm0 254e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jmp NEAR L$005schedule_go 255e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$004schedule_am_decrypting: 256e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,[256+ecx*1+ebp] 257e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,217 258e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu [edx],xmm3 259e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley xor ecx,48 260e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$005schedule_go: 261e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley cmp eax,192 262e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ja NEAR L$006schedule_256 263e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley je NEAR L$007schedule_192 264e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$008schedule_128: 265e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov eax,10 266e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$009loop_schedule_128: 267e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_round 268e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley dec eax 269e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jz NEAR L$010schedule_mangle_last 270e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_mangle 271e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jmp NEAR L$009loop_schedule_128 272e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 273e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$007schedule_192: 274e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm0,[8+esi] 275e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_transform 276e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm6,xmm0 277e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm4,xmm4 278e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movhlps xmm6,xmm4 279e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov eax,4 280e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$011loop_schedule_192: 281e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_round 282e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,58,15,198,8 283e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_mangle 284e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_192_smear 285e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_mangle 286e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_round 287e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley dec eax 288e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jz NEAR L$010schedule_mangle_last 289e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_mangle 290e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_192_smear 291e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jmp NEAR L$011loop_schedule_192 292e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 293e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$006schedule_256: 294e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm0,[16+esi] 295e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_transform 296e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov eax,7 297e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$012loop_schedule_256: 298e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_mangle 299e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm6,xmm0 300e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_round 301e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley dec eax 302e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jz NEAR L$010schedule_mangle_last 303e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_mangle 304e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pshufd xmm0,xmm0,255 305e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa [20+esp],xmm7 306e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm7,xmm6 307e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call L$_vpaes_schedule_low_round 308e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm7,[20+esp] 309e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jmp NEAR L$012loop_schedule_256 310e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 311e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$010schedule_mangle_last: 312e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebx,[384+ebp] 313e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley test edi,edi 314e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jnz NEAR L$013schedule_mangle_last_dec 315e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,[256+ecx*1+ebp] 316e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,193 317e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebx,[352+ebp] 318e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add edx,32 319e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$013schedule_mangle_last_dec: 320e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add edx,-16 321e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,[336+ebp] 322e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_transform 323e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu [edx],xmm0 324e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm0 325e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm1,xmm1 326e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm2,xmm2 327e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm3 328e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm4,xmm4 329e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm5,xmm5 330e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm6,xmm6 331e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm7,xmm7 332e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 333e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 334e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley__vpaes_schedule_192_smear: 335e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pshufd xmm1,xmm6,128 336e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pshufd xmm0,xmm7,254 337e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm6,xmm1 338e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm1,xmm1 339e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm6,xmm0 340e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm0,xmm6 341e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movhlps xmm6,xmm1 342e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 343e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 344e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley__vpaes_schedule_round: 345e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[8+esp] 346e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm1,xmm1 347e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,58,15,202,15 348e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,58,15,210,15 349e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm7,xmm1 350e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pshufd xmm0,xmm0,255 351e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,58,15,192,1 352e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa [8+esp],xmm2 353e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$_vpaes_schedule_low_round: 354e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,xmm7 355e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pslldq xmm7,4 356e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm7,xmm1 357e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,xmm7 358e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pslldq xmm7,8 359e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm7,xmm1 360e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm7,[336+ebp] 361e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,[ebp-16] 362e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm5,[ebp-48] 363e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,xmm4 364e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pandn xmm1,xmm0 365e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley psrld xmm1,4 366e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pand xmm0,xmm4 367e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[ebp-32] 368e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,208 369e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm1 370e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,xmm5 371e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,217 372e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm2 373e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,xmm5 374e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,224 375e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm4,xmm2 376e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,xmm5 377e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,211 378e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm2,xmm0 379e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,xmm5 380e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,220 381e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm1 382e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,[32+ebp] 383e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,226 384e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm0,[48+ebp] 385e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,195 386e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm4 387e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm7 388e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm7,xmm0 389e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 390e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 391e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley__vpaes_schedule_transform: 392e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[ebp-16] 393e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,xmm2 394e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pandn xmm1,xmm0 395e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley psrld xmm1,4 396e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pand xmm0,xmm2 397e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[ebx] 398e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,208 399e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm0,[16+ebx] 400e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,193 401e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm2 402e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 403e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 404e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley__vpaes_schedule_mangle: 405e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm4,xmm0 406e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm5,[128+ebp] 407e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley test edi,edi 408e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jnz NEAR L$014schedule_mangle_dec 409e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add edx,16 410e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm4,[336+ebp] 411e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,229 412e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,xmm4 413e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,229 414e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm4 415e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,229 416e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm4 417e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jmp NEAR L$015schedule_mangle_both 418e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 419e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$014schedule_mangle_dec: 420e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[ebp-16] 421e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea esi,[416+ebp] 422e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,xmm2 423e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pandn xmm1,xmm4 424e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley psrld xmm1,4 425e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pand xmm4,xmm2 426e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[esi] 427e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,212 428e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,[16+esi] 429e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,217 430e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm2 431e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,221 432e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[32+esi] 433e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,212 434e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm2,xmm3 435e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,[48+esi] 436e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,217 437e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm2 438e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,221 439e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[64+esi] 440e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,212 441e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm2,xmm3 442e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,[80+esi] 443e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,217 444e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm2 445e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,221 446e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm2,[96+esi] 447e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,212 448e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm2,xmm3 449e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm3,[112+esi] 450e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,217 451e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm3,xmm2 452e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add edx,-16 453e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$015schedule_mangle_both: 454e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,[256+ecx*1+ebp] 455e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleydb 102,15,56,0,217 456e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add ecx,-16 457e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley and ecx,48 458e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu [edx],xmm3 459e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 460e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyglobal _vpaes_set_encrypt_key 461e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 462e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley_vpaes_set_encrypt_key: 463e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$_vpaes_set_encrypt_key_begin: 464e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push ebp 465e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push ebx 466e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push esi 467e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push edi 468e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov esi,DWORD [20+esp] 469e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebx,[esp-56] 470e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov eax,DWORD [24+esp] 471e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley and ebx,-16 472e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edx,DWORD [28+esp] 473e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley xchg ebx,esp 474e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov DWORD [48+esp],ebx 475e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov ebx,eax 476e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley shr ebx,5 477e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add ebx,5 478e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov DWORD [240+edx],ebx 479e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov ecx,48 480e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edi,0 481e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebp,[(L$_vpaes_consts+0x30-L$016pic_point)] 482e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_core 483e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$016pic_point: 484e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov esp,DWORD [48+esp] 485e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley xor eax,eax 486e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop edi 487e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop esi 488e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop ebx 489e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop ebp 490e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 491e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyglobal _vpaes_set_decrypt_key 492e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 493e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley_vpaes_set_decrypt_key: 494e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$_vpaes_set_decrypt_key_begin: 495e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push ebp 496e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push ebx 497e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push esi 498e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push edi 499e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov esi,DWORD [20+esp] 500e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebx,[esp-56] 501e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov eax,DWORD [24+esp] 502e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley and ebx,-16 503e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edx,DWORD [28+esp] 504e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley xchg ebx,esp 505e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov DWORD [48+esp],ebx 506e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov ebx,eax 507e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley shr ebx,5 508e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley add ebx,5 509e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov DWORD [240+edx],ebx 510e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley shl ebx,4 511e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea edx,[16+ebx*1+edx] 512e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edi,1 513e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov ecx,eax 514e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley shr ecx,1 515e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley and ecx,32 516e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley xor ecx,32 517e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebp,[(L$_vpaes_consts+0x30-L$017pic_point)] 518e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_schedule_core 519e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$017pic_point: 520e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov esp,DWORD [48+esp] 521e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley xor eax,eax 522e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop edi 523e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop esi 524e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop ebx 525e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop ebp 526e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 527e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyglobal _vpaes_encrypt 528e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 529e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley_vpaes_encrypt: 530e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$_vpaes_encrypt_begin: 531e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push ebp 532e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push ebx 533e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push esi 534e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push edi 535e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebp,[(L$_vpaes_consts+0x30-L$018pic_point)] 536e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_preheat 537e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$018pic_point: 538e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov esi,DWORD [20+esp] 539e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebx,[esp-56] 540e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edi,DWORD [24+esp] 541e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley and ebx,-16 542e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edx,DWORD [28+esp] 543e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley xchg ebx,esp 544e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov DWORD [48+esp],ebx 545e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm0,[esi] 546e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_encrypt_core 547e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu [edi],xmm0 548e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov esp,DWORD [48+esp] 549e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop edi 550e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop esi 551e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop ebx 552e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop ebp 553e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 554e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyglobal _vpaes_decrypt 555e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 556e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley_vpaes_decrypt: 557e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$_vpaes_decrypt_begin: 558e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push ebp 559e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push ebx 560e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push esi 561e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push edi 562e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebp,[(L$_vpaes_consts+0x30-L$019pic_point)] 563e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_preheat 564e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$019pic_point: 565e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov esi,DWORD [20+esp] 566e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebx,[esp-56] 567e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edi,DWORD [24+esp] 568e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley and ebx,-16 569e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edx,DWORD [28+esp] 570e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley xchg ebx,esp 571e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov DWORD [48+esp],ebx 572e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm0,[esi] 573e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_decrypt_core 574e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu [edi],xmm0 575e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov esp,DWORD [48+esp] 576e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop edi 577e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop esi 578e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop ebx 579e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop ebp 580e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 581e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyglobal _vpaes_cbc_encrypt 582e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 583e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley_vpaes_cbc_encrypt: 584e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$_vpaes_cbc_encrypt_begin: 585e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push ebp 586e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push ebx 587e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push esi 588e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley push edi 589e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov esi,DWORD [20+esp] 590e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edi,DWORD [24+esp] 591e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov eax,DWORD [28+esp] 592e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edx,DWORD [32+esp] 593e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley sub eax,16 594e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jc NEAR L$020cbc_abort 595e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebx,[esp-56] 596e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov ebp,DWORD [36+esp] 597e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley and ebx,-16 598e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov ecx,DWORD [40+esp] 599e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley xchg ebx,esp 600e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm1,[ebp] 601e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley sub edi,esi 602e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov DWORD [48+esp],ebx 603e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov DWORD [esp],edi 604e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov DWORD [4+esp],edx 605e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov DWORD [8+esp],ebp 606e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edi,eax 607e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea ebp,[(L$_vpaes_consts+0x30-L$021pic_point)] 608e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_preheat 609e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$021pic_point: 610e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley cmp ecx,0 611e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley je NEAR L$022cbc_dec_loop 612e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jmp NEAR L$023cbc_enc_loop 613e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 614e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$023cbc_enc_loop: 615e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm0,[esi] 616e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,xmm1 617e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_encrypt_core 618e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov ebx,DWORD [esp] 619e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edx,DWORD [4+esp] 620e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,xmm0 621e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu [esi*1+ebx],xmm0 622e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea esi,[16+esi] 623e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley sub edi,16 624e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jnc NEAR L$023cbc_enc_loop 625e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jmp NEAR L$024cbc_done 626e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langleyalign 16 627e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$022cbc_dec_loop: 628e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu xmm0,[esi] 629e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa [16+esp],xmm1 630e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa [32+esp],xmm0 631e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley call __vpaes_decrypt_core 632e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov ebx,DWORD [esp] 633e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov edx,DWORD [4+esp] 634e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pxor xmm0,[16+esp] 635e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqa xmm1,[32+esp] 636e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu [esi*1+ebx],xmm0 637e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley lea esi,[16+esi] 638e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley sub edi,16 639e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley jnc NEAR L$022cbc_dec_loop 640e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$024cbc_done: 641e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov ebx,DWORD [8+esp] 642e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley mov esp,DWORD [48+esp] 643e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley movdqu [ebx],xmm1 644e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam LangleyL$020cbc_abort: 645e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop edi 646e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop esi 647e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop ebx 648e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley pop ebp 649e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5Adam Langley ret 650