1bc3d5698SJohn Baldwin/* Do not modify. This file is auto-generated from cast-586.pl. */ 2bc3d5698SJohn Baldwin#ifdef PIC 3bc3d5698SJohn Baldwin.text 4bc3d5698SJohn Baldwin.globl CAST_encrypt 5bc3d5698SJohn Baldwin.type CAST_encrypt,@function 6bc3d5698SJohn Baldwin.align 16 7bc3d5698SJohn BaldwinCAST_encrypt: 8bc3d5698SJohn Baldwin.L_CAST_encrypt_begin: 9*c0855eaaSJohn Baldwin #ifdef __CET__ 10*c0855eaaSJohn Baldwin 11*c0855eaaSJohn Baldwin.byte 243,15,30,251 12*c0855eaaSJohn Baldwin #endif 13*c0855eaaSJohn Baldwin 14bc3d5698SJohn Baldwin 15bc3d5698SJohn Baldwin pushl %ebp 16bc3d5698SJohn Baldwin pushl %ebx 17bc3d5698SJohn Baldwin movl 12(%esp),%ebx 18bc3d5698SJohn Baldwin movl 16(%esp),%ebp 19bc3d5698SJohn Baldwin pushl %esi 20bc3d5698SJohn Baldwin pushl %edi 21bc3d5698SJohn Baldwin 22bc3d5698SJohn Baldwin movl (%ebx),%edi 23bc3d5698SJohn Baldwin movl 4(%ebx),%esi 24bc3d5698SJohn Baldwin 25bc3d5698SJohn Baldwin movl 128(%ebp),%eax 26bc3d5698SJohn Baldwin pushl %eax 27bc3d5698SJohn Baldwin xorl %eax,%eax 28bc3d5698SJohn Baldwin 29bc3d5698SJohn Baldwin movl (%ebp),%edx 30bc3d5698SJohn Baldwin movl 4(%ebp),%ecx 31bc3d5698SJohn Baldwin addl %esi,%edx 32bc3d5698SJohn Baldwin roll %cl,%edx 33bc3d5698SJohn Baldwin xorl %ecx,%ecx 34bc3d5698SJohn Baldwin movl $255,%ebx 35bc3d5698SJohn Baldwin movb %dh,%cl 36bc3d5698SJohn Baldwin andl %edx,%ebx 37bc3d5698SJohn Baldwin shrl $16,%edx 38bc3d5698SJohn Baldwin xorl %eax,%eax 39bc3d5698SJohn Baldwin movb %dh,%al 40bc3d5698SJohn Baldwin andl $255,%edx 41bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 42bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 43bc3d5698SJohn Baldwin xorl %ebx,%ecx 44bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 45bc3d5698SJohn Baldwin subl %ebx,%ecx 46bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 47bc3d5698SJohn Baldwin addl %ebx,%ecx 48bc3d5698SJohn Baldwin xorl %ecx,%edi 49bc3d5698SJohn Baldwin 50bc3d5698SJohn Baldwin movl 8(%ebp),%edx 51bc3d5698SJohn Baldwin movl 12(%ebp),%ecx 52bc3d5698SJohn Baldwin xorl %edi,%edx 53bc3d5698SJohn Baldwin roll %cl,%edx 54bc3d5698SJohn Baldwin xorl %ecx,%ecx 55bc3d5698SJohn Baldwin movl $255,%ebx 56bc3d5698SJohn Baldwin movb %dh,%cl 57bc3d5698SJohn Baldwin andl %edx,%ebx 58bc3d5698SJohn Baldwin shrl $16,%edx 59bc3d5698SJohn Baldwin xorl %eax,%eax 60bc3d5698SJohn Baldwin movb %dh,%al 61bc3d5698SJohn Baldwin andl $255,%edx 62bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 63bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 64bc3d5698SJohn Baldwin subl %ebx,%ecx 65bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 66bc3d5698SJohn Baldwin addl %ebx,%ecx 67bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 68bc3d5698SJohn Baldwin xorl %ebx,%ecx 69bc3d5698SJohn Baldwin xorl %ecx,%esi 70bc3d5698SJohn Baldwin 71bc3d5698SJohn Baldwin movl 16(%ebp),%edx 72bc3d5698SJohn Baldwin movl 20(%ebp),%ecx 73bc3d5698SJohn Baldwin subl %esi,%edx 74bc3d5698SJohn Baldwin roll %cl,%edx 75bc3d5698SJohn Baldwin xorl %ecx,%ecx 76bc3d5698SJohn Baldwin movl $255,%ebx 77bc3d5698SJohn Baldwin movb %dh,%cl 78bc3d5698SJohn Baldwin andl %edx,%ebx 79bc3d5698SJohn Baldwin shrl $16,%edx 80bc3d5698SJohn Baldwin xorl %eax,%eax 81bc3d5698SJohn Baldwin movb %dh,%al 82bc3d5698SJohn Baldwin andl $255,%edx 83bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 84bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 85bc3d5698SJohn Baldwin addl %ebx,%ecx 86bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 87bc3d5698SJohn Baldwin xorl %ebx,%ecx 88bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 89bc3d5698SJohn Baldwin subl %ebx,%ecx 90bc3d5698SJohn Baldwin xorl %ecx,%edi 91bc3d5698SJohn Baldwin 92bc3d5698SJohn Baldwin movl 24(%ebp),%edx 93bc3d5698SJohn Baldwin movl 28(%ebp),%ecx 94bc3d5698SJohn Baldwin addl %edi,%edx 95bc3d5698SJohn Baldwin roll %cl,%edx 96bc3d5698SJohn Baldwin xorl %ecx,%ecx 97bc3d5698SJohn Baldwin movl $255,%ebx 98bc3d5698SJohn Baldwin movb %dh,%cl 99bc3d5698SJohn Baldwin andl %edx,%ebx 100bc3d5698SJohn Baldwin shrl $16,%edx 101bc3d5698SJohn Baldwin xorl %eax,%eax 102bc3d5698SJohn Baldwin movb %dh,%al 103bc3d5698SJohn Baldwin andl $255,%edx 104bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 105bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 106bc3d5698SJohn Baldwin xorl %ebx,%ecx 107bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 108bc3d5698SJohn Baldwin subl %ebx,%ecx 109bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 110bc3d5698SJohn Baldwin addl %ebx,%ecx 111bc3d5698SJohn Baldwin xorl %ecx,%esi 112bc3d5698SJohn Baldwin 113bc3d5698SJohn Baldwin movl 32(%ebp),%edx 114bc3d5698SJohn Baldwin movl 36(%ebp),%ecx 115bc3d5698SJohn Baldwin xorl %esi,%edx 116bc3d5698SJohn Baldwin roll %cl,%edx 117bc3d5698SJohn Baldwin xorl %ecx,%ecx 118bc3d5698SJohn Baldwin movl $255,%ebx 119bc3d5698SJohn Baldwin movb %dh,%cl 120bc3d5698SJohn Baldwin andl %edx,%ebx 121bc3d5698SJohn Baldwin shrl $16,%edx 122bc3d5698SJohn Baldwin xorl %eax,%eax 123bc3d5698SJohn Baldwin movb %dh,%al 124bc3d5698SJohn Baldwin andl $255,%edx 125bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 126bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 127bc3d5698SJohn Baldwin subl %ebx,%ecx 128bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 129bc3d5698SJohn Baldwin addl %ebx,%ecx 130bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 131bc3d5698SJohn Baldwin xorl %ebx,%ecx 132bc3d5698SJohn Baldwin xorl %ecx,%edi 133bc3d5698SJohn Baldwin 134bc3d5698SJohn Baldwin movl 40(%ebp),%edx 135bc3d5698SJohn Baldwin movl 44(%ebp),%ecx 136bc3d5698SJohn Baldwin subl %edi,%edx 137bc3d5698SJohn Baldwin roll %cl,%edx 138bc3d5698SJohn Baldwin xorl %ecx,%ecx 139bc3d5698SJohn Baldwin movl $255,%ebx 140bc3d5698SJohn Baldwin movb %dh,%cl 141bc3d5698SJohn Baldwin andl %edx,%ebx 142bc3d5698SJohn Baldwin shrl $16,%edx 143bc3d5698SJohn Baldwin xorl %eax,%eax 144bc3d5698SJohn Baldwin movb %dh,%al 145bc3d5698SJohn Baldwin andl $255,%edx 146bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 147bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 148bc3d5698SJohn Baldwin addl %ebx,%ecx 149bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 150bc3d5698SJohn Baldwin xorl %ebx,%ecx 151bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 152bc3d5698SJohn Baldwin subl %ebx,%ecx 153bc3d5698SJohn Baldwin xorl %ecx,%esi 154bc3d5698SJohn Baldwin 155bc3d5698SJohn Baldwin movl 48(%ebp),%edx 156bc3d5698SJohn Baldwin movl 52(%ebp),%ecx 157bc3d5698SJohn Baldwin addl %esi,%edx 158bc3d5698SJohn Baldwin roll %cl,%edx 159bc3d5698SJohn Baldwin xorl %ecx,%ecx 160bc3d5698SJohn Baldwin movl $255,%ebx 161bc3d5698SJohn Baldwin movb %dh,%cl 162bc3d5698SJohn Baldwin andl %edx,%ebx 163bc3d5698SJohn Baldwin shrl $16,%edx 164bc3d5698SJohn Baldwin xorl %eax,%eax 165bc3d5698SJohn Baldwin movb %dh,%al 166bc3d5698SJohn Baldwin andl $255,%edx 167bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 168bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 169bc3d5698SJohn Baldwin xorl %ebx,%ecx 170bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 171bc3d5698SJohn Baldwin subl %ebx,%ecx 172bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 173bc3d5698SJohn Baldwin addl %ebx,%ecx 174bc3d5698SJohn Baldwin xorl %ecx,%edi 175bc3d5698SJohn Baldwin 176bc3d5698SJohn Baldwin movl 56(%ebp),%edx 177bc3d5698SJohn Baldwin movl 60(%ebp),%ecx 178bc3d5698SJohn Baldwin xorl %edi,%edx 179bc3d5698SJohn Baldwin roll %cl,%edx 180bc3d5698SJohn Baldwin xorl %ecx,%ecx 181bc3d5698SJohn Baldwin movl $255,%ebx 182bc3d5698SJohn Baldwin movb %dh,%cl 183bc3d5698SJohn Baldwin andl %edx,%ebx 184bc3d5698SJohn Baldwin shrl $16,%edx 185bc3d5698SJohn Baldwin xorl %eax,%eax 186bc3d5698SJohn Baldwin movb %dh,%al 187bc3d5698SJohn Baldwin andl $255,%edx 188bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 189bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 190bc3d5698SJohn Baldwin subl %ebx,%ecx 191bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 192bc3d5698SJohn Baldwin addl %ebx,%ecx 193bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 194bc3d5698SJohn Baldwin xorl %ebx,%ecx 195bc3d5698SJohn Baldwin xorl %ecx,%esi 196bc3d5698SJohn Baldwin 197bc3d5698SJohn Baldwin movl 64(%ebp),%edx 198bc3d5698SJohn Baldwin movl 68(%ebp),%ecx 199bc3d5698SJohn Baldwin subl %esi,%edx 200bc3d5698SJohn Baldwin roll %cl,%edx 201bc3d5698SJohn Baldwin xorl %ecx,%ecx 202bc3d5698SJohn Baldwin movl $255,%ebx 203bc3d5698SJohn Baldwin movb %dh,%cl 204bc3d5698SJohn Baldwin andl %edx,%ebx 205bc3d5698SJohn Baldwin shrl $16,%edx 206bc3d5698SJohn Baldwin xorl %eax,%eax 207bc3d5698SJohn Baldwin movb %dh,%al 208bc3d5698SJohn Baldwin andl $255,%edx 209bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 210bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 211bc3d5698SJohn Baldwin addl %ebx,%ecx 212bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 213bc3d5698SJohn Baldwin xorl %ebx,%ecx 214bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 215bc3d5698SJohn Baldwin subl %ebx,%ecx 216bc3d5698SJohn Baldwin xorl %ecx,%edi 217bc3d5698SJohn Baldwin 218bc3d5698SJohn Baldwin movl 72(%ebp),%edx 219bc3d5698SJohn Baldwin movl 76(%ebp),%ecx 220bc3d5698SJohn Baldwin addl %edi,%edx 221bc3d5698SJohn Baldwin roll %cl,%edx 222bc3d5698SJohn Baldwin xorl %ecx,%ecx 223bc3d5698SJohn Baldwin movl $255,%ebx 224bc3d5698SJohn Baldwin movb %dh,%cl 225bc3d5698SJohn Baldwin andl %edx,%ebx 226bc3d5698SJohn Baldwin shrl $16,%edx 227bc3d5698SJohn Baldwin xorl %eax,%eax 228bc3d5698SJohn Baldwin movb %dh,%al 229bc3d5698SJohn Baldwin andl $255,%edx 230bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 231bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 232bc3d5698SJohn Baldwin xorl %ebx,%ecx 233bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 234bc3d5698SJohn Baldwin subl %ebx,%ecx 235bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 236bc3d5698SJohn Baldwin addl %ebx,%ecx 237bc3d5698SJohn Baldwin xorl %ecx,%esi 238bc3d5698SJohn Baldwin 239bc3d5698SJohn Baldwin movl 80(%ebp),%edx 240bc3d5698SJohn Baldwin movl 84(%ebp),%ecx 241bc3d5698SJohn Baldwin xorl %esi,%edx 242bc3d5698SJohn Baldwin roll %cl,%edx 243bc3d5698SJohn Baldwin xorl %ecx,%ecx 244bc3d5698SJohn Baldwin movl $255,%ebx 245bc3d5698SJohn Baldwin movb %dh,%cl 246bc3d5698SJohn Baldwin andl %edx,%ebx 247bc3d5698SJohn Baldwin shrl $16,%edx 248bc3d5698SJohn Baldwin xorl %eax,%eax 249bc3d5698SJohn Baldwin movb %dh,%al 250bc3d5698SJohn Baldwin andl $255,%edx 251bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 252bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 253bc3d5698SJohn Baldwin subl %ebx,%ecx 254bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 255bc3d5698SJohn Baldwin addl %ebx,%ecx 256bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 257bc3d5698SJohn Baldwin xorl %ebx,%ecx 258bc3d5698SJohn Baldwin xorl %ecx,%edi 259bc3d5698SJohn Baldwin 260bc3d5698SJohn Baldwin movl 88(%ebp),%edx 261bc3d5698SJohn Baldwin movl 92(%ebp),%ecx 262bc3d5698SJohn Baldwin subl %edi,%edx 263bc3d5698SJohn Baldwin roll %cl,%edx 264bc3d5698SJohn Baldwin xorl %ecx,%ecx 265bc3d5698SJohn Baldwin movl $255,%ebx 266bc3d5698SJohn Baldwin movb %dh,%cl 267bc3d5698SJohn Baldwin andl %edx,%ebx 268bc3d5698SJohn Baldwin shrl $16,%edx 269bc3d5698SJohn Baldwin xorl %eax,%eax 270bc3d5698SJohn Baldwin movb %dh,%al 271bc3d5698SJohn Baldwin andl $255,%edx 272bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 273bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 274bc3d5698SJohn Baldwin addl %ebx,%ecx 275bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 276bc3d5698SJohn Baldwin xorl %ebx,%ecx 277bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 278bc3d5698SJohn Baldwin subl %ebx,%ecx 279bc3d5698SJohn Baldwin xorl %ecx,%esi 280bc3d5698SJohn Baldwin 281bc3d5698SJohn Baldwin popl %edx 282bc3d5698SJohn Baldwin orl %edx,%edx 283bc3d5698SJohn Baldwin jnz .L000cast_enc_done 284bc3d5698SJohn Baldwin 285bc3d5698SJohn Baldwin movl 96(%ebp),%edx 286bc3d5698SJohn Baldwin movl 100(%ebp),%ecx 287bc3d5698SJohn Baldwin addl %esi,%edx 288bc3d5698SJohn Baldwin roll %cl,%edx 289bc3d5698SJohn Baldwin xorl %ecx,%ecx 290bc3d5698SJohn Baldwin movl $255,%ebx 291bc3d5698SJohn Baldwin movb %dh,%cl 292bc3d5698SJohn Baldwin andl %edx,%ebx 293bc3d5698SJohn Baldwin shrl $16,%edx 294bc3d5698SJohn Baldwin xorl %eax,%eax 295bc3d5698SJohn Baldwin movb %dh,%al 296bc3d5698SJohn Baldwin andl $255,%edx 297bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 298bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 299bc3d5698SJohn Baldwin xorl %ebx,%ecx 300bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 301bc3d5698SJohn Baldwin subl %ebx,%ecx 302bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 303bc3d5698SJohn Baldwin addl %ebx,%ecx 304bc3d5698SJohn Baldwin xorl %ecx,%edi 305bc3d5698SJohn Baldwin 306bc3d5698SJohn Baldwin movl 104(%ebp),%edx 307bc3d5698SJohn Baldwin movl 108(%ebp),%ecx 308bc3d5698SJohn Baldwin xorl %edi,%edx 309bc3d5698SJohn Baldwin roll %cl,%edx 310bc3d5698SJohn Baldwin xorl %ecx,%ecx 311bc3d5698SJohn Baldwin movl $255,%ebx 312bc3d5698SJohn Baldwin movb %dh,%cl 313bc3d5698SJohn Baldwin andl %edx,%ebx 314bc3d5698SJohn Baldwin shrl $16,%edx 315bc3d5698SJohn Baldwin xorl %eax,%eax 316bc3d5698SJohn Baldwin movb %dh,%al 317bc3d5698SJohn Baldwin andl $255,%edx 318bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 319bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 320bc3d5698SJohn Baldwin subl %ebx,%ecx 321bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 322bc3d5698SJohn Baldwin addl %ebx,%ecx 323bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 324bc3d5698SJohn Baldwin xorl %ebx,%ecx 325bc3d5698SJohn Baldwin xorl %ecx,%esi 326bc3d5698SJohn Baldwin 327bc3d5698SJohn Baldwin movl 112(%ebp),%edx 328bc3d5698SJohn Baldwin movl 116(%ebp),%ecx 329bc3d5698SJohn Baldwin subl %esi,%edx 330bc3d5698SJohn Baldwin roll %cl,%edx 331bc3d5698SJohn Baldwin xorl %ecx,%ecx 332bc3d5698SJohn Baldwin movl $255,%ebx 333bc3d5698SJohn Baldwin movb %dh,%cl 334bc3d5698SJohn Baldwin andl %edx,%ebx 335bc3d5698SJohn Baldwin shrl $16,%edx 336bc3d5698SJohn Baldwin xorl %eax,%eax 337bc3d5698SJohn Baldwin movb %dh,%al 338bc3d5698SJohn Baldwin andl $255,%edx 339bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 340bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 341bc3d5698SJohn Baldwin addl %ebx,%ecx 342bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 343bc3d5698SJohn Baldwin xorl %ebx,%ecx 344bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 345bc3d5698SJohn Baldwin subl %ebx,%ecx 346bc3d5698SJohn Baldwin xorl %ecx,%edi 347bc3d5698SJohn Baldwin 348bc3d5698SJohn Baldwin movl 120(%ebp),%edx 349bc3d5698SJohn Baldwin movl 124(%ebp),%ecx 350bc3d5698SJohn Baldwin addl %edi,%edx 351bc3d5698SJohn Baldwin roll %cl,%edx 352bc3d5698SJohn Baldwin xorl %ecx,%ecx 353bc3d5698SJohn Baldwin movl $255,%ebx 354bc3d5698SJohn Baldwin movb %dh,%cl 355bc3d5698SJohn Baldwin andl %edx,%ebx 356bc3d5698SJohn Baldwin shrl $16,%edx 357bc3d5698SJohn Baldwin xorl %eax,%eax 358bc3d5698SJohn Baldwin movb %dh,%al 359bc3d5698SJohn Baldwin andl $255,%edx 360bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 361bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 362bc3d5698SJohn Baldwin xorl %ebx,%ecx 363bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 364bc3d5698SJohn Baldwin subl %ebx,%ecx 365bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 366bc3d5698SJohn Baldwin addl %ebx,%ecx 367bc3d5698SJohn Baldwin xorl %ecx,%esi 368bc3d5698SJohn Baldwin.L000cast_enc_done: 369bc3d5698SJohn Baldwin nop 370bc3d5698SJohn Baldwin movl 20(%esp),%eax 371bc3d5698SJohn Baldwin movl %edi,4(%eax) 372bc3d5698SJohn Baldwin movl %esi,(%eax) 373bc3d5698SJohn Baldwin popl %edi 374bc3d5698SJohn Baldwin popl %esi 375bc3d5698SJohn Baldwin popl %ebx 376bc3d5698SJohn Baldwin popl %ebp 377bc3d5698SJohn Baldwin ret 378bc3d5698SJohn Baldwin.size CAST_encrypt,.-.L_CAST_encrypt_begin 379bc3d5698SJohn Baldwin.globl CAST_decrypt 380bc3d5698SJohn Baldwin.type CAST_decrypt,@function 381bc3d5698SJohn Baldwin.align 16 382bc3d5698SJohn BaldwinCAST_decrypt: 383bc3d5698SJohn Baldwin.L_CAST_decrypt_begin: 384*c0855eaaSJohn Baldwin #ifdef __CET__ 385*c0855eaaSJohn Baldwin 386*c0855eaaSJohn Baldwin.byte 243,15,30,251 387*c0855eaaSJohn Baldwin #endif 388*c0855eaaSJohn Baldwin 389bc3d5698SJohn Baldwin 390bc3d5698SJohn Baldwin pushl %ebp 391bc3d5698SJohn Baldwin pushl %ebx 392bc3d5698SJohn Baldwin movl 12(%esp),%ebx 393bc3d5698SJohn Baldwin movl 16(%esp),%ebp 394bc3d5698SJohn Baldwin pushl %esi 395bc3d5698SJohn Baldwin pushl %edi 396bc3d5698SJohn Baldwin 397bc3d5698SJohn Baldwin movl (%ebx),%edi 398bc3d5698SJohn Baldwin movl 4(%ebx),%esi 399bc3d5698SJohn Baldwin 400bc3d5698SJohn Baldwin movl 128(%ebp),%eax 401bc3d5698SJohn Baldwin orl %eax,%eax 402bc3d5698SJohn Baldwin jnz .L001cast_dec_skip 403bc3d5698SJohn Baldwin xorl %eax,%eax 404bc3d5698SJohn Baldwin 405bc3d5698SJohn Baldwin movl 120(%ebp),%edx 406bc3d5698SJohn Baldwin movl 124(%ebp),%ecx 407bc3d5698SJohn Baldwin addl %esi,%edx 408bc3d5698SJohn Baldwin roll %cl,%edx 409bc3d5698SJohn Baldwin xorl %ecx,%ecx 410bc3d5698SJohn Baldwin movl $255,%ebx 411bc3d5698SJohn Baldwin movb %dh,%cl 412bc3d5698SJohn Baldwin andl %edx,%ebx 413bc3d5698SJohn Baldwin shrl $16,%edx 414bc3d5698SJohn Baldwin xorl %eax,%eax 415bc3d5698SJohn Baldwin movb %dh,%al 416bc3d5698SJohn Baldwin andl $255,%edx 417bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 418bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 419bc3d5698SJohn Baldwin xorl %ebx,%ecx 420bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 421bc3d5698SJohn Baldwin subl %ebx,%ecx 422bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 423bc3d5698SJohn Baldwin addl %ebx,%ecx 424bc3d5698SJohn Baldwin xorl %ecx,%edi 425bc3d5698SJohn Baldwin 426bc3d5698SJohn Baldwin movl 112(%ebp),%edx 427bc3d5698SJohn Baldwin movl 116(%ebp),%ecx 428bc3d5698SJohn Baldwin subl %edi,%edx 429bc3d5698SJohn Baldwin roll %cl,%edx 430bc3d5698SJohn Baldwin xorl %ecx,%ecx 431bc3d5698SJohn Baldwin movl $255,%ebx 432bc3d5698SJohn Baldwin movb %dh,%cl 433bc3d5698SJohn Baldwin andl %edx,%ebx 434bc3d5698SJohn Baldwin shrl $16,%edx 435bc3d5698SJohn Baldwin xorl %eax,%eax 436bc3d5698SJohn Baldwin movb %dh,%al 437bc3d5698SJohn Baldwin andl $255,%edx 438bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 439bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 440bc3d5698SJohn Baldwin addl %ebx,%ecx 441bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 442bc3d5698SJohn Baldwin xorl %ebx,%ecx 443bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 444bc3d5698SJohn Baldwin subl %ebx,%ecx 445bc3d5698SJohn Baldwin xorl %ecx,%esi 446bc3d5698SJohn Baldwin 447bc3d5698SJohn Baldwin movl 104(%ebp),%edx 448bc3d5698SJohn Baldwin movl 108(%ebp),%ecx 449bc3d5698SJohn Baldwin xorl %esi,%edx 450bc3d5698SJohn Baldwin roll %cl,%edx 451bc3d5698SJohn Baldwin xorl %ecx,%ecx 452bc3d5698SJohn Baldwin movl $255,%ebx 453bc3d5698SJohn Baldwin movb %dh,%cl 454bc3d5698SJohn Baldwin andl %edx,%ebx 455bc3d5698SJohn Baldwin shrl $16,%edx 456bc3d5698SJohn Baldwin xorl %eax,%eax 457bc3d5698SJohn Baldwin movb %dh,%al 458bc3d5698SJohn Baldwin andl $255,%edx 459bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 460bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 461bc3d5698SJohn Baldwin subl %ebx,%ecx 462bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 463bc3d5698SJohn Baldwin addl %ebx,%ecx 464bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 465bc3d5698SJohn Baldwin xorl %ebx,%ecx 466bc3d5698SJohn Baldwin xorl %ecx,%edi 467bc3d5698SJohn Baldwin 468bc3d5698SJohn Baldwin movl 96(%ebp),%edx 469bc3d5698SJohn Baldwin movl 100(%ebp),%ecx 470bc3d5698SJohn Baldwin addl %edi,%edx 471bc3d5698SJohn Baldwin roll %cl,%edx 472bc3d5698SJohn Baldwin xorl %ecx,%ecx 473bc3d5698SJohn Baldwin movl $255,%ebx 474bc3d5698SJohn Baldwin movb %dh,%cl 475bc3d5698SJohn Baldwin andl %edx,%ebx 476bc3d5698SJohn Baldwin shrl $16,%edx 477bc3d5698SJohn Baldwin xorl %eax,%eax 478bc3d5698SJohn Baldwin movb %dh,%al 479bc3d5698SJohn Baldwin andl $255,%edx 480bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 481bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 482bc3d5698SJohn Baldwin xorl %ebx,%ecx 483bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 484bc3d5698SJohn Baldwin subl %ebx,%ecx 485bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 486bc3d5698SJohn Baldwin addl %ebx,%ecx 487bc3d5698SJohn Baldwin xorl %ecx,%esi 488bc3d5698SJohn Baldwin.L001cast_dec_skip: 489bc3d5698SJohn Baldwin 490bc3d5698SJohn Baldwin movl 88(%ebp),%edx 491bc3d5698SJohn Baldwin movl 92(%ebp),%ecx 492bc3d5698SJohn Baldwin subl %esi,%edx 493bc3d5698SJohn Baldwin roll %cl,%edx 494bc3d5698SJohn Baldwin xorl %ecx,%ecx 495bc3d5698SJohn Baldwin movl $255,%ebx 496bc3d5698SJohn Baldwin movb %dh,%cl 497bc3d5698SJohn Baldwin andl %edx,%ebx 498bc3d5698SJohn Baldwin shrl $16,%edx 499bc3d5698SJohn Baldwin xorl %eax,%eax 500bc3d5698SJohn Baldwin movb %dh,%al 501bc3d5698SJohn Baldwin andl $255,%edx 502bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 503bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 504bc3d5698SJohn Baldwin addl %ebx,%ecx 505bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 506bc3d5698SJohn Baldwin xorl %ebx,%ecx 507bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 508bc3d5698SJohn Baldwin subl %ebx,%ecx 509bc3d5698SJohn Baldwin xorl %ecx,%edi 510bc3d5698SJohn Baldwin 511bc3d5698SJohn Baldwin movl 80(%ebp),%edx 512bc3d5698SJohn Baldwin movl 84(%ebp),%ecx 513bc3d5698SJohn Baldwin xorl %edi,%edx 514bc3d5698SJohn Baldwin roll %cl,%edx 515bc3d5698SJohn Baldwin xorl %ecx,%ecx 516bc3d5698SJohn Baldwin movl $255,%ebx 517bc3d5698SJohn Baldwin movb %dh,%cl 518bc3d5698SJohn Baldwin andl %edx,%ebx 519bc3d5698SJohn Baldwin shrl $16,%edx 520bc3d5698SJohn Baldwin xorl %eax,%eax 521bc3d5698SJohn Baldwin movb %dh,%al 522bc3d5698SJohn Baldwin andl $255,%edx 523bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 524bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 525bc3d5698SJohn Baldwin subl %ebx,%ecx 526bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 527bc3d5698SJohn Baldwin addl %ebx,%ecx 528bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 529bc3d5698SJohn Baldwin xorl %ebx,%ecx 530bc3d5698SJohn Baldwin xorl %ecx,%esi 531bc3d5698SJohn Baldwin 532bc3d5698SJohn Baldwin movl 72(%ebp),%edx 533bc3d5698SJohn Baldwin movl 76(%ebp),%ecx 534bc3d5698SJohn Baldwin addl %esi,%edx 535bc3d5698SJohn Baldwin roll %cl,%edx 536bc3d5698SJohn Baldwin xorl %ecx,%ecx 537bc3d5698SJohn Baldwin movl $255,%ebx 538bc3d5698SJohn Baldwin movb %dh,%cl 539bc3d5698SJohn Baldwin andl %edx,%ebx 540bc3d5698SJohn Baldwin shrl $16,%edx 541bc3d5698SJohn Baldwin xorl %eax,%eax 542bc3d5698SJohn Baldwin movb %dh,%al 543bc3d5698SJohn Baldwin andl $255,%edx 544bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 545bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 546bc3d5698SJohn Baldwin xorl %ebx,%ecx 547bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 548bc3d5698SJohn Baldwin subl %ebx,%ecx 549bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 550bc3d5698SJohn Baldwin addl %ebx,%ecx 551bc3d5698SJohn Baldwin xorl %ecx,%edi 552bc3d5698SJohn Baldwin 553bc3d5698SJohn Baldwin movl 64(%ebp),%edx 554bc3d5698SJohn Baldwin movl 68(%ebp),%ecx 555bc3d5698SJohn Baldwin subl %edi,%edx 556bc3d5698SJohn Baldwin roll %cl,%edx 557bc3d5698SJohn Baldwin xorl %ecx,%ecx 558bc3d5698SJohn Baldwin movl $255,%ebx 559bc3d5698SJohn Baldwin movb %dh,%cl 560bc3d5698SJohn Baldwin andl %edx,%ebx 561bc3d5698SJohn Baldwin shrl $16,%edx 562bc3d5698SJohn Baldwin xorl %eax,%eax 563bc3d5698SJohn Baldwin movb %dh,%al 564bc3d5698SJohn Baldwin andl $255,%edx 565bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 566bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 567bc3d5698SJohn Baldwin addl %ebx,%ecx 568bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 569bc3d5698SJohn Baldwin xorl %ebx,%ecx 570bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 571bc3d5698SJohn Baldwin subl %ebx,%ecx 572bc3d5698SJohn Baldwin xorl %ecx,%esi 573bc3d5698SJohn Baldwin 574bc3d5698SJohn Baldwin movl 56(%ebp),%edx 575bc3d5698SJohn Baldwin movl 60(%ebp),%ecx 576bc3d5698SJohn Baldwin xorl %esi,%edx 577bc3d5698SJohn Baldwin roll %cl,%edx 578bc3d5698SJohn Baldwin xorl %ecx,%ecx 579bc3d5698SJohn Baldwin movl $255,%ebx 580bc3d5698SJohn Baldwin movb %dh,%cl 581bc3d5698SJohn Baldwin andl %edx,%ebx 582bc3d5698SJohn Baldwin shrl $16,%edx 583bc3d5698SJohn Baldwin xorl %eax,%eax 584bc3d5698SJohn Baldwin movb %dh,%al 585bc3d5698SJohn Baldwin andl $255,%edx 586bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 587bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 588bc3d5698SJohn Baldwin subl %ebx,%ecx 589bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 590bc3d5698SJohn Baldwin addl %ebx,%ecx 591bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 592bc3d5698SJohn Baldwin xorl %ebx,%ecx 593bc3d5698SJohn Baldwin xorl %ecx,%edi 594bc3d5698SJohn Baldwin 595bc3d5698SJohn Baldwin movl 48(%ebp),%edx 596bc3d5698SJohn Baldwin movl 52(%ebp),%ecx 597bc3d5698SJohn Baldwin addl %edi,%edx 598bc3d5698SJohn Baldwin roll %cl,%edx 599bc3d5698SJohn Baldwin xorl %ecx,%ecx 600bc3d5698SJohn Baldwin movl $255,%ebx 601bc3d5698SJohn Baldwin movb %dh,%cl 602bc3d5698SJohn Baldwin andl %edx,%ebx 603bc3d5698SJohn Baldwin shrl $16,%edx 604bc3d5698SJohn Baldwin xorl %eax,%eax 605bc3d5698SJohn Baldwin movb %dh,%al 606bc3d5698SJohn Baldwin andl $255,%edx 607bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 608bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 609bc3d5698SJohn Baldwin xorl %ebx,%ecx 610bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 611bc3d5698SJohn Baldwin subl %ebx,%ecx 612bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 613bc3d5698SJohn Baldwin addl %ebx,%ecx 614bc3d5698SJohn Baldwin xorl %ecx,%esi 615bc3d5698SJohn Baldwin 616bc3d5698SJohn Baldwin movl 40(%ebp),%edx 617bc3d5698SJohn Baldwin movl 44(%ebp),%ecx 618bc3d5698SJohn Baldwin subl %esi,%edx 619bc3d5698SJohn Baldwin roll %cl,%edx 620bc3d5698SJohn Baldwin xorl %ecx,%ecx 621bc3d5698SJohn Baldwin movl $255,%ebx 622bc3d5698SJohn Baldwin movb %dh,%cl 623bc3d5698SJohn Baldwin andl %edx,%ebx 624bc3d5698SJohn Baldwin shrl $16,%edx 625bc3d5698SJohn Baldwin xorl %eax,%eax 626bc3d5698SJohn Baldwin movb %dh,%al 627bc3d5698SJohn Baldwin andl $255,%edx 628bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 629bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 630bc3d5698SJohn Baldwin addl %ebx,%ecx 631bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 632bc3d5698SJohn Baldwin xorl %ebx,%ecx 633bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 634bc3d5698SJohn Baldwin subl %ebx,%ecx 635bc3d5698SJohn Baldwin xorl %ecx,%edi 636bc3d5698SJohn Baldwin 637bc3d5698SJohn Baldwin movl 32(%ebp),%edx 638bc3d5698SJohn Baldwin movl 36(%ebp),%ecx 639bc3d5698SJohn Baldwin xorl %edi,%edx 640bc3d5698SJohn Baldwin roll %cl,%edx 641bc3d5698SJohn Baldwin xorl %ecx,%ecx 642bc3d5698SJohn Baldwin movl $255,%ebx 643bc3d5698SJohn Baldwin movb %dh,%cl 644bc3d5698SJohn Baldwin andl %edx,%ebx 645bc3d5698SJohn Baldwin shrl $16,%edx 646bc3d5698SJohn Baldwin xorl %eax,%eax 647bc3d5698SJohn Baldwin movb %dh,%al 648bc3d5698SJohn Baldwin andl $255,%edx 649bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 650bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 651bc3d5698SJohn Baldwin subl %ebx,%ecx 652bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 653bc3d5698SJohn Baldwin addl %ebx,%ecx 654bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 655bc3d5698SJohn Baldwin xorl %ebx,%ecx 656bc3d5698SJohn Baldwin xorl %ecx,%esi 657bc3d5698SJohn Baldwin 658bc3d5698SJohn Baldwin movl 24(%ebp),%edx 659bc3d5698SJohn Baldwin movl 28(%ebp),%ecx 660bc3d5698SJohn Baldwin addl %esi,%edx 661bc3d5698SJohn Baldwin roll %cl,%edx 662bc3d5698SJohn Baldwin xorl %ecx,%ecx 663bc3d5698SJohn Baldwin movl $255,%ebx 664bc3d5698SJohn Baldwin movb %dh,%cl 665bc3d5698SJohn Baldwin andl %edx,%ebx 666bc3d5698SJohn Baldwin shrl $16,%edx 667bc3d5698SJohn Baldwin xorl %eax,%eax 668bc3d5698SJohn Baldwin movb %dh,%al 669bc3d5698SJohn Baldwin andl $255,%edx 670bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 671bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 672bc3d5698SJohn Baldwin xorl %ebx,%ecx 673bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 674bc3d5698SJohn Baldwin subl %ebx,%ecx 675bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 676bc3d5698SJohn Baldwin addl %ebx,%ecx 677bc3d5698SJohn Baldwin xorl %ecx,%edi 678bc3d5698SJohn Baldwin 679bc3d5698SJohn Baldwin movl 16(%ebp),%edx 680bc3d5698SJohn Baldwin movl 20(%ebp),%ecx 681bc3d5698SJohn Baldwin subl %edi,%edx 682bc3d5698SJohn Baldwin roll %cl,%edx 683bc3d5698SJohn Baldwin xorl %ecx,%ecx 684bc3d5698SJohn Baldwin movl $255,%ebx 685bc3d5698SJohn Baldwin movb %dh,%cl 686bc3d5698SJohn Baldwin andl %edx,%ebx 687bc3d5698SJohn Baldwin shrl $16,%edx 688bc3d5698SJohn Baldwin xorl %eax,%eax 689bc3d5698SJohn Baldwin movb %dh,%al 690bc3d5698SJohn Baldwin andl $255,%edx 691bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 692bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 693bc3d5698SJohn Baldwin addl %ebx,%ecx 694bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 695bc3d5698SJohn Baldwin xorl %ebx,%ecx 696bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 697bc3d5698SJohn Baldwin subl %ebx,%ecx 698bc3d5698SJohn Baldwin xorl %ecx,%esi 699bc3d5698SJohn Baldwin 700bc3d5698SJohn Baldwin movl 8(%ebp),%edx 701bc3d5698SJohn Baldwin movl 12(%ebp),%ecx 702bc3d5698SJohn Baldwin xorl %esi,%edx 703bc3d5698SJohn Baldwin roll %cl,%edx 704bc3d5698SJohn Baldwin xorl %ecx,%ecx 705bc3d5698SJohn Baldwin movl $255,%ebx 706bc3d5698SJohn Baldwin movb %dh,%cl 707bc3d5698SJohn Baldwin andl %edx,%ebx 708bc3d5698SJohn Baldwin shrl $16,%edx 709bc3d5698SJohn Baldwin xorl %eax,%eax 710bc3d5698SJohn Baldwin movb %dh,%al 711bc3d5698SJohn Baldwin andl $255,%edx 712bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 713bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 714bc3d5698SJohn Baldwin subl %ebx,%ecx 715bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 716bc3d5698SJohn Baldwin addl %ebx,%ecx 717bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 718bc3d5698SJohn Baldwin xorl %ebx,%ecx 719bc3d5698SJohn Baldwin xorl %ecx,%edi 720bc3d5698SJohn Baldwin 721bc3d5698SJohn Baldwin movl (%ebp),%edx 722bc3d5698SJohn Baldwin movl 4(%ebp),%ecx 723bc3d5698SJohn Baldwin addl %edi,%edx 724bc3d5698SJohn Baldwin roll %cl,%edx 725bc3d5698SJohn Baldwin xorl %ecx,%ecx 726bc3d5698SJohn Baldwin movl $255,%ebx 727bc3d5698SJohn Baldwin movb %dh,%cl 728bc3d5698SJohn Baldwin andl %edx,%ebx 729bc3d5698SJohn Baldwin shrl $16,%edx 730bc3d5698SJohn Baldwin xorl %eax,%eax 731bc3d5698SJohn Baldwin movb %dh,%al 732bc3d5698SJohn Baldwin andl $255,%edx 733bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 734bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 735bc3d5698SJohn Baldwin xorl %ebx,%ecx 736bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 737bc3d5698SJohn Baldwin subl %ebx,%ecx 738bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 739bc3d5698SJohn Baldwin addl %ebx,%ecx 740bc3d5698SJohn Baldwin xorl %ecx,%esi 741bc3d5698SJohn Baldwin nop 742bc3d5698SJohn Baldwin movl 20(%esp),%eax 743bc3d5698SJohn Baldwin movl %edi,4(%eax) 744bc3d5698SJohn Baldwin movl %esi,(%eax) 745bc3d5698SJohn Baldwin popl %edi 746bc3d5698SJohn Baldwin popl %esi 747bc3d5698SJohn Baldwin popl %ebx 748bc3d5698SJohn Baldwin popl %ebp 749bc3d5698SJohn Baldwin ret 750bc3d5698SJohn Baldwin.size CAST_decrypt,.-.L_CAST_decrypt_begin 751bc3d5698SJohn Baldwin.globl CAST_cbc_encrypt 752bc3d5698SJohn Baldwin.type CAST_cbc_encrypt,@function 753bc3d5698SJohn Baldwin.align 16 754bc3d5698SJohn BaldwinCAST_cbc_encrypt: 755bc3d5698SJohn Baldwin.L_CAST_cbc_encrypt_begin: 756*c0855eaaSJohn Baldwin #ifdef __CET__ 757*c0855eaaSJohn Baldwin 758*c0855eaaSJohn Baldwin.byte 243,15,30,251 759*c0855eaaSJohn Baldwin #endif 760*c0855eaaSJohn Baldwin 761bc3d5698SJohn Baldwin 762bc3d5698SJohn Baldwin pushl %ebp 763bc3d5698SJohn Baldwin pushl %ebx 764bc3d5698SJohn Baldwin pushl %esi 765bc3d5698SJohn Baldwin pushl %edi 766bc3d5698SJohn Baldwin movl 28(%esp),%ebp 767bc3d5698SJohn Baldwin 768bc3d5698SJohn Baldwin movl 36(%esp),%ebx 769bc3d5698SJohn Baldwin movl (%ebx),%esi 770bc3d5698SJohn Baldwin movl 4(%ebx),%edi 771bc3d5698SJohn Baldwin pushl %edi 772bc3d5698SJohn Baldwin pushl %esi 773bc3d5698SJohn Baldwin pushl %edi 774bc3d5698SJohn Baldwin pushl %esi 775bc3d5698SJohn Baldwin movl %esp,%ebx 776bc3d5698SJohn Baldwin movl 36(%esp),%esi 777bc3d5698SJohn Baldwin movl 40(%esp),%edi 778bc3d5698SJohn Baldwin 779bc3d5698SJohn Baldwin movl 56(%esp),%ecx 780bc3d5698SJohn Baldwin 781bc3d5698SJohn Baldwin movl 48(%esp),%eax 782bc3d5698SJohn Baldwin pushl %eax 783bc3d5698SJohn Baldwin pushl %ebx 784bc3d5698SJohn Baldwin cmpl $0,%ecx 785bc3d5698SJohn Baldwin jz .L002decrypt 786bc3d5698SJohn Baldwin andl $4294967288,%ebp 787bc3d5698SJohn Baldwin movl 8(%esp),%eax 788bc3d5698SJohn Baldwin movl 12(%esp),%ebx 789bc3d5698SJohn Baldwin jz .L003encrypt_finish 790bc3d5698SJohn Baldwin.L004encrypt_loop: 791bc3d5698SJohn Baldwin movl (%esi),%ecx 792bc3d5698SJohn Baldwin movl 4(%esi),%edx 793bc3d5698SJohn Baldwin xorl %ecx,%eax 794bc3d5698SJohn Baldwin xorl %edx,%ebx 795bc3d5698SJohn Baldwin bswap %eax 796bc3d5698SJohn Baldwin bswap %ebx 797bc3d5698SJohn Baldwin movl %eax,8(%esp) 798bc3d5698SJohn Baldwin movl %ebx,12(%esp) 799bc3d5698SJohn Baldwin call .L_CAST_encrypt_begin 800bc3d5698SJohn Baldwin movl 8(%esp),%eax 801bc3d5698SJohn Baldwin movl 12(%esp),%ebx 802bc3d5698SJohn Baldwin bswap %eax 803bc3d5698SJohn Baldwin bswap %ebx 804bc3d5698SJohn Baldwin movl %eax,(%edi) 805bc3d5698SJohn Baldwin movl %ebx,4(%edi) 806bc3d5698SJohn Baldwin addl $8,%esi 807bc3d5698SJohn Baldwin addl $8,%edi 808bc3d5698SJohn Baldwin subl $8,%ebp 809bc3d5698SJohn Baldwin jnz .L004encrypt_loop 810bc3d5698SJohn Baldwin.L003encrypt_finish: 811bc3d5698SJohn Baldwin movl 52(%esp),%ebp 812bc3d5698SJohn Baldwin andl $7,%ebp 813bc3d5698SJohn Baldwin jz .L005finish 814bc3d5698SJohn Baldwin call .L006PIC_point 815bc3d5698SJohn Baldwin.L006PIC_point: 816bc3d5698SJohn Baldwin popl %edx 817bc3d5698SJohn Baldwin leal .L007cbc_enc_jmp_table-.L006PIC_point(%edx),%ecx 818bc3d5698SJohn Baldwin movl (%ecx,%ebp,4),%ebp 819bc3d5698SJohn Baldwin addl %edx,%ebp 820bc3d5698SJohn Baldwin xorl %ecx,%ecx 821bc3d5698SJohn Baldwin xorl %edx,%edx 822bc3d5698SJohn Baldwin jmp *%ebp 823bc3d5698SJohn Baldwin.L008ej7: 824*c0855eaaSJohn Baldwin #ifdef __CET__ 825*c0855eaaSJohn Baldwin 826*c0855eaaSJohn Baldwin.byte 243,15,30,251 827*c0855eaaSJohn Baldwin #endif 828*c0855eaaSJohn Baldwin 829bc3d5698SJohn Baldwin movb 6(%esi),%dh 830bc3d5698SJohn Baldwin shll $8,%edx 831bc3d5698SJohn Baldwin.L009ej6: 832*c0855eaaSJohn Baldwin #ifdef __CET__ 833*c0855eaaSJohn Baldwin 834*c0855eaaSJohn Baldwin.byte 243,15,30,251 835*c0855eaaSJohn Baldwin #endif 836*c0855eaaSJohn Baldwin 837bc3d5698SJohn Baldwin movb 5(%esi),%dh 838bc3d5698SJohn Baldwin.L010ej5: 839*c0855eaaSJohn Baldwin #ifdef __CET__ 840*c0855eaaSJohn Baldwin 841*c0855eaaSJohn Baldwin.byte 243,15,30,251 842*c0855eaaSJohn Baldwin #endif 843*c0855eaaSJohn Baldwin 844bc3d5698SJohn Baldwin movb 4(%esi),%dl 845bc3d5698SJohn Baldwin.L011ej4: 846*c0855eaaSJohn Baldwin #ifdef __CET__ 847*c0855eaaSJohn Baldwin 848*c0855eaaSJohn Baldwin.byte 243,15,30,251 849*c0855eaaSJohn Baldwin #endif 850*c0855eaaSJohn Baldwin 851bc3d5698SJohn Baldwin movl (%esi),%ecx 852bc3d5698SJohn Baldwin jmp .L012ejend 853bc3d5698SJohn Baldwin.L013ej3: 854*c0855eaaSJohn Baldwin #ifdef __CET__ 855*c0855eaaSJohn Baldwin 856*c0855eaaSJohn Baldwin.byte 243,15,30,251 857*c0855eaaSJohn Baldwin #endif 858*c0855eaaSJohn Baldwin 859bc3d5698SJohn Baldwin movb 2(%esi),%ch 860bc3d5698SJohn Baldwin shll $8,%ecx 861bc3d5698SJohn Baldwin.L014ej2: 862*c0855eaaSJohn Baldwin #ifdef __CET__ 863*c0855eaaSJohn Baldwin 864*c0855eaaSJohn Baldwin.byte 243,15,30,251 865*c0855eaaSJohn Baldwin #endif 866*c0855eaaSJohn Baldwin 867bc3d5698SJohn Baldwin movb 1(%esi),%ch 868bc3d5698SJohn Baldwin.L015ej1: 869*c0855eaaSJohn Baldwin #ifdef __CET__ 870*c0855eaaSJohn Baldwin 871*c0855eaaSJohn Baldwin.byte 243,15,30,251 872*c0855eaaSJohn Baldwin #endif 873*c0855eaaSJohn Baldwin 874bc3d5698SJohn Baldwin movb (%esi),%cl 875bc3d5698SJohn Baldwin.L012ejend: 876bc3d5698SJohn Baldwin xorl %ecx,%eax 877bc3d5698SJohn Baldwin xorl %edx,%ebx 878bc3d5698SJohn Baldwin bswap %eax 879bc3d5698SJohn Baldwin bswap %ebx 880bc3d5698SJohn Baldwin movl %eax,8(%esp) 881bc3d5698SJohn Baldwin movl %ebx,12(%esp) 882bc3d5698SJohn Baldwin call .L_CAST_encrypt_begin 883bc3d5698SJohn Baldwin movl 8(%esp),%eax 884bc3d5698SJohn Baldwin movl 12(%esp),%ebx 885bc3d5698SJohn Baldwin bswap %eax 886bc3d5698SJohn Baldwin bswap %ebx 887bc3d5698SJohn Baldwin movl %eax,(%edi) 888bc3d5698SJohn Baldwin movl %ebx,4(%edi) 889bc3d5698SJohn Baldwin jmp .L005finish 890bc3d5698SJohn Baldwin.L002decrypt: 891bc3d5698SJohn Baldwin andl $4294967288,%ebp 892bc3d5698SJohn Baldwin movl 16(%esp),%eax 893bc3d5698SJohn Baldwin movl 20(%esp),%ebx 894bc3d5698SJohn Baldwin jz .L016decrypt_finish 895bc3d5698SJohn Baldwin.L017decrypt_loop: 896bc3d5698SJohn Baldwin movl (%esi),%eax 897bc3d5698SJohn Baldwin movl 4(%esi),%ebx 898bc3d5698SJohn Baldwin bswap %eax 899bc3d5698SJohn Baldwin bswap %ebx 900bc3d5698SJohn Baldwin movl %eax,8(%esp) 901bc3d5698SJohn Baldwin movl %ebx,12(%esp) 902bc3d5698SJohn Baldwin call .L_CAST_decrypt_begin 903bc3d5698SJohn Baldwin movl 8(%esp),%eax 904bc3d5698SJohn Baldwin movl 12(%esp),%ebx 905bc3d5698SJohn Baldwin bswap %eax 906bc3d5698SJohn Baldwin bswap %ebx 907bc3d5698SJohn Baldwin movl 16(%esp),%ecx 908bc3d5698SJohn Baldwin movl 20(%esp),%edx 909bc3d5698SJohn Baldwin xorl %eax,%ecx 910bc3d5698SJohn Baldwin xorl %ebx,%edx 911bc3d5698SJohn Baldwin movl (%esi),%eax 912bc3d5698SJohn Baldwin movl 4(%esi),%ebx 913bc3d5698SJohn Baldwin movl %ecx,(%edi) 914bc3d5698SJohn Baldwin movl %edx,4(%edi) 915bc3d5698SJohn Baldwin movl %eax,16(%esp) 916bc3d5698SJohn Baldwin movl %ebx,20(%esp) 917bc3d5698SJohn Baldwin addl $8,%esi 918bc3d5698SJohn Baldwin addl $8,%edi 919bc3d5698SJohn Baldwin subl $8,%ebp 920bc3d5698SJohn Baldwin jnz .L017decrypt_loop 921bc3d5698SJohn Baldwin.L016decrypt_finish: 922bc3d5698SJohn Baldwin movl 52(%esp),%ebp 923bc3d5698SJohn Baldwin andl $7,%ebp 924bc3d5698SJohn Baldwin jz .L005finish 925bc3d5698SJohn Baldwin movl (%esi),%eax 926bc3d5698SJohn Baldwin movl 4(%esi),%ebx 927bc3d5698SJohn Baldwin bswap %eax 928bc3d5698SJohn Baldwin bswap %ebx 929bc3d5698SJohn Baldwin movl %eax,8(%esp) 930bc3d5698SJohn Baldwin movl %ebx,12(%esp) 931bc3d5698SJohn Baldwin call .L_CAST_decrypt_begin 932bc3d5698SJohn Baldwin movl 8(%esp),%eax 933bc3d5698SJohn Baldwin movl 12(%esp),%ebx 934bc3d5698SJohn Baldwin bswap %eax 935bc3d5698SJohn Baldwin bswap %ebx 936bc3d5698SJohn Baldwin movl 16(%esp),%ecx 937bc3d5698SJohn Baldwin movl 20(%esp),%edx 938bc3d5698SJohn Baldwin xorl %eax,%ecx 939bc3d5698SJohn Baldwin xorl %ebx,%edx 940bc3d5698SJohn Baldwin movl (%esi),%eax 941bc3d5698SJohn Baldwin movl 4(%esi),%ebx 942bc3d5698SJohn Baldwin.L018dj7: 943bc3d5698SJohn Baldwin rorl $16,%edx 944bc3d5698SJohn Baldwin movb %dl,6(%edi) 945bc3d5698SJohn Baldwin shrl $16,%edx 946bc3d5698SJohn Baldwin.L019dj6: 947bc3d5698SJohn Baldwin movb %dh,5(%edi) 948bc3d5698SJohn Baldwin.L020dj5: 949bc3d5698SJohn Baldwin movb %dl,4(%edi) 950bc3d5698SJohn Baldwin.L021dj4: 951bc3d5698SJohn Baldwin movl %ecx,(%edi) 952bc3d5698SJohn Baldwin jmp .L022djend 953bc3d5698SJohn Baldwin.L023dj3: 954bc3d5698SJohn Baldwin rorl $16,%ecx 955bc3d5698SJohn Baldwin movb %cl,2(%edi) 956bc3d5698SJohn Baldwin shll $16,%ecx 957bc3d5698SJohn Baldwin.L024dj2: 958bc3d5698SJohn Baldwin movb %ch,1(%esi) 959bc3d5698SJohn Baldwin.L025dj1: 960bc3d5698SJohn Baldwin movb %cl,(%esi) 961bc3d5698SJohn Baldwin.L022djend: 962bc3d5698SJohn Baldwin jmp .L005finish 963bc3d5698SJohn Baldwin.L005finish: 964bc3d5698SJohn Baldwin movl 60(%esp),%ecx 965bc3d5698SJohn Baldwin addl $24,%esp 966bc3d5698SJohn Baldwin movl %eax,(%ecx) 967bc3d5698SJohn Baldwin movl %ebx,4(%ecx) 968bc3d5698SJohn Baldwin popl %edi 969bc3d5698SJohn Baldwin popl %esi 970bc3d5698SJohn Baldwin popl %ebx 971bc3d5698SJohn Baldwin popl %ebp 972bc3d5698SJohn Baldwin ret 973bc3d5698SJohn Baldwin.align 64 974bc3d5698SJohn Baldwin.L007cbc_enc_jmp_table: 975bc3d5698SJohn Baldwin.long 0 976bc3d5698SJohn Baldwin.long .L015ej1-.L006PIC_point 977bc3d5698SJohn Baldwin.long .L014ej2-.L006PIC_point 978bc3d5698SJohn Baldwin.long .L013ej3-.L006PIC_point 979bc3d5698SJohn Baldwin.long .L011ej4-.L006PIC_point 980bc3d5698SJohn Baldwin.long .L010ej5-.L006PIC_point 981bc3d5698SJohn Baldwin.long .L009ej6-.L006PIC_point 982bc3d5698SJohn Baldwin.long .L008ej7-.L006PIC_point 983bc3d5698SJohn Baldwin.align 64 984bc3d5698SJohn Baldwin.size CAST_cbc_encrypt,.-.L_CAST_cbc_encrypt_begin 985*c0855eaaSJohn Baldwin 986*c0855eaaSJohn Baldwin .section ".note.gnu.property", "a" 987*c0855eaaSJohn Baldwin .p2align 2 988*c0855eaaSJohn Baldwin .long 1f - 0f 989*c0855eaaSJohn Baldwin .long 4f - 1f 990*c0855eaaSJohn Baldwin .long 5 991*c0855eaaSJohn Baldwin0: 992*c0855eaaSJohn Baldwin .asciz "GNU" 993*c0855eaaSJohn Baldwin1: 994*c0855eaaSJohn Baldwin .p2align 2 995*c0855eaaSJohn Baldwin .long 0xc0000002 996*c0855eaaSJohn Baldwin .long 3f - 2f 997*c0855eaaSJohn Baldwin2: 998*c0855eaaSJohn Baldwin .long 3 999*c0855eaaSJohn Baldwin3: 1000*c0855eaaSJohn Baldwin .p2align 2 1001*c0855eaaSJohn Baldwin4: 1002bc3d5698SJohn Baldwin#else 1003bc3d5698SJohn Baldwin.text 1004bc3d5698SJohn Baldwin.globl CAST_encrypt 1005bc3d5698SJohn Baldwin.type CAST_encrypt,@function 1006bc3d5698SJohn Baldwin.align 16 1007bc3d5698SJohn BaldwinCAST_encrypt: 1008bc3d5698SJohn Baldwin.L_CAST_encrypt_begin: 1009*c0855eaaSJohn Baldwin #ifdef __CET__ 1010*c0855eaaSJohn Baldwin 1011*c0855eaaSJohn Baldwin.byte 243,15,30,251 1012*c0855eaaSJohn Baldwin #endif 1013*c0855eaaSJohn Baldwin 1014bc3d5698SJohn Baldwin 1015bc3d5698SJohn Baldwin pushl %ebp 1016bc3d5698SJohn Baldwin pushl %ebx 1017bc3d5698SJohn Baldwin movl 12(%esp),%ebx 1018bc3d5698SJohn Baldwin movl 16(%esp),%ebp 1019bc3d5698SJohn Baldwin pushl %esi 1020bc3d5698SJohn Baldwin pushl %edi 1021bc3d5698SJohn Baldwin 1022bc3d5698SJohn Baldwin movl (%ebx),%edi 1023bc3d5698SJohn Baldwin movl 4(%ebx),%esi 1024bc3d5698SJohn Baldwin 1025bc3d5698SJohn Baldwin movl 128(%ebp),%eax 1026bc3d5698SJohn Baldwin pushl %eax 1027bc3d5698SJohn Baldwin xorl %eax,%eax 1028bc3d5698SJohn Baldwin 1029bc3d5698SJohn Baldwin movl (%ebp),%edx 1030bc3d5698SJohn Baldwin movl 4(%ebp),%ecx 1031bc3d5698SJohn Baldwin addl %esi,%edx 1032bc3d5698SJohn Baldwin roll %cl,%edx 1033bc3d5698SJohn Baldwin xorl %ecx,%ecx 1034bc3d5698SJohn Baldwin movl $255,%ebx 1035bc3d5698SJohn Baldwin movb %dh,%cl 1036bc3d5698SJohn Baldwin andl %edx,%ebx 1037bc3d5698SJohn Baldwin shrl $16,%edx 1038bc3d5698SJohn Baldwin xorl %eax,%eax 1039bc3d5698SJohn Baldwin movb %dh,%al 1040bc3d5698SJohn Baldwin andl $255,%edx 1041bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1042bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1043bc3d5698SJohn Baldwin xorl %ebx,%ecx 1044bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1045bc3d5698SJohn Baldwin subl %ebx,%ecx 1046bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1047bc3d5698SJohn Baldwin addl %ebx,%ecx 1048bc3d5698SJohn Baldwin xorl %ecx,%edi 1049bc3d5698SJohn Baldwin 1050bc3d5698SJohn Baldwin movl 8(%ebp),%edx 1051bc3d5698SJohn Baldwin movl 12(%ebp),%ecx 1052bc3d5698SJohn Baldwin xorl %edi,%edx 1053bc3d5698SJohn Baldwin roll %cl,%edx 1054bc3d5698SJohn Baldwin xorl %ecx,%ecx 1055bc3d5698SJohn Baldwin movl $255,%ebx 1056bc3d5698SJohn Baldwin movb %dh,%cl 1057bc3d5698SJohn Baldwin andl %edx,%ebx 1058bc3d5698SJohn Baldwin shrl $16,%edx 1059bc3d5698SJohn Baldwin xorl %eax,%eax 1060bc3d5698SJohn Baldwin movb %dh,%al 1061bc3d5698SJohn Baldwin andl $255,%edx 1062bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1063bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1064bc3d5698SJohn Baldwin subl %ebx,%ecx 1065bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1066bc3d5698SJohn Baldwin addl %ebx,%ecx 1067bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1068bc3d5698SJohn Baldwin xorl %ebx,%ecx 1069bc3d5698SJohn Baldwin xorl %ecx,%esi 1070bc3d5698SJohn Baldwin 1071bc3d5698SJohn Baldwin movl 16(%ebp),%edx 1072bc3d5698SJohn Baldwin movl 20(%ebp),%ecx 1073bc3d5698SJohn Baldwin subl %esi,%edx 1074bc3d5698SJohn Baldwin roll %cl,%edx 1075bc3d5698SJohn Baldwin xorl %ecx,%ecx 1076bc3d5698SJohn Baldwin movl $255,%ebx 1077bc3d5698SJohn Baldwin movb %dh,%cl 1078bc3d5698SJohn Baldwin andl %edx,%ebx 1079bc3d5698SJohn Baldwin shrl $16,%edx 1080bc3d5698SJohn Baldwin xorl %eax,%eax 1081bc3d5698SJohn Baldwin movb %dh,%al 1082bc3d5698SJohn Baldwin andl $255,%edx 1083bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1084bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1085bc3d5698SJohn Baldwin addl %ebx,%ecx 1086bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1087bc3d5698SJohn Baldwin xorl %ebx,%ecx 1088bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1089bc3d5698SJohn Baldwin subl %ebx,%ecx 1090bc3d5698SJohn Baldwin xorl %ecx,%edi 1091bc3d5698SJohn Baldwin 1092bc3d5698SJohn Baldwin movl 24(%ebp),%edx 1093bc3d5698SJohn Baldwin movl 28(%ebp),%ecx 1094bc3d5698SJohn Baldwin addl %edi,%edx 1095bc3d5698SJohn Baldwin roll %cl,%edx 1096bc3d5698SJohn Baldwin xorl %ecx,%ecx 1097bc3d5698SJohn Baldwin movl $255,%ebx 1098bc3d5698SJohn Baldwin movb %dh,%cl 1099bc3d5698SJohn Baldwin andl %edx,%ebx 1100bc3d5698SJohn Baldwin shrl $16,%edx 1101bc3d5698SJohn Baldwin xorl %eax,%eax 1102bc3d5698SJohn Baldwin movb %dh,%al 1103bc3d5698SJohn Baldwin andl $255,%edx 1104bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1105bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1106bc3d5698SJohn Baldwin xorl %ebx,%ecx 1107bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1108bc3d5698SJohn Baldwin subl %ebx,%ecx 1109bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1110bc3d5698SJohn Baldwin addl %ebx,%ecx 1111bc3d5698SJohn Baldwin xorl %ecx,%esi 1112bc3d5698SJohn Baldwin 1113bc3d5698SJohn Baldwin movl 32(%ebp),%edx 1114bc3d5698SJohn Baldwin movl 36(%ebp),%ecx 1115bc3d5698SJohn Baldwin xorl %esi,%edx 1116bc3d5698SJohn Baldwin roll %cl,%edx 1117bc3d5698SJohn Baldwin xorl %ecx,%ecx 1118bc3d5698SJohn Baldwin movl $255,%ebx 1119bc3d5698SJohn Baldwin movb %dh,%cl 1120bc3d5698SJohn Baldwin andl %edx,%ebx 1121bc3d5698SJohn Baldwin shrl $16,%edx 1122bc3d5698SJohn Baldwin xorl %eax,%eax 1123bc3d5698SJohn Baldwin movb %dh,%al 1124bc3d5698SJohn Baldwin andl $255,%edx 1125bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1126bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1127bc3d5698SJohn Baldwin subl %ebx,%ecx 1128bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1129bc3d5698SJohn Baldwin addl %ebx,%ecx 1130bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1131bc3d5698SJohn Baldwin xorl %ebx,%ecx 1132bc3d5698SJohn Baldwin xorl %ecx,%edi 1133bc3d5698SJohn Baldwin 1134bc3d5698SJohn Baldwin movl 40(%ebp),%edx 1135bc3d5698SJohn Baldwin movl 44(%ebp),%ecx 1136bc3d5698SJohn Baldwin subl %edi,%edx 1137bc3d5698SJohn Baldwin roll %cl,%edx 1138bc3d5698SJohn Baldwin xorl %ecx,%ecx 1139bc3d5698SJohn Baldwin movl $255,%ebx 1140bc3d5698SJohn Baldwin movb %dh,%cl 1141bc3d5698SJohn Baldwin andl %edx,%ebx 1142bc3d5698SJohn Baldwin shrl $16,%edx 1143bc3d5698SJohn Baldwin xorl %eax,%eax 1144bc3d5698SJohn Baldwin movb %dh,%al 1145bc3d5698SJohn Baldwin andl $255,%edx 1146bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1147bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1148bc3d5698SJohn Baldwin addl %ebx,%ecx 1149bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1150bc3d5698SJohn Baldwin xorl %ebx,%ecx 1151bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1152bc3d5698SJohn Baldwin subl %ebx,%ecx 1153bc3d5698SJohn Baldwin xorl %ecx,%esi 1154bc3d5698SJohn Baldwin 1155bc3d5698SJohn Baldwin movl 48(%ebp),%edx 1156bc3d5698SJohn Baldwin movl 52(%ebp),%ecx 1157bc3d5698SJohn Baldwin addl %esi,%edx 1158bc3d5698SJohn Baldwin roll %cl,%edx 1159bc3d5698SJohn Baldwin xorl %ecx,%ecx 1160bc3d5698SJohn Baldwin movl $255,%ebx 1161bc3d5698SJohn Baldwin movb %dh,%cl 1162bc3d5698SJohn Baldwin andl %edx,%ebx 1163bc3d5698SJohn Baldwin shrl $16,%edx 1164bc3d5698SJohn Baldwin xorl %eax,%eax 1165bc3d5698SJohn Baldwin movb %dh,%al 1166bc3d5698SJohn Baldwin andl $255,%edx 1167bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1168bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1169bc3d5698SJohn Baldwin xorl %ebx,%ecx 1170bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1171bc3d5698SJohn Baldwin subl %ebx,%ecx 1172bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1173bc3d5698SJohn Baldwin addl %ebx,%ecx 1174bc3d5698SJohn Baldwin xorl %ecx,%edi 1175bc3d5698SJohn Baldwin 1176bc3d5698SJohn Baldwin movl 56(%ebp),%edx 1177bc3d5698SJohn Baldwin movl 60(%ebp),%ecx 1178bc3d5698SJohn Baldwin xorl %edi,%edx 1179bc3d5698SJohn Baldwin roll %cl,%edx 1180bc3d5698SJohn Baldwin xorl %ecx,%ecx 1181bc3d5698SJohn Baldwin movl $255,%ebx 1182bc3d5698SJohn Baldwin movb %dh,%cl 1183bc3d5698SJohn Baldwin andl %edx,%ebx 1184bc3d5698SJohn Baldwin shrl $16,%edx 1185bc3d5698SJohn Baldwin xorl %eax,%eax 1186bc3d5698SJohn Baldwin movb %dh,%al 1187bc3d5698SJohn Baldwin andl $255,%edx 1188bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1189bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1190bc3d5698SJohn Baldwin subl %ebx,%ecx 1191bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1192bc3d5698SJohn Baldwin addl %ebx,%ecx 1193bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1194bc3d5698SJohn Baldwin xorl %ebx,%ecx 1195bc3d5698SJohn Baldwin xorl %ecx,%esi 1196bc3d5698SJohn Baldwin 1197bc3d5698SJohn Baldwin movl 64(%ebp),%edx 1198bc3d5698SJohn Baldwin movl 68(%ebp),%ecx 1199bc3d5698SJohn Baldwin subl %esi,%edx 1200bc3d5698SJohn Baldwin roll %cl,%edx 1201bc3d5698SJohn Baldwin xorl %ecx,%ecx 1202bc3d5698SJohn Baldwin movl $255,%ebx 1203bc3d5698SJohn Baldwin movb %dh,%cl 1204bc3d5698SJohn Baldwin andl %edx,%ebx 1205bc3d5698SJohn Baldwin shrl $16,%edx 1206bc3d5698SJohn Baldwin xorl %eax,%eax 1207bc3d5698SJohn Baldwin movb %dh,%al 1208bc3d5698SJohn Baldwin andl $255,%edx 1209bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1210bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1211bc3d5698SJohn Baldwin addl %ebx,%ecx 1212bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1213bc3d5698SJohn Baldwin xorl %ebx,%ecx 1214bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1215bc3d5698SJohn Baldwin subl %ebx,%ecx 1216bc3d5698SJohn Baldwin xorl %ecx,%edi 1217bc3d5698SJohn Baldwin 1218bc3d5698SJohn Baldwin movl 72(%ebp),%edx 1219bc3d5698SJohn Baldwin movl 76(%ebp),%ecx 1220bc3d5698SJohn Baldwin addl %edi,%edx 1221bc3d5698SJohn Baldwin roll %cl,%edx 1222bc3d5698SJohn Baldwin xorl %ecx,%ecx 1223bc3d5698SJohn Baldwin movl $255,%ebx 1224bc3d5698SJohn Baldwin movb %dh,%cl 1225bc3d5698SJohn Baldwin andl %edx,%ebx 1226bc3d5698SJohn Baldwin shrl $16,%edx 1227bc3d5698SJohn Baldwin xorl %eax,%eax 1228bc3d5698SJohn Baldwin movb %dh,%al 1229bc3d5698SJohn Baldwin andl $255,%edx 1230bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1231bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1232bc3d5698SJohn Baldwin xorl %ebx,%ecx 1233bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1234bc3d5698SJohn Baldwin subl %ebx,%ecx 1235bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1236bc3d5698SJohn Baldwin addl %ebx,%ecx 1237bc3d5698SJohn Baldwin xorl %ecx,%esi 1238bc3d5698SJohn Baldwin 1239bc3d5698SJohn Baldwin movl 80(%ebp),%edx 1240bc3d5698SJohn Baldwin movl 84(%ebp),%ecx 1241bc3d5698SJohn Baldwin xorl %esi,%edx 1242bc3d5698SJohn Baldwin roll %cl,%edx 1243bc3d5698SJohn Baldwin xorl %ecx,%ecx 1244bc3d5698SJohn Baldwin movl $255,%ebx 1245bc3d5698SJohn Baldwin movb %dh,%cl 1246bc3d5698SJohn Baldwin andl %edx,%ebx 1247bc3d5698SJohn Baldwin shrl $16,%edx 1248bc3d5698SJohn Baldwin xorl %eax,%eax 1249bc3d5698SJohn Baldwin movb %dh,%al 1250bc3d5698SJohn Baldwin andl $255,%edx 1251bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1252bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1253bc3d5698SJohn Baldwin subl %ebx,%ecx 1254bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1255bc3d5698SJohn Baldwin addl %ebx,%ecx 1256bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1257bc3d5698SJohn Baldwin xorl %ebx,%ecx 1258bc3d5698SJohn Baldwin xorl %ecx,%edi 1259bc3d5698SJohn Baldwin 1260bc3d5698SJohn Baldwin movl 88(%ebp),%edx 1261bc3d5698SJohn Baldwin movl 92(%ebp),%ecx 1262bc3d5698SJohn Baldwin subl %edi,%edx 1263bc3d5698SJohn Baldwin roll %cl,%edx 1264bc3d5698SJohn Baldwin xorl %ecx,%ecx 1265bc3d5698SJohn Baldwin movl $255,%ebx 1266bc3d5698SJohn Baldwin movb %dh,%cl 1267bc3d5698SJohn Baldwin andl %edx,%ebx 1268bc3d5698SJohn Baldwin shrl $16,%edx 1269bc3d5698SJohn Baldwin xorl %eax,%eax 1270bc3d5698SJohn Baldwin movb %dh,%al 1271bc3d5698SJohn Baldwin andl $255,%edx 1272bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1273bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1274bc3d5698SJohn Baldwin addl %ebx,%ecx 1275bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1276bc3d5698SJohn Baldwin xorl %ebx,%ecx 1277bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1278bc3d5698SJohn Baldwin subl %ebx,%ecx 1279bc3d5698SJohn Baldwin xorl %ecx,%esi 1280bc3d5698SJohn Baldwin 1281bc3d5698SJohn Baldwin popl %edx 1282bc3d5698SJohn Baldwin orl %edx,%edx 1283bc3d5698SJohn Baldwin jnz .L000cast_enc_done 1284bc3d5698SJohn Baldwin 1285bc3d5698SJohn Baldwin movl 96(%ebp),%edx 1286bc3d5698SJohn Baldwin movl 100(%ebp),%ecx 1287bc3d5698SJohn Baldwin addl %esi,%edx 1288bc3d5698SJohn Baldwin roll %cl,%edx 1289bc3d5698SJohn Baldwin xorl %ecx,%ecx 1290bc3d5698SJohn Baldwin movl $255,%ebx 1291bc3d5698SJohn Baldwin movb %dh,%cl 1292bc3d5698SJohn Baldwin andl %edx,%ebx 1293bc3d5698SJohn Baldwin shrl $16,%edx 1294bc3d5698SJohn Baldwin xorl %eax,%eax 1295bc3d5698SJohn Baldwin movb %dh,%al 1296bc3d5698SJohn Baldwin andl $255,%edx 1297bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1298bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1299bc3d5698SJohn Baldwin xorl %ebx,%ecx 1300bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1301bc3d5698SJohn Baldwin subl %ebx,%ecx 1302bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1303bc3d5698SJohn Baldwin addl %ebx,%ecx 1304bc3d5698SJohn Baldwin xorl %ecx,%edi 1305bc3d5698SJohn Baldwin 1306bc3d5698SJohn Baldwin movl 104(%ebp),%edx 1307bc3d5698SJohn Baldwin movl 108(%ebp),%ecx 1308bc3d5698SJohn Baldwin xorl %edi,%edx 1309bc3d5698SJohn Baldwin roll %cl,%edx 1310bc3d5698SJohn Baldwin xorl %ecx,%ecx 1311bc3d5698SJohn Baldwin movl $255,%ebx 1312bc3d5698SJohn Baldwin movb %dh,%cl 1313bc3d5698SJohn Baldwin andl %edx,%ebx 1314bc3d5698SJohn Baldwin shrl $16,%edx 1315bc3d5698SJohn Baldwin xorl %eax,%eax 1316bc3d5698SJohn Baldwin movb %dh,%al 1317bc3d5698SJohn Baldwin andl $255,%edx 1318bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1319bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1320bc3d5698SJohn Baldwin subl %ebx,%ecx 1321bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1322bc3d5698SJohn Baldwin addl %ebx,%ecx 1323bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1324bc3d5698SJohn Baldwin xorl %ebx,%ecx 1325bc3d5698SJohn Baldwin xorl %ecx,%esi 1326bc3d5698SJohn Baldwin 1327bc3d5698SJohn Baldwin movl 112(%ebp),%edx 1328bc3d5698SJohn Baldwin movl 116(%ebp),%ecx 1329bc3d5698SJohn Baldwin subl %esi,%edx 1330bc3d5698SJohn Baldwin roll %cl,%edx 1331bc3d5698SJohn Baldwin xorl %ecx,%ecx 1332bc3d5698SJohn Baldwin movl $255,%ebx 1333bc3d5698SJohn Baldwin movb %dh,%cl 1334bc3d5698SJohn Baldwin andl %edx,%ebx 1335bc3d5698SJohn Baldwin shrl $16,%edx 1336bc3d5698SJohn Baldwin xorl %eax,%eax 1337bc3d5698SJohn Baldwin movb %dh,%al 1338bc3d5698SJohn Baldwin andl $255,%edx 1339bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1340bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1341bc3d5698SJohn Baldwin addl %ebx,%ecx 1342bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1343bc3d5698SJohn Baldwin xorl %ebx,%ecx 1344bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1345bc3d5698SJohn Baldwin subl %ebx,%ecx 1346bc3d5698SJohn Baldwin xorl %ecx,%edi 1347bc3d5698SJohn Baldwin 1348bc3d5698SJohn Baldwin movl 120(%ebp),%edx 1349bc3d5698SJohn Baldwin movl 124(%ebp),%ecx 1350bc3d5698SJohn Baldwin addl %edi,%edx 1351bc3d5698SJohn Baldwin roll %cl,%edx 1352bc3d5698SJohn Baldwin xorl %ecx,%ecx 1353bc3d5698SJohn Baldwin movl $255,%ebx 1354bc3d5698SJohn Baldwin movb %dh,%cl 1355bc3d5698SJohn Baldwin andl %edx,%ebx 1356bc3d5698SJohn Baldwin shrl $16,%edx 1357bc3d5698SJohn Baldwin xorl %eax,%eax 1358bc3d5698SJohn Baldwin movb %dh,%al 1359bc3d5698SJohn Baldwin andl $255,%edx 1360bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1361bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1362bc3d5698SJohn Baldwin xorl %ebx,%ecx 1363bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1364bc3d5698SJohn Baldwin subl %ebx,%ecx 1365bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1366bc3d5698SJohn Baldwin addl %ebx,%ecx 1367bc3d5698SJohn Baldwin xorl %ecx,%esi 1368bc3d5698SJohn Baldwin.L000cast_enc_done: 1369bc3d5698SJohn Baldwin nop 1370bc3d5698SJohn Baldwin movl 20(%esp),%eax 1371bc3d5698SJohn Baldwin movl %edi,4(%eax) 1372bc3d5698SJohn Baldwin movl %esi,(%eax) 1373bc3d5698SJohn Baldwin popl %edi 1374bc3d5698SJohn Baldwin popl %esi 1375bc3d5698SJohn Baldwin popl %ebx 1376bc3d5698SJohn Baldwin popl %ebp 1377bc3d5698SJohn Baldwin ret 1378bc3d5698SJohn Baldwin.size CAST_encrypt,.-.L_CAST_encrypt_begin 1379bc3d5698SJohn Baldwin.globl CAST_decrypt 1380bc3d5698SJohn Baldwin.type CAST_decrypt,@function 1381bc3d5698SJohn Baldwin.align 16 1382bc3d5698SJohn BaldwinCAST_decrypt: 1383bc3d5698SJohn Baldwin.L_CAST_decrypt_begin: 1384*c0855eaaSJohn Baldwin #ifdef __CET__ 1385*c0855eaaSJohn Baldwin 1386*c0855eaaSJohn Baldwin.byte 243,15,30,251 1387*c0855eaaSJohn Baldwin #endif 1388*c0855eaaSJohn Baldwin 1389bc3d5698SJohn Baldwin 1390bc3d5698SJohn Baldwin pushl %ebp 1391bc3d5698SJohn Baldwin pushl %ebx 1392bc3d5698SJohn Baldwin movl 12(%esp),%ebx 1393bc3d5698SJohn Baldwin movl 16(%esp),%ebp 1394bc3d5698SJohn Baldwin pushl %esi 1395bc3d5698SJohn Baldwin pushl %edi 1396bc3d5698SJohn Baldwin 1397bc3d5698SJohn Baldwin movl (%ebx),%edi 1398bc3d5698SJohn Baldwin movl 4(%ebx),%esi 1399bc3d5698SJohn Baldwin 1400bc3d5698SJohn Baldwin movl 128(%ebp),%eax 1401bc3d5698SJohn Baldwin orl %eax,%eax 1402bc3d5698SJohn Baldwin jnz .L001cast_dec_skip 1403bc3d5698SJohn Baldwin xorl %eax,%eax 1404bc3d5698SJohn Baldwin 1405bc3d5698SJohn Baldwin movl 120(%ebp),%edx 1406bc3d5698SJohn Baldwin movl 124(%ebp),%ecx 1407bc3d5698SJohn Baldwin addl %esi,%edx 1408bc3d5698SJohn Baldwin roll %cl,%edx 1409bc3d5698SJohn Baldwin xorl %ecx,%ecx 1410bc3d5698SJohn Baldwin movl $255,%ebx 1411bc3d5698SJohn Baldwin movb %dh,%cl 1412bc3d5698SJohn Baldwin andl %edx,%ebx 1413bc3d5698SJohn Baldwin shrl $16,%edx 1414bc3d5698SJohn Baldwin xorl %eax,%eax 1415bc3d5698SJohn Baldwin movb %dh,%al 1416bc3d5698SJohn Baldwin andl $255,%edx 1417bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1418bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1419bc3d5698SJohn Baldwin xorl %ebx,%ecx 1420bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1421bc3d5698SJohn Baldwin subl %ebx,%ecx 1422bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1423bc3d5698SJohn Baldwin addl %ebx,%ecx 1424bc3d5698SJohn Baldwin xorl %ecx,%edi 1425bc3d5698SJohn Baldwin 1426bc3d5698SJohn Baldwin movl 112(%ebp),%edx 1427bc3d5698SJohn Baldwin movl 116(%ebp),%ecx 1428bc3d5698SJohn Baldwin subl %edi,%edx 1429bc3d5698SJohn Baldwin roll %cl,%edx 1430bc3d5698SJohn Baldwin xorl %ecx,%ecx 1431bc3d5698SJohn Baldwin movl $255,%ebx 1432bc3d5698SJohn Baldwin movb %dh,%cl 1433bc3d5698SJohn Baldwin andl %edx,%ebx 1434bc3d5698SJohn Baldwin shrl $16,%edx 1435bc3d5698SJohn Baldwin xorl %eax,%eax 1436bc3d5698SJohn Baldwin movb %dh,%al 1437bc3d5698SJohn Baldwin andl $255,%edx 1438bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1439bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1440bc3d5698SJohn Baldwin addl %ebx,%ecx 1441bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1442bc3d5698SJohn Baldwin xorl %ebx,%ecx 1443bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1444bc3d5698SJohn Baldwin subl %ebx,%ecx 1445bc3d5698SJohn Baldwin xorl %ecx,%esi 1446bc3d5698SJohn Baldwin 1447bc3d5698SJohn Baldwin movl 104(%ebp),%edx 1448bc3d5698SJohn Baldwin movl 108(%ebp),%ecx 1449bc3d5698SJohn Baldwin xorl %esi,%edx 1450bc3d5698SJohn Baldwin roll %cl,%edx 1451bc3d5698SJohn Baldwin xorl %ecx,%ecx 1452bc3d5698SJohn Baldwin movl $255,%ebx 1453bc3d5698SJohn Baldwin movb %dh,%cl 1454bc3d5698SJohn Baldwin andl %edx,%ebx 1455bc3d5698SJohn Baldwin shrl $16,%edx 1456bc3d5698SJohn Baldwin xorl %eax,%eax 1457bc3d5698SJohn Baldwin movb %dh,%al 1458bc3d5698SJohn Baldwin andl $255,%edx 1459bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1460bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1461bc3d5698SJohn Baldwin subl %ebx,%ecx 1462bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1463bc3d5698SJohn Baldwin addl %ebx,%ecx 1464bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1465bc3d5698SJohn Baldwin xorl %ebx,%ecx 1466bc3d5698SJohn Baldwin xorl %ecx,%edi 1467bc3d5698SJohn Baldwin 1468bc3d5698SJohn Baldwin movl 96(%ebp),%edx 1469bc3d5698SJohn Baldwin movl 100(%ebp),%ecx 1470bc3d5698SJohn Baldwin addl %edi,%edx 1471bc3d5698SJohn Baldwin roll %cl,%edx 1472bc3d5698SJohn Baldwin xorl %ecx,%ecx 1473bc3d5698SJohn Baldwin movl $255,%ebx 1474bc3d5698SJohn Baldwin movb %dh,%cl 1475bc3d5698SJohn Baldwin andl %edx,%ebx 1476bc3d5698SJohn Baldwin shrl $16,%edx 1477bc3d5698SJohn Baldwin xorl %eax,%eax 1478bc3d5698SJohn Baldwin movb %dh,%al 1479bc3d5698SJohn Baldwin andl $255,%edx 1480bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1481bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1482bc3d5698SJohn Baldwin xorl %ebx,%ecx 1483bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1484bc3d5698SJohn Baldwin subl %ebx,%ecx 1485bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1486bc3d5698SJohn Baldwin addl %ebx,%ecx 1487bc3d5698SJohn Baldwin xorl %ecx,%esi 1488bc3d5698SJohn Baldwin.L001cast_dec_skip: 1489bc3d5698SJohn Baldwin 1490bc3d5698SJohn Baldwin movl 88(%ebp),%edx 1491bc3d5698SJohn Baldwin movl 92(%ebp),%ecx 1492bc3d5698SJohn Baldwin subl %esi,%edx 1493bc3d5698SJohn Baldwin roll %cl,%edx 1494bc3d5698SJohn Baldwin xorl %ecx,%ecx 1495bc3d5698SJohn Baldwin movl $255,%ebx 1496bc3d5698SJohn Baldwin movb %dh,%cl 1497bc3d5698SJohn Baldwin andl %edx,%ebx 1498bc3d5698SJohn Baldwin shrl $16,%edx 1499bc3d5698SJohn Baldwin xorl %eax,%eax 1500bc3d5698SJohn Baldwin movb %dh,%al 1501bc3d5698SJohn Baldwin andl $255,%edx 1502bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1503bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1504bc3d5698SJohn Baldwin addl %ebx,%ecx 1505bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1506bc3d5698SJohn Baldwin xorl %ebx,%ecx 1507bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1508bc3d5698SJohn Baldwin subl %ebx,%ecx 1509bc3d5698SJohn Baldwin xorl %ecx,%edi 1510bc3d5698SJohn Baldwin 1511bc3d5698SJohn Baldwin movl 80(%ebp),%edx 1512bc3d5698SJohn Baldwin movl 84(%ebp),%ecx 1513bc3d5698SJohn Baldwin xorl %edi,%edx 1514bc3d5698SJohn Baldwin roll %cl,%edx 1515bc3d5698SJohn Baldwin xorl %ecx,%ecx 1516bc3d5698SJohn Baldwin movl $255,%ebx 1517bc3d5698SJohn Baldwin movb %dh,%cl 1518bc3d5698SJohn Baldwin andl %edx,%ebx 1519bc3d5698SJohn Baldwin shrl $16,%edx 1520bc3d5698SJohn Baldwin xorl %eax,%eax 1521bc3d5698SJohn Baldwin movb %dh,%al 1522bc3d5698SJohn Baldwin andl $255,%edx 1523bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1524bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1525bc3d5698SJohn Baldwin subl %ebx,%ecx 1526bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1527bc3d5698SJohn Baldwin addl %ebx,%ecx 1528bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1529bc3d5698SJohn Baldwin xorl %ebx,%ecx 1530bc3d5698SJohn Baldwin xorl %ecx,%esi 1531bc3d5698SJohn Baldwin 1532bc3d5698SJohn Baldwin movl 72(%ebp),%edx 1533bc3d5698SJohn Baldwin movl 76(%ebp),%ecx 1534bc3d5698SJohn Baldwin addl %esi,%edx 1535bc3d5698SJohn Baldwin roll %cl,%edx 1536bc3d5698SJohn Baldwin xorl %ecx,%ecx 1537bc3d5698SJohn Baldwin movl $255,%ebx 1538bc3d5698SJohn Baldwin movb %dh,%cl 1539bc3d5698SJohn Baldwin andl %edx,%ebx 1540bc3d5698SJohn Baldwin shrl $16,%edx 1541bc3d5698SJohn Baldwin xorl %eax,%eax 1542bc3d5698SJohn Baldwin movb %dh,%al 1543bc3d5698SJohn Baldwin andl $255,%edx 1544bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1545bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1546bc3d5698SJohn Baldwin xorl %ebx,%ecx 1547bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1548bc3d5698SJohn Baldwin subl %ebx,%ecx 1549bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1550bc3d5698SJohn Baldwin addl %ebx,%ecx 1551bc3d5698SJohn Baldwin xorl %ecx,%edi 1552bc3d5698SJohn Baldwin 1553bc3d5698SJohn Baldwin movl 64(%ebp),%edx 1554bc3d5698SJohn Baldwin movl 68(%ebp),%ecx 1555bc3d5698SJohn Baldwin subl %edi,%edx 1556bc3d5698SJohn Baldwin roll %cl,%edx 1557bc3d5698SJohn Baldwin xorl %ecx,%ecx 1558bc3d5698SJohn Baldwin movl $255,%ebx 1559bc3d5698SJohn Baldwin movb %dh,%cl 1560bc3d5698SJohn Baldwin andl %edx,%ebx 1561bc3d5698SJohn Baldwin shrl $16,%edx 1562bc3d5698SJohn Baldwin xorl %eax,%eax 1563bc3d5698SJohn Baldwin movb %dh,%al 1564bc3d5698SJohn Baldwin andl $255,%edx 1565bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1566bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1567bc3d5698SJohn Baldwin addl %ebx,%ecx 1568bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1569bc3d5698SJohn Baldwin xorl %ebx,%ecx 1570bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1571bc3d5698SJohn Baldwin subl %ebx,%ecx 1572bc3d5698SJohn Baldwin xorl %ecx,%esi 1573bc3d5698SJohn Baldwin 1574bc3d5698SJohn Baldwin movl 56(%ebp),%edx 1575bc3d5698SJohn Baldwin movl 60(%ebp),%ecx 1576bc3d5698SJohn Baldwin xorl %esi,%edx 1577bc3d5698SJohn Baldwin roll %cl,%edx 1578bc3d5698SJohn Baldwin xorl %ecx,%ecx 1579bc3d5698SJohn Baldwin movl $255,%ebx 1580bc3d5698SJohn Baldwin movb %dh,%cl 1581bc3d5698SJohn Baldwin andl %edx,%ebx 1582bc3d5698SJohn Baldwin shrl $16,%edx 1583bc3d5698SJohn Baldwin xorl %eax,%eax 1584bc3d5698SJohn Baldwin movb %dh,%al 1585bc3d5698SJohn Baldwin andl $255,%edx 1586bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1587bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1588bc3d5698SJohn Baldwin subl %ebx,%ecx 1589bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1590bc3d5698SJohn Baldwin addl %ebx,%ecx 1591bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1592bc3d5698SJohn Baldwin xorl %ebx,%ecx 1593bc3d5698SJohn Baldwin xorl %ecx,%edi 1594bc3d5698SJohn Baldwin 1595bc3d5698SJohn Baldwin movl 48(%ebp),%edx 1596bc3d5698SJohn Baldwin movl 52(%ebp),%ecx 1597bc3d5698SJohn Baldwin addl %edi,%edx 1598bc3d5698SJohn Baldwin roll %cl,%edx 1599bc3d5698SJohn Baldwin xorl %ecx,%ecx 1600bc3d5698SJohn Baldwin movl $255,%ebx 1601bc3d5698SJohn Baldwin movb %dh,%cl 1602bc3d5698SJohn Baldwin andl %edx,%ebx 1603bc3d5698SJohn Baldwin shrl $16,%edx 1604bc3d5698SJohn Baldwin xorl %eax,%eax 1605bc3d5698SJohn Baldwin movb %dh,%al 1606bc3d5698SJohn Baldwin andl $255,%edx 1607bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1608bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1609bc3d5698SJohn Baldwin xorl %ebx,%ecx 1610bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1611bc3d5698SJohn Baldwin subl %ebx,%ecx 1612bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1613bc3d5698SJohn Baldwin addl %ebx,%ecx 1614bc3d5698SJohn Baldwin xorl %ecx,%esi 1615bc3d5698SJohn Baldwin 1616bc3d5698SJohn Baldwin movl 40(%ebp),%edx 1617bc3d5698SJohn Baldwin movl 44(%ebp),%ecx 1618bc3d5698SJohn Baldwin subl %esi,%edx 1619bc3d5698SJohn Baldwin roll %cl,%edx 1620bc3d5698SJohn Baldwin xorl %ecx,%ecx 1621bc3d5698SJohn Baldwin movl $255,%ebx 1622bc3d5698SJohn Baldwin movb %dh,%cl 1623bc3d5698SJohn Baldwin andl %edx,%ebx 1624bc3d5698SJohn Baldwin shrl $16,%edx 1625bc3d5698SJohn Baldwin xorl %eax,%eax 1626bc3d5698SJohn Baldwin movb %dh,%al 1627bc3d5698SJohn Baldwin andl $255,%edx 1628bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1629bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1630bc3d5698SJohn Baldwin addl %ebx,%ecx 1631bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1632bc3d5698SJohn Baldwin xorl %ebx,%ecx 1633bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1634bc3d5698SJohn Baldwin subl %ebx,%ecx 1635bc3d5698SJohn Baldwin xorl %ecx,%edi 1636bc3d5698SJohn Baldwin 1637bc3d5698SJohn Baldwin movl 32(%ebp),%edx 1638bc3d5698SJohn Baldwin movl 36(%ebp),%ecx 1639bc3d5698SJohn Baldwin xorl %edi,%edx 1640bc3d5698SJohn Baldwin roll %cl,%edx 1641bc3d5698SJohn Baldwin xorl %ecx,%ecx 1642bc3d5698SJohn Baldwin movl $255,%ebx 1643bc3d5698SJohn Baldwin movb %dh,%cl 1644bc3d5698SJohn Baldwin andl %edx,%ebx 1645bc3d5698SJohn Baldwin shrl $16,%edx 1646bc3d5698SJohn Baldwin xorl %eax,%eax 1647bc3d5698SJohn Baldwin movb %dh,%al 1648bc3d5698SJohn Baldwin andl $255,%edx 1649bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1650bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1651bc3d5698SJohn Baldwin subl %ebx,%ecx 1652bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1653bc3d5698SJohn Baldwin addl %ebx,%ecx 1654bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1655bc3d5698SJohn Baldwin xorl %ebx,%ecx 1656bc3d5698SJohn Baldwin xorl %ecx,%esi 1657bc3d5698SJohn Baldwin 1658bc3d5698SJohn Baldwin movl 24(%ebp),%edx 1659bc3d5698SJohn Baldwin movl 28(%ebp),%ecx 1660bc3d5698SJohn Baldwin addl %esi,%edx 1661bc3d5698SJohn Baldwin roll %cl,%edx 1662bc3d5698SJohn Baldwin xorl %ecx,%ecx 1663bc3d5698SJohn Baldwin movl $255,%ebx 1664bc3d5698SJohn Baldwin movb %dh,%cl 1665bc3d5698SJohn Baldwin andl %edx,%ebx 1666bc3d5698SJohn Baldwin shrl $16,%edx 1667bc3d5698SJohn Baldwin xorl %eax,%eax 1668bc3d5698SJohn Baldwin movb %dh,%al 1669bc3d5698SJohn Baldwin andl $255,%edx 1670bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1671bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1672bc3d5698SJohn Baldwin xorl %ebx,%ecx 1673bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1674bc3d5698SJohn Baldwin subl %ebx,%ecx 1675bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1676bc3d5698SJohn Baldwin addl %ebx,%ecx 1677bc3d5698SJohn Baldwin xorl %ecx,%edi 1678bc3d5698SJohn Baldwin 1679bc3d5698SJohn Baldwin movl 16(%ebp),%edx 1680bc3d5698SJohn Baldwin movl 20(%ebp),%ecx 1681bc3d5698SJohn Baldwin subl %edi,%edx 1682bc3d5698SJohn Baldwin roll %cl,%edx 1683bc3d5698SJohn Baldwin xorl %ecx,%ecx 1684bc3d5698SJohn Baldwin movl $255,%ebx 1685bc3d5698SJohn Baldwin movb %dh,%cl 1686bc3d5698SJohn Baldwin andl %edx,%ebx 1687bc3d5698SJohn Baldwin shrl $16,%edx 1688bc3d5698SJohn Baldwin xorl %eax,%eax 1689bc3d5698SJohn Baldwin movb %dh,%al 1690bc3d5698SJohn Baldwin andl $255,%edx 1691bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1692bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1693bc3d5698SJohn Baldwin addl %ebx,%ecx 1694bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1695bc3d5698SJohn Baldwin xorl %ebx,%ecx 1696bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1697bc3d5698SJohn Baldwin subl %ebx,%ecx 1698bc3d5698SJohn Baldwin xorl %ecx,%esi 1699bc3d5698SJohn Baldwin 1700bc3d5698SJohn Baldwin movl 8(%ebp),%edx 1701bc3d5698SJohn Baldwin movl 12(%ebp),%ecx 1702bc3d5698SJohn Baldwin xorl %esi,%edx 1703bc3d5698SJohn Baldwin roll %cl,%edx 1704bc3d5698SJohn Baldwin xorl %ecx,%ecx 1705bc3d5698SJohn Baldwin movl $255,%ebx 1706bc3d5698SJohn Baldwin movb %dh,%cl 1707bc3d5698SJohn Baldwin andl %edx,%ebx 1708bc3d5698SJohn Baldwin shrl $16,%edx 1709bc3d5698SJohn Baldwin xorl %eax,%eax 1710bc3d5698SJohn Baldwin movb %dh,%al 1711bc3d5698SJohn Baldwin andl $255,%edx 1712bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1713bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1714bc3d5698SJohn Baldwin subl %ebx,%ecx 1715bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1716bc3d5698SJohn Baldwin addl %ebx,%ecx 1717bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1718bc3d5698SJohn Baldwin xorl %ebx,%ecx 1719bc3d5698SJohn Baldwin xorl %ecx,%edi 1720bc3d5698SJohn Baldwin 1721bc3d5698SJohn Baldwin movl (%ebp),%edx 1722bc3d5698SJohn Baldwin movl 4(%ebp),%ecx 1723bc3d5698SJohn Baldwin addl %edi,%edx 1724bc3d5698SJohn Baldwin roll %cl,%edx 1725bc3d5698SJohn Baldwin xorl %ecx,%ecx 1726bc3d5698SJohn Baldwin movl $255,%ebx 1727bc3d5698SJohn Baldwin movb %dh,%cl 1728bc3d5698SJohn Baldwin andl %edx,%ebx 1729bc3d5698SJohn Baldwin shrl $16,%edx 1730bc3d5698SJohn Baldwin xorl %eax,%eax 1731bc3d5698SJohn Baldwin movb %dh,%al 1732bc3d5698SJohn Baldwin andl $255,%edx 1733bc3d5698SJohn Baldwin movl CAST_S_table0(,%ecx,4),%ecx 1734bc3d5698SJohn Baldwin movl CAST_S_table1(,%ebx,4),%ebx 1735bc3d5698SJohn Baldwin xorl %ebx,%ecx 1736bc3d5698SJohn Baldwin movl CAST_S_table2(,%eax,4),%ebx 1737bc3d5698SJohn Baldwin subl %ebx,%ecx 1738bc3d5698SJohn Baldwin movl CAST_S_table3(,%edx,4),%ebx 1739bc3d5698SJohn Baldwin addl %ebx,%ecx 1740bc3d5698SJohn Baldwin xorl %ecx,%esi 1741bc3d5698SJohn Baldwin nop 1742bc3d5698SJohn Baldwin movl 20(%esp),%eax 1743bc3d5698SJohn Baldwin movl %edi,4(%eax) 1744bc3d5698SJohn Baldwin movl %esi,(%eax) 1745bc3d5698SJohn Baldwin popl %edi 1746bc3d5698SJohn Baldwin popl %esi 1747bc3d5698SJohn Baldwin popl %ebx 1748bc3d5698SJohn Baldwin popl %ebp 1749bc3d5698SJohn Baldwin ret 1750bc3d5698SJohn Baldwin.size CAST_decrypt,.-.L_CAST_decrypt_begin 1751bc3d5698SJohn Baldwin.globl CAST_cbc_encrypt 1752bc3d5698SJohn Baldwin.type CAST_cbc_encrypt,@function 1753bc3d5698SJohn Baldwin.align 16 1754bc3d5698SJohn BaldwinCAST_cbc_encrypt: 1755bc3d5698SJohn Baldwin.L_CAST_cbc_encrypt_begin: 1756*c0855eaaSJohn Baldwin #ifdef __CET__ 1757*c0855eaaSJohn Baldwin 1758*c0855eaaSJohn Baldwin.byte 243,15,30,251 1759*c0855eaaSJohn Baldwin #endif 1760*c0855eaaSJohn Baldwin 1761bc3d5698SJohn Baldwin 1762bc3d5698SJohn Baldwin pushl %ebp 1763bc3d5698SJohn Baldwin pushl %ebx 1764bc3d5698SJohn Baldwin pushl %esi 1765bc3d5698SJohn Baldwin pushl %edi 1766bc3d5698SJohn Baldwin movl 28(%esp),%ebp 1767bc3d5698SJohn Baldwin 1768bc3d5698SJohn Baldwin movl 36(%esp),%ebx 1769bc3d5698SJohn Baldwin movl (%ebx),%esi 1770bc3d5698SJohn Baldwin movl 4(%ebx),%edi 1771bc3d5698SJohn Baldwin pushl %edi 1772bc3d5698SJohn Baldwin pushl %esi 1773bc3d5698SJohn Baldwin pushl %edi 1774bc3d5698SJohn Baldwin pushl %esi 1775bc3d5698SJohn Baldwin movl %esp,%ebx 1776bc3d5698SJohn Baldwin movl 36(%esp),%esi 1777bc3d5698SJohn Baldwin movl 40(%esp),%edi 1778bc3d5698SJohn Baldwin 1779bc3d5698SJohn Baldwin movl 56(%esp),%ecx 1780bc3d5698SJohn Baldwin 1781bc3d5698SJohn Baldwin movl 48(%esp),%eax 1782bc3d5698SJohn Baldwin pushl %eax 1783bc3d5698SJohn Baldwin pushl %ebx 1784bc3d5698SJohn Baldwin cmpl $0,%ecx 1785bc3d5698SJohn Baldwin jz .L002decrypt 1786bc3d5698SJohn Baldwin andl $4294967288,%ebp 1787bc3d5698SJohn Baldwin movl 8(%esp),%eax 1788bc3d5698SJohn Baldwin movl 12(%esp),%ebx 1789bc3d5698SJohn Baldwin jz .L003encrypt_finish 1790bc3d5698SJohn Baldwin.L004encrypt_loop: 1791bc3d5698SJohn Baldwin movl (%esi),%ecx 1792bc3d5698SJohn Baldwin movl 4(%esi),%edx 1793bc3d5698SJohn Baldwin xorl %ecx,%eax 1794bc3d5698SJohn Baldwin xorl %edx,%ebx 1795bc3d5698SJohn Baldwin bswap %eax 1796bc3d5698SJohn Baldwin bswap %ebx 1797bc3d5698SJohn Baldwin movl %eax,8(%esp) 1798bc3d5698SJohn Baldwin movl %ebx,12(%esp) 1799bc3d5698SJohn Baldwin call .L_CAST_encrypt_begin 1800bc3d5698SJohn Baldwin movl 8(%esp),%eax 1801bc3d5698SJohn Baldwin movl 12(%esp),%ebx 1802bc3d5698SJohn Baldwin bswap %eax 1803bc3d5698SJohn Baldwin bswap %ebx 1804bc3d5698SJohn Baldwin movl %eax,(%edi) 1805bc3d5698SJohn Baldwin movl %ebx,4(%edi) 1806bc3d5698SJohn Baldwin addl $8,%esi 1807bc3d5698SJohn Baldwin addl $8,%edi 1808bc3d5698SJohn Baldwin subl $8,%ebp 1809bc3d5698SJohn Baldwin jnz .L004encrypt_loop 1810bc3d5698SJohn Baldwin.L003encrypt_finish: 1811bc3d5698SJohn Baldwin movl 52(%esp),%ebp 1812bc3d5698SJohn Baldwin andl $7,%ebp 1813bc3d5698SJohn Baldwin jz .L005finish 1814bc3d5698SJohn Baldwin call .L006PIC_point 1815bc3d5698SJohn Baldwin.L006PIC_point: 1816bc3d5698SJohn Baldwin popl %edx 1817bc3d5698SJohn Baldwin leal .L007cbc_enc_jmp_table-.L006PIC_point(%edx),%ecx 1818bc3d5698SJohn Baldwin movl (%ecx,%ebp,4),%ebp 1819bc3d5698SJohn Baldwin addl %edx,%ebp 1820bc3d5698SJohn Baldwin xorl %ecx,%ecx 1821bc3d5698SJohn Baldwin xorl %edx,%edx 1822bc3d5698SJohn Baldwin jmp *%ebp 1823bc3d5698SJohn Baldwin.L008ej7: 1824*c0855eaaSJohn Baldwin #ifdef __CET__ 1825*c0855eaaSJohn Baldwin 1826*c0855eaaSJohn Baldwin.byte 243,15,30,251 1827*c0855eaaSJohn Baldwin #endif 1828*c0855eaaSJohn Baldwin 1829bc3d5698SJohn Baldwin movb 6(%esi),%dh 1830bc3d5698SJohn Baldwin shll $8,%edx 1831bc3d5698SJohn Baldwin.L009ej6: 1832*c0855eaaSJohn Baldwin #ifdef __CET__ 1833*c0855eaaSJohn Baldwin 1834*c0855eaaSJohn Baldwin.byte 243,15,30,251 1835*c0855eaaSJohn Baldwin #endif 1836*c0855eaaSJohn Baldwin 1837bc3d5698SJohn Baldwin movb 5(%esi),%dh 1838bc3d5698SJohn Baldwin.L010ej5: 1839*c0855eaaSJohn Baldwin #ifdef __CET__ 1840*c0855eaaSJohn Baldwin 1841*c0855eaaSJohn Baldwin.byte 243,15,30,251 1842*c0855eaaSJohn Baldwin #endif 1843*c0855eaaSJohn Baldwin 1844bc3d5698SJohn Baldwin movb 4(%esi),%dl 1845bc3d5698SJohn Baldwin.L011ej4: 1846*c0855eaaSJohn Baldwin #ifdef __CET__ 1847*c0855eaaSJohn Baldwin 1848*c0855eaaSJohn Baldwin.byte 243,15,30,251 1849*c0855eaaSJohn Baldwin #endif 1850*c0855eaaSJohn Baldwin 1851bc3d5698SJohn Baldwin movl (%esi),%ecx 1852bc3d5698SJohn Baldwin jmp .L012ejend 1853bc3d5698SJohn Baldwin.L013ej3: 1854*c0855eaaSJohn Baldwin #ifdef __CET__ 1855*c0855eaaSJohn Baldwin 1856*c0855eaaSJohn Baldwin.byte 243,15,30,251 1857*c0855eaaSJohn Baldwin #endif 1858*c0855eaaSJohn Baldwin 1859bc3d5698SJohn Baldwin movb 2(%esi),%ch 1860bc3d5698SJohn Baldwin shll $8,%ecx 1861bc3d5698SJohn Baldwin.L014ej2: 1862*c0855eaaSJohn Baldwin #ifdef __CET__ 1863*c0855eaaSJohn Baldwin 1864*c0855eaaSJohn Baldwin.byte 243,15,30,251 1865*c0855eaaSJohn Baldwin #endif 1866*c0855eaaSJohn Baldwin 1867bc3d5698SJohn Baldwin movb 1(%esi),%ch 1868bc3d5698SJohn Baldwin.L015ej1: 1869*c0855eaaSJohn Baldwin #ifdef __CET__ 1870*c0855eaaSJohn Baldwin 1871*c0855eaaSJohn Baldwin.byte 243,15,30,251 1872*c0855eaaSJohn Baldwin #endif 1873*c0855eaaSJohn Baldwin 1874bc3d5698SJohn Baldwin movb (%esi),%cl 1875bc3d5698SJohn Baldwin.L012ejend: 1876bc3d5698SJohn Baldwin xorl %ecx,%eax 1877bc3d5698SJohn Baldwin xorl %edx,%ebx 1878bc3d5698SJohn Baldwin bswap %eax 1879bc3d5698SJohn Baldwin bswap %ebx 1880bc3d5698SJohn Baldwin movl %eax,8(%esp) 1881bc3d5698SJohn Baldwin movl %ebx,12(%esp) 1882bc3d5698SJohn Baldwin call .L_CAST_encrypt_begin 1883bc3d5698SJohn Baldwin movl 8(%esp),%eax 1884bc3d5698SJohn Baldwin movl 12(%esp),%ebx 1885bc3d5698SJohn Baldwin bswap %eax 1886bc3d5698SJohn Baldwin bswap %ebx 1887bc3d5698SJohn Baldwin movl %eax,(%edi) 1888bc3d5698SJohn Baldwin movl %ebx,4(%edi) 1889bc3d5698SJohn Baldwin jmp .L005finish 1890bc3d5698SJohn Baldwin.L002decrypt: 1891bc3d5698SJohn Baldwin andl $4294967288,%ebp 1892bc3d5698SJohn Baldwin movl 16(%esp),%eax 1893bc3d5698SJohn Baldwin movl 20(%esp),%ebx 1894bc3d5698SJohn Baldwin jz .L016decrypt_finish 1895bc3d5698SJohn Baldwin.L017decrypt_loop: 1896bc3d5698SJohn Baldwin movl (%esi),%eax 1897bc3d5698SJohn Baldwin movl 4(%esi),%ebx 1898bc3d5698SJohn Baldwin bswap %eax 1899bc3d5698SJohn Baldwin bswap %ebx 1900bc3d5698SJohn Baldwin movl %eax,8(%esp) 1901bc3d5698SJohn Baldwin movl %ebx,12(%esp) 1902bc3d5698SJohn Baldwin call .L_CAST_decrypt_begin 1903bc3d5698SJohn Baldwin movl 8(%esp),%eax 1904bc3d5698SJohn Baldwin movl 12(%esp),%ebx 1905bc3d5698SJohn Baldwin bswap %eax 1906bc3d5698SJohn Baldwin bswap %ebx 1907bc3d5698SJohn Baldwin movl 16(%esp),%ecx 1908bc3d5698SJohn Baldwin movl 20(%esp),%edx 1909bc3d5698SJohn Baldwin xorl %eax,%ecx 1910bc3d5698SJohn Baldwin xorl %ebx,%edx 1911bc3d5698SJohn Baldwin movl (%esi),%eax 1912bc3d5698SJohn Baldwin movl 4(%esi),%ebx 1913bc3d5698SJohn Baldwin movl %ecx,(%edi) 1914bc3d5698SJohn Baldwin movl %edx,4(%edi) 1915bc3d5698SJohn Baldwin movl %eax,16(%esp) 1916bc3d5698SJohn Baldwin movl %ebx,20(%esp) 1917bc3d5698SJohn Baldwin addl $8,%esi 1918bc3d5698SJohn Baldwin addl $8,%edi 1919bc3d5698SJohn Baldwin subl $8,%ebp 1920bc3d5698SJohn Baldwin jnz .L017decrypt_loop 1921bc3d5698SJohn Baldwin.L016decrypt_finish: 1922bc3d5698SJohn Baldwin movl 52(%esp),%ebp 1923bc3d5698SJohn Baldwin andl $7,%ebp 1924bc3d5698SJohn Baldwin jz .L005finish 1925bc3d5698SJohn Baldwin movl (%esi),%eax 1926bc3d5698SJohn Baldwin movl 4(%esi),%ebx 1927bc3d5698SJohn Baldwin bswap %eax 1928bc3d5698SJohn Baldwin bswap %ebx 1929bc3d5698SJohn Baldwin movl %eax,8(%esp) 1930bc3d5698SJohn Baldwin movl %ebx,12(%esp) 1931bc3d5698SJohn Baldwin call .L_CAST_decrypt_begin 1932bc3d5698SJohn Baldwin movl 8(%esp),%eax 1933bc3d5698SJohn Baldwin movl 12(%esp),%ebx 1934bc3d5698SJohn Baldwin bswap %eax 1935bc3d5698SJohn Baldwin bswap %ebx 1936bc3d5698SJohn Baldwin movl 16(%esp),%ecx 1937bc3d5698SJohn Baldwin movl 20(%esp),%edx 1938bc3d5698SJohn Baldwin xorl %eax,%ecx 1939bc3d5698SJohn Baldwin xorl %ebx,%edx 1940bc3d5698SJohn Baldwin movl (%esi),%eax 1941bc3d5698SJohn Baldwin movl 4(%esi),%ebx 1942bc3d5698SJohn Baldwin.L018dj7: 1943bc3d5698SJohn Baldwin rorl $16,%edx 1944bc3d5698SJohn Baldwin movb %dl,6(%edi) 1945bc3d5698SJohn Baldwin shrl $16,%edx 1946bc3d5698SJohn Baldwin.L019dj6: 1947bc3d5698SJohn Baldwin movb %dh,5(%edi) 1948bc3d5698SJohn Baldwin.L020dj5: 1949bc3d5698SJohn Baldwin movb %dl,4(%edi) 1950bc3d5698SJohn Baldwin.L021dj4: 1951bc3d5698SJohn Baldwin movl %ecx,(%edi) 1952bc3d5698SJohn Baldwin jmp .L022djend 1953bc3d5698SJohn Baldwin.L023dj3: 1954bc3d5698SJohn Baldwin rorl $16,%ecx 1955bc3d5698SJohn Baldwin movb %cl,2(%edi) 1956bc3d5698SJohn Baldwin shll $16,%ecx 1957bc3d5698SJohn Baldwin.L024dj2: 1958bc3d5698SJohn Baldwin movb %ch,1(%esi) 1959bc3d5698SJohn Baldwin.L025dj1: 1960bc3d5698SJohn Baldwin movb %cl,(%esi) 1961bc3d5698SJohn Baldwin.L022djend: 1962bc3d5698SJohn Baldwin jmp .L005finish 1963bc3d5698SJohn Baldwin.L005finish: 1964bc3d5698SJohn Baldwin movl 60(%esp),%ecx 1965bc3d5698SJohn Baldwin addl $24,%esp 1966bc3d5698SJohn Baldwin movl %eax,(%ecx) 1967bc3d5698SJohn Baldwin movl %ebx,4(%ecx) 1968bc3d5698SJohn Baldwin popl %edi 1969bc3d5698SJohn Baldwin popl %esi 1970bc3d5698SJohn Baldwin popl %ebx 1971bc3d5698SJohn Baldwin popl %ebp 1972bc3d5698SJohn Baldwin ret 1973bc3d5698SJohn Baldwin.align 64 1974bc3d5698SJohn Baldwin.L007cbc_enc_jmp_table: 1975bc3d5698SJohn Baldwin.long 0 1976bc3d5698SJohn Baldwin.long .L015ej1-.L006PIC_point 1977bc3d5698SJohn Baldwin.long .L014ej2-.L006PIC_point 1978bc3d5698SJohn Baldwin.long .L013ej3-.L006PIC_point 1979bc3d5698SJohn Baldwin.long .L011ej4-.L006PIC_point 1980bc3d5698SJohn Baldwin.long .L010ej5-.L006PIC_point 1981bc3d5698SJohn Baldwin.long .L009ej6-.L006PIC_point 1982bc3d5698SJohn Baldwin.long .L008ej7-.L006PIC_point 1983bc3d5698SJohn Baldwin.align 64 1984bc3d5698SJohn Baldwin.size CAST_cbc_encrypt,.-.L_CAST_cbc_encrypt_begin 1985*c0855eaaSJohn Baldwin 1986*c0855eaaSJohn Baldwin .section ".note.gnu.property", "a" 1987*c0855eaaSJohn Baldwin .p2align 2 1988*c0855eaaSJohn Baldwin .long 1f - 0f 1989*c0855eaaSJohn Baldwin .long 4f - 1f 1990*c0855eaaSJohn Baldwin .long 5 1991*c0855eaaSJohn Baldwin0: 1992*c0855eaaSJohn Baldwin .asciz "GNU" 1993*c0855eaaSJohn Baldwin1: 1994*c0855eaaSJohn Baldwin .p2align 2 1995*c0855eaaSJohn Baldwin .long 0xc0000002 1996*c0855eaaSJohn Baldwin .long 3f - 2f 1997*c0855eaaSJohn Baldwin2: 1998*c0855eaaSJohn Baldwin .long 3 1999*c0855eaaSJohn Baldwin3: 2000*c0855eaaSJohn Baldwin .p2align 2 2001*c0855eaaSJohn Baldwin4: 2002bc3d5698SJohn Baldwin#endif 2003