5 section .text code
align=64
15 mov r13d
,DWORD[240+r15
]
24 mov r10d
,DWORD[rsi
*8+r14
]
25 mov r11d
,DWORD[rdi
*8+r14
]
26 mov r12d
,DWORD[rbp
*8+r14
]
31 xor r10d
,DWORD[3+rsi
*8+r14
]
32 xor r11d
,DWORD[3+rdi
*8+r14
]
33 mov r8d
,DWORD[rbp
*8+r14
]
38 xor r12d
,DWORD[3+rsi
*8+r14
]
40 xor r8d
,DWORD[3+rbp
*8+r14
]
49 xor r10d
,DWORD[2+rsi
*8+r14
]
50 xor r11d
,DWORD[2+rdi
*8+r14
]
51 xor r12d
,DWORD[2+rbp
*8+r14
]
56 xor r10d
,DWORD[1+rsi
*8+r14
]
57 xor r11d
,DWORD[1+rdi
*8+r14
]
58 xor r8d
,DWORD[2+rbp
*8+r14
]
64 xor r12d
,DWORD[1+rdi
*8+r14
]
65 xor r8d
,DWORD[1+rbp
*8+r14
]
78 movzx r10d
,BYTE[2+rsi
*8+r14
]
79 movzx r11d
,BYTE[2+rdi
*8+r14
]
80 movzx r12d
,BYTE[2+rbp
*8+r14
]
85 movzx r8d
,BYTE[2+rsi
*8+r14
]
86 mov edi,DWORD[rdi
*8+r14
]
87 mov ebp,DWORD[rbp
*8+r14
]
99 mov esi,DWORD[rsi
*8+r14
]
100 mov edi,DWORD[rdi
*8+r14
]
112 mov esi,DWORD[rsi
*8+r14
]
113 mov edi,DWORD[rdi
*8+r14
]
114 mov ebp,DWORD[rbp
*8+r14
]
127 mov esi,DWORD[rsi
*8+r14
]
128 mov edi,DWORD[2+rdi
*8+r14
]
129 mov ebp,DWORD[2+rbp
*8+r14
]
141 mov edx,DWORD[((16+12))+r15
]
142 mov esi,DWORD[2+rsi
*8+r14
]
143 mov edi,DWORD[2+rdi
*8+r14
]
144 mov eax,DWORD[((16+0))+r15
]
152 mov ebx,DWORD[((16+4))+r15
]
153 mov ecx,DWORD[((16+8))+r15
]
162 _x86_64_AES_encrypt_compact:
164 mov edi,DWORD[((0-128))+r8
]
165 mov ebp,DWORD[((32-128))+r8
]
166 mov r10d
,DWORD[((64-128))+r8
]
167 mov r11d
,DWORD[((96-128))+r8
]
168 mov edi,DWORD[((128-128))+r8
]
169 mov ebp,DWORD[((160-128))+r8
]
170 mov r10d
,DWORD[((192-128))+r8
]
171 mov r11d
,DWORD[((224-128))+r8
]
172 jmp NEAR $L
$enc_loop_compact
178 xor edx,DWORD[12+r15
]
188 movzx r10d
,BYTE[r10
*1+r14
]
189 movzx r11d
,BYTE[r11
*1+r14
]
190 movzx r12d
,BYTE[r12
*1+r14
]
191 movzx r8d
,BYTE[r8
*1+r14
]
193 movzx r9d
,BYTE[rsi
*1+r14
]
195 movzx r13d
,BYTE[rdi
*1+r14
]
197 movzx ebp,BYTE[rbp
*1+r14
]
198 movzx esi,BYTE[rsi
*1+r14
]
210 movzx edi,BYTE[rdi
*1+r14
]
217 movzx r9d
,BYTE[r9
*1+r14
]
219 movzx r13d
,BYTE[r13
*1+r14
]
228 movzx ebp,BYTE[rbp
*1+r14
]
229 movzx esi,BYTE[rsi
*1+r14
]
230 movzx edi,BYTE[rdi
*1+r14
]
231 movzx edx,BYTE[rcx
*1+r14
]
232 movzx ecx,BYTE[rbx
*1+r14
]
247 cmp r15
,QWORD[16+rsp
]
248 je NEAR $L
$enc_compact_done
314 mov edi,DWORD[64+r14
]
316 mov r8d
,DWORD[128+r14
]
322 mov r9d
,DWORD[192+r14
]
324 jmp NEAR $L
$enc_loop_compact
330 xor edx,DWORD[12+r15
]
334 global asm_AES_encrypt
338 mov QWORD[8+rsp
],rdi
;WIN64 prologue
339 mov QWORD[16+rsp
],rsi
341 $L$
SEH_begin_asm_AES_encrypt:
356 lea rcx
,[((-63))+rdx
]
364 mov QWORD[16+rsp
],rsi
365 mov QWORD[24+rsp
],r10
369 mov r13d
,DWORD[240+r15
]
374 mov edx,DWORD[12+rdi
]
382 lea r14
,[(($L
$AES_Te
+2048))]
388 call _x86_64_AES_encrypt_compact
391 mov rsi
,QWORD[24+rsp
]
399 mov r13
,QWORD[16+rsi
]
400 mov r12
,QWORD[24+rsi
]
401 mov rbp
,QWORD[32+rsi
]
402 mov rbx
,QWORD[40+rsi
]
405 mov rdi
,QWORD[8+rsp
] ;WIN64 epilogue
406 mov rsi
,QWORD[16+rsp
]
408 $L$
SEH_end_asm_AES_encrypt:
415 xor edx,DWORD[12+r15
]
417 mov r13d
,DWORD[240+r15
]
426 mov r10d
,DWORD[rsi
*8+r14
]
427 mov r11d
,DWORD[rdi
*8+r14
]
428 mov r12d
,DWORD[rbp
*8+r14
]
433 xor r10d
,DWORD[3+rsi
*8+r14
]
434 xor r11d
,DWORD[3+rdi
*8+r14
]
435 mov r8d
,DWORD[rbp
*8+r14
]
440 xor r12d
,DWORD[3+rsi
*8+r14
]
442 xor r8d
,DWORD[3+rbp
*8+r14
]
451 xor r10d
,DWORD[2+rsi
*8+r14
]
452 xor r11d
,DWORD[2+rdi
*8+r14
]
453 xor r12d
,DWORD[2+rbp
*8+r14
]
458 xor r10d
,DWORD[1+rsi
*8+r14
]
459 xor r11d
,DWORD[1+rdi
*8+r14
]
460 xor r8d
,DWORD[2+rbp
*8+r14
]
463 mov edx,DWORD[12+r15
]
465 xor r12d
,DWORD[1+rsi
*8+r14
]
467 xor r8d
,DWORD[1+rbp
*8+r14
]
481 movzx r10d
,BYTE[rsi
*1+r14
]
482 movzx r11d
,BYTE[rdi
*1+r14
]
483 movzx r12d
,BYTE[rbp
*1+r14
]
488 movzx r8d
,BYTE[rsi
*1+r14
]
489 movzx edi,BYTE[rdi
*1+r14
]
490 movzx ebp,BYTE[rbp
*1+r14
]
502 movzx esi,BYTE[rsi
*1+r14
]
503 movzx edi,BYTE[rdi
*1+r14
]
515 movzx esi,BYTE[rsi
*1+r14
]
516 movzx edi,BYTE[rdi
*1+r14
]
517 movzx ebp,BYTE[rbp
*1+r14
]
530 movzx esi,BYTE[rsi
*1+r14
]
531 movzx edi,BYTE[rdi
*1+r14
]
532 movzx ebp,BYTE[rbp
*1+r14
]
544 mov edx,DWORD[((16+12))+r15
]
545 movzx esi,BYTE[rsi
*1+r14
]
546 movzx edi,BYTE[rdi
*1+r14
]
547 mov eax,DWORD[((16+0))+r15
]
555 mov ebx,DWORD[((16+4))+r15
]
556 mov ecx,DWORD[((16+8))+r15
]
557 lea r14
,[((-2048))+r14
]
566 _x86_64_AES_decrypt_compact:
568 mov edi,DWORD[((0-128))+r8
]
569 mov ebp,DWORD[((32-128))+r8
]
570 mov r10d
,DWORD[((64-128))+r8
]
571 mov r11d
,DWORD[((96-128))+r8
]
572 mov edi,DWORD[((128-128))+r8
]
573 mov ebp,DWORD[((160-128))+r8
]
574 mov r10d
,DWORD[((192-128))+r8
]
575 mov r11d
,DWORD[((224-128))+r8
]
576 jmp NEAR $L
$dec_loop_compact
583 xor edx,DWORD[12+r15
]
593 movzx r10d
,BYTE[r10
*1+r14
]
594 movzx r11d
,BYTE[r11
*1+r14
]
595 movzx r12d
,BYTE[r12
*1+r14
]
596 movzx r8d
,BYTE[r8
*1+r14
]
598 movzx r9d
,BYTE[rsi
*1+r14
]
600 movzx r13d
,BYTE[rdi
*1+r14
]
601 movzx ebp,BYTE[rbp
*1+r14
]
602 movzx esi,BYTE[rsi
*1+r14
]
617 movzx edi,BYTE[rdi
*1+r14
]
623 movzx r9d
,BYTE[r9
*1+r14
]
625 movzx ebp,BYTE[rbp
*1+r14
]
627 movzx r13d
,BYTE[r13
*1+r14
]
639 movzx esi,BYTE[rsi
*1+r14
]
640 movzx ebx,BYTE[rdi
*1+r14
]
641 movzx ecx,BYTE[rbp
*1+r14
]
642 movzx edx,BYTE[rax
*1+r14
]
653 cmp r15
,QWORD[16+rsp
]
654 je NEAR $L
$dec_compact_done
656 mov rsi
,QWORD[((256+0))+r14
]
659 mov rdi
,QWORD[((256+8))+r14
]
662 mov rbp
,QWORD[((256+16))+r14
]
769 mov rdi
,QWORD[64+r14
]
771 mov rbp
,QWORD[128+r14
]
773 mov r10
,QWORD[192+r14
]
777 mov r13
,QWORD[256+r14
]
780 jmp NEAR $L
$dec_loop_compact
786 xor edx,DWORD[12+r15
]
790 global asm_AES_decrypt
794 mov QWORD[8+rsp
],rdi
;WIN64 prologue
795 mov QWORD[16+rsp
],rsi
797 $L$
SEH_begin_asm_AES_decrypt:
812 lea rcx
,[((-63))+rdx
]
820 mov QWORD[16+rsp
],rsi
821 mov QWORD[24+rsp
],r10
825 mov r13d
,DWORD[240+r15
]
830 mov edx,DWORD[12+rdi
]
838 lea r14
,[(($L
$AES_Td
+2048))]
846 call _x86_64_AES_decrypt_compact
849 mov rsi
,QWORD[24+rsp
]
857 mov r13
,QWORD[16+rsi
]
858 mov r12
,QWORD[24+rsi
]
859 mov rbp
,QWORD[32+rsi
]
860 mov rbx
,QWORD[40+rsi
]
863 mov rdi
,QWORD[8+rsp
] ;WIN64 epilogue
864 mov rsi
,QWORD[16+rsp
]
866 $L$
SEH_end_asm_AES_decrypt:
868 global asm_AES_set_encrypt_key
870 asm_AES_set_encrypt_key:
871 mov QWORD[8+rsp
],rdi
;WIN64 prologue
872 mov QWORD[16+rsp
],rsi
874 $L$
SEH_begin_asm_AES_set_encrypt_key:
889 call _x86_64_AES_set_encrypt_key
891 mov rbp
,QWORD[40+rsp
]
892 mov rbx
,QWORD[48+rsp
]
895 mov rdi
,QWORD[8+rsp
] ;WIN64 epilogue
896 mov rsi
,QWORD[16+rsp
]
898 $L$
SEH_end_asm_AES_set_encrypt_key:
902 _x86_64_AES_set_encrypt_key:
908 jz NEAR $L
$badpointer
910 jz NEAR $L
$badpointer
913 lea rbp
,[((2048+128))+rbp
]
916 mov eax,DWORD[((0-128))+rbp
]
917 mov ebx,DWORD[((32-128))+rbp
]
918 mov r8d
,DWORD[((64-128))+rbp
]
919 mov edx,DWORD[((96-128))+rbp
]
920 mov eax,DWORD[((128-128))+rbp
]
921 mov ebx,DWORD[((160-128))+rbp
]
922 mov r8d
,DWORD[((192-128))+rbp
]
923 mov edx,DWORD[((224-128))+rbp
]
942 jmp NEAR $L
$10shortcut
946 mov edx,DWORD[12+rdi
]
949 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
954 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
959 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
964 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
968 xor eax,DWORD[((1024-128))+rcx
*4+rbp
]
969 mov DWORD[16+rdi
],eax
971 mov DWORD[20+rdi
],eax
973 mov DWORD[24+rdi
],eax
974 xor eax,DWORD[12+rdi
]
975 mov DWORD[28+rdi
],eax
988 mov rdx
,QWORD[16+rsi
]
991 mov QWORD[16+rdi
],rdx
995 jmp NEAR $L
$12shortcut
999 mov edx,DWORD[20+rdi
]
1002 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1007 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1012 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1017 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1021 xor eax,DWORD[((1024-128))+rcx
*4+rbp
]
1022 mov DWORD[24+rdi
],eax
1023 xor eax,DWORD[4+rdi
]
1024 mov DWORD[28+rdi
],eax
1025 xor eax,DWORD[8+rdi
]
1026 mov DWORD[32+rdi
],eax
1027 xor eax,DWORD[12+rdi
]
1028 mov DWORD[36+rdi
],eax
1034 xor eax,DWORD[16+rdi
]
1035 mov DWORD[40+rdi
],eax
1036 xor eax,DWORD[20+rdi
]
1037 mov DWORD[44+rdi
],eax
1042 mov DWORD[72+rdi
],12
1048 mov rbx
,QWORD[8+rsi
]
1049 mov rcx
,QWORD[16+rsi
]
1050 mov rdx
,QWORD[24+rsi
]
1052 mov QWORD[8+rdi
],rbx
1053 mov QWORD[16+rdi
],rcx
1054 mov QWORD[24+rdi
],rdx
1058 jmp NEAR $L
$14shortcut
1062 mov edx,DWORD[28+rdi
]
1065 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1070 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1075 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1080 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1084 xor eax,DWORD[((1024-128))+rcx
*4+rbp
]
1085 mov DWORD[32+rdi
],eax
1086 xor eax,DWORD[4+rdi
]
1087 mov DWORD[36+rdi
],eax
1088 xor eax,DWORD[8+rdi
]
1089 mov DWORD[40+rdi
],eax
1090 xor eax,DWORD[12+rdi
]
1091 mov DWORD[44+rdi
],eax
1098 mov eax,DWORD[16+rdi
]
1100 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1104 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1110 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1115 movzx ebx,BYTE[((-128))+rsi
*1+rbp
]
1119 mov DWORD[48+rdi
],eax
1120 xor eax,DWORD[20+rdi
]
1121 mov DWORD[52+rdi
],eax
1122 xor eax,DWORD[24+rdi
]
1123 mov DWORD[56+rdi
],eax
1124 xor eax,DWORD[28+rdi
]
1125 mov DWORD[60+rdi
],eax
1130 mov DWORD[48+rdi
],14
1140 global asm_AES_set_decrypt_key
1142 asm_AES_set_decrypt_key:
1143 mov QWORD[8+rsp
],rdi
;WIN64 prologue
1144 mov QWORD[16+rsp
],rsi
1146 $L$
SEH_begin_asm_AES_set_decrypt_key:
1159 $L
$dec_key_prologue
:
1161 call _x86_64_AES_set_encrypt_key
1166 mov r14d
,DWORD[240+r8
]
1174 mov rbx
,QWORD[8+rsi
]
1176 mov rdx
,QWORD[8+rdi
]
1178 mov QWORD[8+rdi
],rbx
1180 mov QWORD[8+rsi
],rdx
1182 lea rdi
,[((-16))+rdi
]
1186 lea rax
,[(($L
$AES_Te
+2048+1024))]
1188 mov rsi
,QWORD[40+rax
]
1189 mov rdi
,QWORD[48+rax
]
1190 mov rbp
,QWORD[56+rax
]
1198 mov rcx
,QWORD[8+r15
]
1317 mov DWORD[4+r15
],ebx
1318 mov DWORD[8+r15
],ecx
1319 mov DWORD[12+r15
],edx
1325 mov r15
,QWORD[8+rsp
]
1326 mov r14
,QWORD[16+rsp
]
1327 mov r13
,QWORD[24+rsp
]
1328 mov r12
,QWORD[32+rsp
]
1329 mov rbp
,QWORD[40+rsp
]
1330 mov rbx
,QWORD[48+rsp
]
1332 $L
$dec_key_epilogue
:
1333 mov rdi
,QWORD[8+rsp
] ;WIN64 epilogue
1334 mov rsi
,QWORD[16+rsp
]
1335 DB 0F3h
,0C3h
;repret
1336 $L$
SEH_end_asm_AES_set_decrypt_key:
1338 global asm_AES_cbc_encrypt
1340 EXTERN OPENSSL_ia32cap_P
1342 asm_AES_cbc_encrypt:
1343 mov QWORD[8+rsp
],rdi
;WIN64 prologue
1344 mov QWORD[16+rsp
],rsi
1346 $L$
SEH_begin_asm_AES_cbc_encrypt:
1351 mov r8
,QWORD[40+rsp
]
1352 mov r9
,QWORD[48+rsp
]
1356 je NEAR $L
$cbc_epilogue
1371 jne NEAR $L
$cbc_picked_te
1375 mov r10d
,DWORD[OPENSSL_ia32cap_P
]
1377 jb NEAR $L
$cbc_slow_prologue
1379 jnz NEAR $L
$cbc_slow_prologue
1381 jc NEAR $L
$cbc_slow_prologue
1384 lea r15
,[((-88-248))+rsp
]
1396 jb NEAR $L
$cbc_te_break_out
1399 jmp NEAR $L
$cbc_te_ok
1400 $L
$cbc_te_break_out
:
1410 mov QWORD[16+rsp
],r15
1412 mov QWORD[24+rsp
],rdi
1413 mov QWORD[32+rsp
],rsi
1414 mov QWORD[40+rsp
],rdx
1415 mov QWORD[48+rsp
],rcx
1416 mov QWORD[56+rsp
],r8
1417 mov DWORD[((80+240))+rsp
],0
1424 mov eax,DWORD[240+r15
]
1430 jb NEAR $L
$cbc_do_ecopy
1432 jb NEAR $L
$cbc_skip_ecopy
1448 mov r11
,QWORD[32+r14
]
1449 mov r12
,QWORD[64+r14
]
1450 mov r13
,QWORD[96+r14
]
1453 jnz NEAR $L
$cbc_prefetch_te
1454 lea r14
,[((-2304))+r14
]
1457 je NEAR $L
$FAST_DECRYPT
1461 mov ebx,DWORD[4+rbp
]
1462 mov ecx,DWORD[8+rbp
]
1463 mov edx,DWORD[12+rbp
]
1466 $L
$cbc_fast_enc_loop
:
1470 xor edx,DWORD[12+r8
]
1472 mov QWORD[24+rsp
],r8
1474 call _x86_64_AES_encrypt
1476 mov r8
,QWORD[24+rsp
]
1477 mov r10
,QWORD[40+rsp
]
1481 mov DWORD[12+r9
],edx
1487 mov QWORD[40+rsp
],r10
1488 jnz NEAR $L
$cbc_fast_enc_loop
1489 mov rbp
,QWORD[56+rsp
]
1491 mov DWORD[4+rbp
],ebx
1492 mov DWORD[8+rbp
],ecx
1493 mov DWORD[12+rbp
],edx
1495 jmp NEAR $L
$cbc_fast_cleanup
1501 je NEAR $L
$cbc_fast_dec_in_place
1503 mov QWORD[64+rsp
],rbp
1505 $L
$cbc_fast_dec_loop
:
1509 mov edx,DWORD[12+r8
]
1511 mov QWORD[24+rsp
],r8
1513 call _x86_64_AES_decrypt
1515 mov rbp
,QWORD[64+rsp
]
1516 mov r8
,QWORD[24+rsp
]
1517 mov r10
,QWORD[40+rsp
]
1519 xor ebx,DWORD[4+rbp
]
1520 xor ecx,DWORD[8+rbp
]
1521 xor edx,DWORD[12+rbp
]
1525 mov QWORD[40+rsp
],r10
1526 mov QWORD[64+rsp
],rbp
1531 mov DWORD[12+r9
],edx
1535 jnz NEAR $L
$cbc_fast_dec_loop
1536 mov r12
,QWORD[56+rsp
]
1538 mov r11
,QWORD[8+rbp
]
1540 mov QWORD[8+r12
],r11
1541 jmp NEAR $L
$cbc_fast_cleanup
1544 $L
$cbc_fast_dec_in_place
:
1546 mov r11
,QWORD[8+rbp
]
1547 mov QWORD[((0+64))+rsp
],r10
1548 mov QWORD[((8+64))+rsp
],r11
1550 $L
$cbc_fast_dec_in_place_loop
:
1554 mov edx,DWORD[12+r8
]
1556 mov QWORD[24+rsp
],r8
1558 call _x86_64_AES_decrypt
1560 mov r8
,QWORD[24+rsp
]
1561 mov r10
,QWORD[40+rsp
]
1562 xor eax,DWORD[((0+64))+rsp
]
1563 xor ebx,DWORD[((4+64))+rsp
]
1564 xor ecx,DWORD[((8+64))+rsp
]
1565 xor edx,DWORD[((12+64))+rsp
]
1570 jz NEAR $L
$cbc_fast_dec_in_place_done
1572 mov QWORD[((0+64))+rsp
],r11
1573 mov QWORD[((8+64))+rsp
],r12
1578 mov DWORD[12+r9
],edx
1582 mov QWORD[40+rsp
],r10
1583 jmp NEAR $L
$cbc_fast_dec_in_place_loop
1584 $L
$cbc_fast_dec_in_place_done
:
1585 mov rdi
,QWORD[56+rsp
]
1587 mov QWORD[8+rdi
],r12
1592 mov DWORD[12+r9
],edx
1595 $L
$cbc_fast_cleanup
:
1596 cmp DWORD[((80+240))+rsp
],0
1603 jmp NEAR $L
$cbc_exit
1607 $L
$cbc_slow_prologue
:
1609 lea rbp
,[((-88))+rsp
]
1612 lea r10
,[((-88-63))+rcx
]
1620 mov QWORD[16+rsp
],rbp
1626 mov QWORD[56+rsp
],r8
1634 mov eax,DWORD[240+r15
]
1638 mov QWORD[8+rsp
],rax
1642 lea rax
,[((768-8))+rsp
]
1648 je NEAR $L$SLOW_DECRYPT
1653 mov ebx,DWORD[4+rbp
]
1654 mov ecx,DWORD[8+rbp
]
1655 mov edx,DWORD[12+rbp
]
1656 jz NEAR $L
$cbc_slow_enc_tail
1659 $L
$cbc_slow_enc_loop
:
1663 xor edx,DWORD[12+r8
]
1665 mov QWORD[24+rsp
],r8
1666 mov QWORD[32+rsp
],r9
1667 mov QWORD[40+rsp
],r10
1669 call _x86_64_AES_encrypt_compact
1671 mov r8
,QWORD[24+rsp
]
1672 mov r9
,QWORD[32+rsp
]
1673 mov r10
,QWORD[40+rsp
]
1677 mov DWORD[12+r9
],edx
1683 jnz NEAR $L
$cbc_slow_enc_loop
1685 jnz NEAR $L
$cbc_slow_enc_tail
1686 mov rbp
,QWORD[56+rsp
]
1688 mov DWORD[4+rbp
],ebx
1689 mov DWORD[8+rbp
],ecx
1690 mov DWORD[12+rbp
],edx
1692 jmp NEAR $L
$cbc_exit
1695 $L
$cbc_slow_enc_tail
:
1710 jmp NEAR $L
$cbc_slow_enc_loop
1718 mov r12
,QWORD[8+rbp
]
1719 mov QWORD[((0+64))+rsp
],r11
1720 mov QWORD[((8+64))+rsp
],r12
1723 $L
$cbc_slow_dec_loop
:
1727 mov edx,DWORD[12+r8
]
1729 mov QWORD[24+rsp
],r8
1730 mov QWORD[32+rsp
],r9
1731 mov QWORD[40+rsp
],r10
1733 call _x86_64_AES_decrypt_compact
1735 mov r8
,QWORD[24+rsp
]
1736 mov r9
,QWORD[32+rsp
]
1737 mov r10
,QWORD[40+rsp
]
1738 xor eax,DWORD[((0+64))+rsp
]
1739 xor ebx,DWORD[((4+64))+rsp
]
1740 xor ecx,DWORD[((8+64))+rsp
]
1741 xor edx,DWORD[((12+64))+rsp
]
1746 jc NEAR $L
$cbc_slow_dec_partial
1747 jz NEAR $L
$cbc_slow_dec_done
1749 mov QWORD[((0+64))+rsp
],r11
1750 mov QWORD[((8+64))+rsp
],r12
1755 mov DWORD[12+r9
],edx
1759 jmp NEAR $L
$cbc_slow_dec_loop
1760 $L
$cbc_slow_dec_done
:
1761 mov rdi
,QWORD[56+rsp
]
1763 mov QWORD[8+rdi
],r12
1768 mov DWORD[12+r9
],edx
1770 jmp NEAR $L
$cbc_exit
1773 $L
$cbc_slow_dec_partial
:
1774 mov rdi
,QWORD[56+rsp
]
1776 mov QWORD[8+rdi
],r12
1778 mov DWORD[((0+64))+rsp
],eax
1779 mov DWORD[((4+64))+rsp
],ebx
1780 mov DWORD[((8+64))+rsp
],ecx
1781 mov DWORD[((12+64))+rsp
],edx
1787 jmp NEAR $L
$cbc_exit
1791 mov rsi
,QWORD[16+rsp
]
1793 mov r14
,QWORD[8+rsi
]
1794 mov r13
,QWORD[16+rsi
]
1795 mov r12
,QWORD[24+rsi
]
1796 mov rbp
,QWORD[32+rsi
]
1797 mov rbx
,QWORD[40+rsi
]
1802 mov rdi
,QWORD[8+rsp
] ;WIN64 epilogue
1803 mov rsi
,QWORD[16+rsp
]
1804 DB 0F3h
,0C3h
;repret
1805 $L$
SEH_end_asm_AES_cbc_encrypt:
1808 DD 0xa56363c6,0xa56363c6
1809 DD 0x847c7cf8,0x847c7cf8
1810 DD 0x997777ee,0x997777ee
1811 DD 0x8d7b7bf6,0x8d7b7bf6
1812 DD 0x0df2f2ff,0x0df2f2ff
1813 DD 0xbd6b6bd6,0xbd6b6bd6
1814 DD 0xb16f6fde,0xb16f6fde
1815 DD 0x54c5c591,0x54c5c591
1816 DD 0x50303060,0x50303060
1817 DD 0x03010102,0x03010102
1818 DD 0xa96767ce,0xa96767ce
1819 DD 0x7d2b2b56,0x7d2b2b56
1820 DD 0x19fefee7,0x19fefee7
1821 DD 0x62d7d7b5,0x62d7d7b5
1822 DD 0xe6abab4d,0xe6abab4d
1823 DD 0x9a7676ec,0x9a7676ec
1824 DD 0x45caca8f,0x45caca8f
1825 DD 0x9d82821f,0x9d82821f
1826 DD 0x40c9c989,0x40c9c989
1827 DD 0x877d7dfa,0x877d7dfa
1828 DD 0x15fafaef,0x15fafaef
1829 DD 0xeb5959b2,0xeb5959b2
1830 DD 0xc947478e,0xc947478e
1831 DD 0x0bf0f0fb,0x0bf0f0fb
1832 DD 0xecadad41,0xecadad41
1833 DD 0x67d4d4b3,0x67d4d4b3
1834 DD 0xfda2a25f,0xfda2a25f
1835 DD 0xeaafaf45,0xeaafaf45
1836 DD 0xbf9c9c23,0xbf9c9c23
1837 DD 0xf7a4a453,0xf7a4a453
1838 DD 0x967272e4,0x967272e4
1839 DD 0x5bc0c09b,0x5bc0c09b
1840 DD 0xc2b7b775,0xc2b7b775
1841 DD 0x1cfdfde1,0x1cfdfde1
1842 DD 0xae93933d,0xae93933d
1843 DD 0x6a26264c,0x6a26264c
1844 DD 0x5a36366c,0x5a36366c
1845 DD 0x413f3f7e,0x413f3f7e
1846 DD 0x02f7f7f5,0x02f7f7f5
1847 DD 0x4fcccc83,0x4fcccc83
1848 DD 0x5c343468,0x5c343468
1849 DD 0xf4a5a551,0xf4a5a551
1850 DD 0x34e5e5d1,0x34e5e5d1
1851 DD 0x08f1f1f9,0x08f1f1f9
1852 DD 0x937171e2,0x937171e2
1853 DD 0x73d8d8ab,0x73d8d8ab
1854 DD 0x53313162,0x53313162
1855 DD 0x3f15152a,0x3f15152a
1856 DD 0x0c040408,0x0c040408
1857 DD 0x52c7c795,0x52c7c795
1858 DD 0x65232346,0x65232346
1859 DD 0x5ec3c39d,0x5ec3c39d
1860 DD 0x28181830,0x28181830
1861 DD 0xa1969637,0xa1969637
1862 DD 0x0f05050a,0x0f05050a
1863 DD 0xb59a9a2f,0xb59a9a2f
1864 DD 0x0907070e,0x0907070e
1865 DD 0x36121224,0x36121224
1866 DD 0x9b80801b,0x9b80801b
1867 DD 0x3de2e2df,0x3de2e2df
1868 DD 0x26ebebcd,0x26ebebcd
1869 DD 0x6927274e,0x6927274e
1870 DD 0xcdb2b27f,0xcdb2b27f
1871 DD 0x9f7575ea,0x9f7575ea
1872 DD 0x1b090912,0x1b090912
1873 DD 0x9e83831d,0x9e83831d
1874 DD 0x742c2c58,0x742c2c58
1875 DD 0x2e1a1a34,0x2e1a1a34
1876 DD 0x2d1b1b36,0x2d1b1b36
1877 DD 0xb26e6edc,0xb26e6edc
1878 DD 0xee5a5ab4,0xee5a5ab4
1879 DD 0xfba0a05b,0xfba0a05b
1880 DD 0xf65252a4,0xf65252a4
1881 DD 0x4d3b3b76,0x4d3b3b76
1882 DD 0x61d6d6b7,0x61d6d6b7
1883 DD 0xceb3b37d,0xceb3b37d
1884 DD 0x7b292952,0x7b292952
1885 DD 0x3ee3e3dd,0x3ee3e3dd
1886 DD 0x712f2f5e,0x712f2f5e
1887 DD 0x97848413,0x97848413
1888 DD 0xf55353a6,0xf55353a6
1889 DD 0x68d1d1b9,0x68d1d1b9
1890 DD 0x00000000,0x00000000
1891 DD 0x2cededc1,0x2cededc1
1892 DD 0x60202040,0x60202040
1893 DD 0x1ffcfce3,0x1ffcfce3
1894 DD 0xc8b1b179,0xc8b1b179
1895 DD 0xed5b5bb6,0xed5b5bb6
1896 DD 0xbe6a6ad4,0xbe6a6ad4
1897 DD 0x46cbcb8d,0x46cbcb8d
1898 DD 0xd9bebe67,0xd9bebe67
1899 DD 0x4b393972,0x4b393972
1900 DD 0xde4a4a94,0xde4a4a94
1901 DD 0xd44c4c98,0xd44c4c98
1902 DD 0xe85858b0,0xe85858b0
1903 DD 0x4acfcf85,0x4acfcf85
1904 DD 0x6bd0d0bb,0x6bd0d0bb
1905 DD 0x2aefefc5,0x2aefefc5
1906 DD 0xe5aaaa4f,0xe5aaaa4f
1907 DD 0x16fbfbed,0x16fbfbed
1908 DD 0xc5434386,0xc5434386
1909 DD 0xd74d4d9a,0xd74d4d9a
1910 DD 0x55333366,0x55333366
1911 DD 0x94858511,0x94858511
1912 DD 0xcf45458a,0xcf45458a
1913 DD 0x10f9f9e9,0x10f9f9e9
1914 DD 0x06020204,0x06020204
1915 DD 0x817f7ffe,0x817f7ffe
1916 DD 0xf05050a0,0xf05050a0
1917 DD 0x443c3c78,0x443c3c78
1918 DD 0xba9f9f25,0xba9f9f25
1919 DD 0xe3a8a84b,0xe3a8a84b
1920 DD 0xf35151a2,0xf35151a2
1921 DD 0xfea3a35d,0xfea3a35d
1922 DD 0xc0404080,0xc0404080
1923 DD 0x8a8f8f05,0x8a8f8f05
1924 DD 0xad92923f,0xad92923f
1925 DD 0xbc9d9d21,0xbc9d9d21
1926 DD 0x48383870,0x48383870
1927 DD 0x04f5f5f1,0x04f5f5f1
1928 DD 0xdfbcbc63,0xdfbcbc63
1929 DD 0xc1b6b677,0xc1b6b677
1930 DD 0x75dadaaf,0x75dadaaf
1931 DD 0x63212142,0x63212142
1932 DD 0x30101020,0x30101020
1933 DD 0x1affffe5,0x1affffe5
1934 DD 0x0ef3f3fd,0x0ef3f3fd
1935 DD 0x6dd2d2bf,0x6dd2d2bf
1936 DD 0x4ccdcd81,0x4ccdcd81
1937 DD 0x140c0c18,0x140c0c18
1938 DD 0x35131326,0x35131326
1939 DD 0x2fececc3,0x2fececc3
1940 DD 0xe15f5fbe,0xe15f5fbe
1941 DD 0xa2979735,0xa2979735
1942 DD 0xcc444488,0xcc444488
1943 DD 0x3917172e,0x3917172e
1944 DD 0x57c4c493,0x57c4c493
1945 DD 0xf2a7a755,0xf2a7a755
1946 DD 0x827e7efc,0x827e7efc
1947 DD 0x473d3d7a,0x473d3d7a
1948 DD 0xac6464c8,0xac6464c8
1949 DD 0xe75d5dba,0xe75d5dba
1950 DD 0x2b191932,0x2b191932
1951 DD 0x957373e6,0x957373e6
1952 DD 0xa06060c0,0xa06060c0
1953 DD 0x98818119,0x98818119
1954 DD 0xd14f4f9e,0xd14f4f9e
1955 DD 0x7fdcdca3,0x7fdcdca3
1956 DD 0x66222244,0x66222244
1957 DD 0x7e2a2a54,0x7e2a2a54
1958 DD 0xab90903b,0xab90903b
1959 DD 0x8388880b,0x8388880b
1960 DD 0xca46468c,0xca46468c
1961 DD 0x29eeeec7,0x29eeeec7
1962 DD 0xd3b8b86b,0xd3b8b86b
1963 DD 0x3c141428,0x3c141428
1964 DD 0x79dedea7,0x79dedea7
1965 DD 0xe25e5ebc,0xe25e5ebc
1966 DD 0x1d0b0b16,0x1d0b0b16
1967 DD 0x76dbdbad,0x76dbdbad
1968 DD 0x3be0e0db,0x3be0e0db
1969 DD 0x56323264,0x56323264
1970 DD 0x4e3a3a74,0x4e3a3a74
1971 DD 0x1e0a0a14,0x1e0a0a14
1972 DD 0xdb494992,0xdb494992
1973 DD 0x0a06060c,0x0a06060c
1974 DD 0x6c242448,0x6c242448
1975 DD 0xe45c5cb8,0xe45c5cb8
1976 DD 0x5dc2c29f,0x5dc2c29f
1977 DD 0x6ed3d3bd,0x6ed3d3bd
1978 DD 0xefacac43,0xefacac43
1979 DD 0xa66262c4,0xa66262c4
1980 DD 0xa8919139,0xa8919139
1981 DD 0xa4959531,0xa4959531
1982 DD 0x37e4e4d3,0x37e4e4d3
1983 DD 0x8b7979f2,0x8b7979f2
1984 DD 0x32e7e7d5,0x32e7e7d5
1985 DD 0x43c8c88b,0x43c8c88b
1986 DD 0x5937376e,0x5937376e
1987 DD 0xb76d6dda,0xb76d6dda
1988 DD 0x8c8d8d01,0x8c8d8d01
1989 DD 0x64d5d5b1,0x64d5d5b1
1990 DD 0xd24e4e9c,0xd24e4e9c
1991 DD 0xe0a9a949,0xe0a9a949
1992 DD 0xb46c6cd8,0xb46c6cd8
1993 DD 0xfa5656ac,0xfa5656ac
1994 DD 0x07f4f4f3,0x07f4f4f3
1995 DD 0x25eaeacf,0x25eaeacf
1996 DD 0xaf6565ca,0xaf6565ca
1997 DD 0x8e7a7af4,0x8e7a7af4
1998 DD 0xe9aeae47,0xe9aeae47
1999 DD 0x18080810,0x18080810
2000 DD 0xd5baba6f,0xd5baba6f
2001 DD 0x887878f0,0x887878f0
2002 DD 0x6f25254a,0x6f25254a
2003 DD 0x722e2e5c,0x722e2e5c
2004 DD 0x241c1c38,0x241c1c38
2005 DD 0xf1a6a657,0xf1a6a657
2006 DD 0xc7b4b473,0xc7b4b473
2007 DD 0x51c6c697,0x51c6c697
2008 DD 0x23e8e8cb,0x23e8e8cb
2009 DD 0x7cdddda1,0x7cdddda1
2010 DD 0x9c7474e8,0x9c7474e8
2011 DD 0x211f1f3e,0x211f1f3e
2012 DD 0xdd4b4b96,0xdd4b4b96
2013 DD 0xdcbdbd61,0xdcbdbd61
2014 DD 0x868b8b0d,0x868b8b0d
2015 DD 0x858a8a0f,0x858a8a0f
2016 DD 0x907070e0,0x907070e0
2017 DD 0x423e3e7c,0x423e3e7c
2018 DD 0xc4b5b571,0xc4b5b571
2019 DD 0xaa6666cc,0xaa6666cc
2020 DD 0xd8484890,0xd8484890
2021 DD 0x05030306,0x05030306
2022 DD 0x01f6f6f7,0x01f6f6f7
2023 DD 0x120e0e1c,0x120e0e1c
2024 DD 0xa36161c2,0xa36161c2
2025 DD 0x5f35356a,0x5f35356a
2026 DD 0xf95757ae,0xf95757ae
2027 DD 0xd0b9b969,0xd0b9b969
2028 DD 0x91868617,0x91868617
2029 DD 0x58c1c199,0x58c1c199
2030 DD 0x271d1d3a,0x271d1d3a
2031 DD 0xb99e9e27,0xb99e9e27
2032 DD 0x38e1e1d9,0x38e1e1d9
2033 DD 0x13f8f8eb,0x13f8f8eb
2034 DD 0xb398982b,0xb398982b
2035 DD 0x33111122,0x33111122
2036 DD 0xbb6969d2,0xbb6969d2
2037 DD 0x70d9d9a9,0x70d9d9a9
2038 DD 0x898e8e07,0x898e8e07
2039 DD 0xa7949433,0xa7949433
2040 DD 0xb69b9b2d,0xb69b9b2d
2041 DD 0x221e1e3c,0x221e1e3c
2042 DD 0x92878715,0x92878715
2043 DD 0x20e9e9c9,0x20e9e9c9
2044 DD 0x49cece87,0x49cece87
2045 DD 0xff5555aa,0xff5555aa
2046 DD 0x78282850,0x78282850
2047 DD 0x7adfdfa5,0x7adfdfa5
2048 DD 0x8f8c8c03,0x8f8c8c03
2049 DD 0xf8a1a159,0xf8a1a159
2050 DD 0x80898909,0x80898909
2051 DD 0x170d0d1a,0x170d0d1a
2052 DD 0xdabfbf65,0xdabfbf65
2053 DD 0x31e6e6d7,0x31e6e6d7
2054 DD 0xc6424284,0xc6424284
2055 DD 0xb86868d0,0xb86868d0
2056 DD 0xc3414182,0xc3414182
2057 DD 0xb0999929,0xb0999929
2058 DD 0x772d2d5a,0x772d2d5a
2059 DD 0x110f0f1e,0x110f0f1e
2060 DD 0xcbb0b07b,0xcbb0b07b
2061 DD 0xfc5454a8,0xfc5454a8
2062 DD 0xd6bbbb6d,0xd6bbbb6d
2063 DD 0x3a16162c,0x3a16162c
2064 DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2065 DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2066 DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2067 DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2068 DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2069 DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2070 DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2071 DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2072 DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2073 DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2074 DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2075 DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2076 DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2077 DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2078 DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2079 DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2080 DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2081 DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2082 DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2083 DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2084 DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2085 DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2086 DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2087 DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2088 DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2089 DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2090 DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2091 DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2092 DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2093 DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2094 DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2095 DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2096 DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2097 DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2098 DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2099 DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2100 DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2101 DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2102 DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2103 DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2104 DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2105 DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2106 DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2107 DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2108 DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2109 DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2110 DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2111 DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2112 DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2113 DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2114 DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2115 DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2116 DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2117 DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2118 DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2119 DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2120 DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2121 DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2122 DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2123 DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2124 DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2125 DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2126 DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2127 DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2128 DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2129 DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2130 DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2131 DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2132 DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2133 DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2134 DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2135 DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2136 DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2137 DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2138 DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2139 DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2140 DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2141 DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2142 DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2143 DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2144 DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2145 DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2146 DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2147 DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2148 DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2149 DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2150 DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2151 DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2152 DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2153 DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2154 DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2155 DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2156 DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2157 DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2158 DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2159 DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2160 DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5
2161 DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76
2162 DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0
2163 DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0
2164 DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc
2165 DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15
2166 DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a
2167 DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75
2168 DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0
2169 DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84
2170 DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b
2171 DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf
2172 DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85
2173 DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8
2174 DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5
2175 DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2
2176 DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17
2177 DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73
2178 DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88
2179 DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb
2180 DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c
2181 DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79
2182 DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9
2183 DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08
2184 DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6
2185 DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a
2186 DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e
2187 DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e
2188 DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94
2189 DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf
2190 DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68
2191 DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16
2192 DD 0x00000001,0x00000002,0x00000004,0x00000008
2193 DD 0x00000010,0x00000020,0x00000040,0x00000080
2194 DD 0x0000001b,0x00000036,0x80808080,0x80808080
2195 DD 0xfefefefe,0xfefefefe,0x1b1b1b1b,0x1b1b1b1b
2198 DD 0x50a7f451,0x50a7f451
2199 DD 0x5365417e,0x5365417e
2200 DD 0xc3a4171a,0xc3a4171a
2201 DD 0x965e273a,0x965e273a
2202 DD 0xcb6bab3b,0xcb6bab3b
2203 DD 0xf1459d1f,0xf1459d1f
2204 DD 0xab58faac,0xab58faac
2205 DD 0x9303e34b,0x9303e34b
2206 DD 0x55fa3020,0x55fa3020
2207 DD 0xf66d76ad,0xf66d76ad
2208 DD 0x9176cc88,0x9176cc88
2209 DD 0x254c02f5,0x254c02f5
2210 DD 0xfcd7e54f,0xfcd7e54f
2211 DD 0xd7cb2ac5,0xd7cb2ac5
2212 DD 0x80443526,0x80443526
2213 DD 0x8fa362b5,0x8fa362b5
2214 DD 0x495ab1de,0x495ab1de
2215 DD 0x671bba25,0x671bba25
2216 DD 0x980eea45,0x980eea45
2217 DD 0xe1c0fe5d,0xe1c0fe5d
2218 DD 0x02752fc3,0x02752fc3
2219 DD 0x12f04c81,0x12f04c81
2220 DD 0xa397468d,0xa397468d
2221 DD 0xc6f9d36b,0xc6f9d36b
2222 DD 0xe75f8f03,0xe75f8f03
2223 DD 0x959c9215,0x959c9215
2224 DD 0xeb7a6dbf,0xeb7a6dbf
2225 DD 0xda595295,0xda595295
2226 DD 0x2d83bed4,0x2d83bed4
2227 DD 0xd3217458,0xd3217458
2228 DD 0x2969e049,0x2969e049
2229 DD 0x44c8c98e,0x44c8c98e
2230 DD 0x6a89c275,0x6a89c275
2231 DD 0x78798ef4,0x78798ef4
2232 DD 0x6b3e5899,0x6b3e5899
2233 DD 0xdd71b927,0xdd71b927
2234 DD 0xb64fe1be,0xb64fe1be
2235 DD 0x17ad88f0,0x17ad88f0
2236 DD 0x66ac20c9,0x66ac20c9
2237 DD 0xb43ace7d,0xb43ace7d
2238 DD 0x184adf63,0x184adf63
2239 DD 0x82311ae5,0x82311ae5
2240 DD 0x60335197,0x60335197
2241 DD 0x457f5362,0x457f5362
2242 DD 0xe07764b1,0xe07764b1
2243 DD 0x84ae6bbb,0x84ae6bbb
2244 DD 0x1ca081fe,0x1ca081fe
2245 DD 0x942b08f9,0x942b08f9
2246 DD 0x58684870,0x58684870
2247 DD 0x19fd458f,0x19fd458f
2248 DD 0x876cde94,0x876cde94
2249 DD 0xb7f87b52,0xb7f87b52
2250 DD 0x23d373ab,0x23d373ab
2251 DD 0xe2024b72,0xe2024b72
2252 DD 0x578f1fe3,0x578f1fe3
2253 DD 0x2aab5566,0x2aab5566
2254 DD 0x0728ebb2,0x0728ebb2
2255 DD 0x03c2b52f,0x03c2b52f
2256 DD 0x9a7bc586,0x9a7bc586
2257 DD 0xa50837d3,0xa50837d3
2258 DD 0xf2872830,0xf2872830
2259 DD 0xb2a5bf23,0xb2a5bf23
2260 DD 0xba6a0302,0xba6a0302
2261 DD 0x5c8216ed,0x5c8216ed
2262 DD 0x2b1ccf8a,0x2b1ccf8a
2263 DD 0x92b479a7,0x92b479a7
2264 DD 0xf0f207f3,0xf0f207f3
2265 DD 0xa1e2694e,0xa1e2694e
2266 DD 0xcdf4da65,0xcdf4da65
2267 DD 0xd5be0506,0xd5be0506
2268 DD 0x1f6234d1,0x1f6234d1
2269 DD 0x8afea6c4,0x8afea6c4
2270 DD 0x9d532e34,0x9d532e34
2271 DD 0xa055f3a2,0xa055f3a2
2272 DD 0x32e18a05,0x32e18a05
2273 DD 0x75ebf6a4,0x75ebf6a4
2274 DD 0x39ec830b,0x39ec830b
2275 DD 0xaaef6040,0xaaef6040
2276 DD 0x069f715e,0x069f715e
2277 DD 0x51106ebd,0x51106ebd
2278 DD 0xf98a213e,0xf98a213e
2279 DD 0x3d06dd96,0x3d06dd96
2280 DD 0xae053edd,0xae053edd
2281 DD 0x46bde64d,0x46bde64d
2282 DD 0xb58d5491,0xb58d5491
2283 DD 0x055dc471,0x055dc471
2284 DD 0x6fd40604,0x6fd40604
2285 DD 0xff155060,0xff155060
2286 DD 0x24fb9819,0x24fb9819
2287 DD 0x97e9bdd6,0x97e9bdd6
2288 DD 0xcc434089,0xcc434089
2289 DD 0x779ed967,0x779ed967
2290 DD 0xbd42e8b0,0xbd42e8b0
2291 DD 0x888b8907,0x888b8907
2292 DD 0x385b19e7,0x385b19e7
2293 DD 0xdbeec879,0xdbeec879
2294 DD 0x470a7ca1,0x470a7ca1
2295 DD 0xe90f427c,0xe90f427c
2296 DD 0xc91e84f8,0xc91e84f8
2297 DD 0x00000000,0x00000000
2298 DD 0x83868009,0x83868009
2299 DD 0x48ed2b32,0x48ed2b32
2300 DD 0xac70111e,0xac70111e
2301 DD 0x4e725a6c,0x4e725a6c
2302 DD 0xfbff0efd,0xfbff0efd
2303 DD 0x5638850f,0x5638850f
2304 DD 0x1ed5ae3d,0x1ed5ae3d
2305 DD 0x27392d36,0x27392d36
2306 DD 0x64d90f0a,0x64d90f0a
2307 DD 0x21a65c68,0x21a65c68
2308 DD 0xd1545b9b,0xd1545b9b
2309 DD 0x3a2e3624,0x3a2e3624
2310 DD 0xb1670a0c,0xb1670a0c
2311 DD 0x0fe75793,0x0fe75793
2312 DD 0xd296eeb4,0xd296eeb4
2313 DD 0x9e919b1b,0x9e919b1b
2314 DD 0x4fc5c080,0x4fc5c080
2315 DD 0xa220dc61,0xa220dc61
2316 DD 0x694b775a,0x694b775a
2317 DD 0x161a121c,0x161a121c
2318 DD 0x0aba93e2,0x0aba93e2
2319 DD 0xe52aa0c0,0xe52aa0c0
2320 DD 0x43e0223c,0x43e0223c
2321 DD 0x1d171b12,0x1d171b12
2322 DD 0x0b0d090e,0x0b0d090e
2323 DD 0xadc78bf2,0xadc78bf2
2324 DD 0xb9a8b62d,0xb9a8b62d
2325 DD 0xc8a91e14,0xc8a91e14
2326 DD 0x8519f157,0x8519f157
2327 DD 0x4c0775af,0x4c0775af
2328 DD 0xbbdd99ee,0xbbdd99ee
2329 DD 0xfd607fa3,0xfd607fa3
2330 DD 0x9f2601f7,0x9f2601f7
2331 DD 0xbcf5725c,0xbcf5725c
2332 DD 0xc53b6644,0xc53b6644
2333 DD 0x347efb5b,0x347efb5b
2334 DD 0x7629438b,0x7629438b
2335 DD 0xdcc623cb,0xdcc623cb
2336 DD 0x68fcedb6,0x68fcedb6
2337 DD 0x63f1e4b8,0x63f1e4b8
2338 DD 0xcadc31d7,0xcadc31d7
2339 DD 0x10856342,0x10856342
2340 DD 0x40229713,0x40229713
2341 DD 0x2011c684,0x2011c684
2342 DD 0x7d244a85,0x7d244a85
2343 DD 0xf83dbbd2,0xf83dbbd2
2344 DD 0x1132f9ae,0x1132f9ae
2345 DD 0x6da129c7,0x6da129c7
2346 DD 0x4b2f9e1d,0x4b2f9e1d
2347 DD 0xf330b2dc,0xf330b2dc
2348 DD 0xec52860d,0xec52860d
2349 DD 0xd0e3c177,0xd0e3c177
2350 DD 0x6c16b32b,0x6c16b32b
2351 DD 0x99b970a9,0x99b970a9
2352 DD 0xfa489411,0xfa489411
2353 DD 0x2264e947,0x2264e947
2354 DD 0xc48cfca8,0xc48cfca8
2355 DD 0x1a3ff0a0,0x1a3ff0a0
2356 DD 0xd82c7d56,0xd82c7d56
2357 DD 0xef903322,0xef903322
2358 DD 0xc74e4987,0xc74e4987
2359 DD 0xc1d138d9,0xc1d138d9
2360 DD 0xfea2ca8c,0xfea2ca8c
2361 DD 0x360bd498,0x360bd498
2362 DD 0xcf81f5a6,0xcf81f5a6
2363 DD 0x28de7aa5,0x28de7aa5
2364 DD 0x268eb7da,0x268eb7da
2365 DD 0xa4bfad3f,0xa4bfad3f
2366 DD 0xe49d3a2c,0xe49d3a2c
2367 DD 0x0d927850,0x0d927850
2368 DD 0x9bcc5f6a,0x9bcc5f6a
2369 DD 0x62467e54,0x62467e54
2370 DD 0xc2138df6,0xc2138df6
2371 DD 0xe8b8d890,0xe8b8d890
2372 DD 0x5ef7392e,0x5ef7392e
2373 DD 0xf5afc382,0xf5afc382
2374 DD 0xbe805d9f,0xbe805d9f
2375 DD 0x7c93d069,0x7c93d069
2376 DD 0xa92dd56f,0xa92dd56f
2377 DD 0xb31225cf,0xb31225cf
2378 DD 0x3b99acc8,0x3b99acc8
2379 DD 0xa77d1810,0xa77d1810
2380 DD 0x6e639ce8,0x6e639ce8
2381 DD 0x7bbb3bdb,0x7bbb3bdb
2382 DD 0x097826cd,0x097826cd
2383 DD 0xf418596e,0xf418596e
2384 DD 0x01b79aec,0x01b79aec
2385 DD 0xa89a4f83,0xa89a4f83
2386 DD 0x656e95e6,0x656e95e6
2387 DD 0x7ee6ffaa,0x7ee6ffaa
2388 DD 0x08cfbc21,0x08cfbc21
2389 DD 0xe6e815ef,0xe6e815ef
2390 DD 0xd99be7ba,0xd99be7ba
2391 DD 0xce366f4a,0xce366f4a
2392 DD 0xd4099fea,0xd4099fea
2393 DD 0xd67cb029,0xd67cb029
2394 DD 0xafb2a431,0xafb2a431
2395 DD 0x31233f2a,0x31233f2a
2396 DD 0x3094a5c6,0x3094a5c6
2397 DD 0xc066a235,0xc066a235
2398 DD 0x37bc4e74,0x37bc4e74
2399 DD 0xa6ca82fc,0xa6ca82fc
2400 DD 0xb0d090e0,0xb0d090e0
2401 DD 0x15d8a733,0x15d8a733
2402 DD 0x4a9804f1,0x4a9804f1
2403 DD 0xf7daec41,0xf7daec41
2404 DD 0x0e50cd7f,0x0e50cd7f
2405 DD 0x2ff69117,0x2ff69117
2406 DD 0x8dd64d76,0x8dd64d76
2407 DD 0x4db0ef43,0x4db0ef43
2408 DD 0x544daacc,0x544daacc
2409 DD 0xdf0496e4,0xdf0496e4
2410 DD 0xe3b5d19e,0xe3b5d19e
2411 DD 0x1b886a4c,0x1b886a4c
2412 DD 0xb81f2cc1,0xb81f2cc1
2413 DD 0x7f516546,0x7f516546
2414 DD 0x04ea5e9d,0x04ea5e9d
2415 DD 0x5d358c01,0x5d358c01
2416 DD 0x737487fa,0x737487fa
2417 DD 0x2e410bfb,0x2e410bfb
2418 DD 0x5a1d67b3,0x5a1d67b3
2419 DD 0x52d2db92,0x52d2db92
2420 DD 0x335610e9,0x335610e9
2421 DD 0x1347d66d,0x1347d66d
2422 DD 0x8c61d79a,0x8c61d79a
2423 DD 0x7a0ca137,0x7a0ca137
2424 DD 0x8e14f859,0x8e14f859
2425 DD 0x893c13eb,0x893c13eb
2426 DD 0xee27a9ce,0xee27a9ce
2427 DD 0x35c961b7,0x35c961b7
2428 DD 0xede51ce1,0xede51ce1
2429 DD 0x3cb1477a,0x3cb1477a
2430 DD 0x59dfd29c,0x59dfd29c
2431 DD 0x3f73f255,0x3f73f255
2432 DD 0x79ce1418,0x79ce1418
2433 DD 0xbf37c773,0xbf37c773
2434 DD 0xeacdf753,0xeacdf753
2435 DD 0x5baafd5f,0x5baafd5f
2436 DD 0x146f3ddf,0x146f3ddf
2437 DD 0x86db4478,0x86db4478
2438 DD 0x81f3afca,0x81f3afca
2439 DD 0x3ec468b9,0x3ec468b9
2440 DD 0x2c342438,0x2c342438
2441 DD 0x5f40a3c2,0x5f40a3c2
2442 DD 0x72c31d16,0x72c31d16
2443 DD 0x0c25e2bc,0x0c25e2bc
2444 DD 0x8b493c28,0x8b493c28
2445 DD 0x41950dff,0x41950dff
2446 DD 0x7101a839,0x7101a839
2447 DD 0xdeb30c08,0xdeb30c08
2448 DD 0x9ce4b4d8,0x9ce4b4d8
2449 DD 0x90c15664,0x90c15664
2450 DD 0x6184cb7b,0x6184cb7b
2451 DD 0x70b632d5,0x70b632d5
2452 DD 0x745c6c48,0x745c6c48
2453 DD 0x4257b8d0,0x4257b8d0
2454 DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2455 DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2456 DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2457 DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2458 DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2459 DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2460 DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2461 DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2462 DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2463 DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2464 DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2465 DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2466 DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2467 DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2468 DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2469 DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2470 DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2471 DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2472 DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2473 DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2474 DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2475 DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2476 DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2477 DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2478 DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2479 DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2480 DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2481 DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2482 DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2483 DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2484 DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2485 DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2486 DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe
2487 DD 0x1b1b1b1b,0x1b1b1b1b,0,0
2488 DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2489 DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2490 DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2491 DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2492 DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2493 DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2494 DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2495 DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2496 DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2497 DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2498 DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2499 DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2500 DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2501 DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2502 DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2503 DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2504 DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2505 DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2506 DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2507 DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2508 DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2509 DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2510 DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2511 DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2512 DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2513 DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2514 DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2515 DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2516 DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2517 DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2518 DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2519 DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2520 DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe
2521 DD 0x1b1b1b1b,0x1b1b1b1b,0,0
2522 DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2523 DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2524 DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2525 DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2526 DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2527 DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2528 DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2529 DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2530 DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2531 DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2532 DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2533 DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2534 DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2535 DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2536 DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2537 DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2538 DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2539 DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2540 DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2541 DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2542 DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2543 DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2544 DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2545 DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2546 DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2547 DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2548 DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2549 DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2550 DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2551 DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2552 DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2553 DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2554 DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe
2555 DD 0x1b1b1b1b,0x1b1b1b1b,0,0
2556 DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38
2557 DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb
2558 DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87
2559 DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb
2560 DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d
2561 DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e
2562 DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2
2563 DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25
2564 DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16
2565 DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92
2566 DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda
2567 DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84
2568 DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a
2569 DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06
2570 DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02
2571 DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b
2572 DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea
2573 DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73
2574 DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85
2575 DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e
2576 DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89
2577 DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b
2578 DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20
2579 DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4
2580 DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31
2581 DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f
2582 DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d
2583 DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef
2584 DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0
2585 DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61
2586 DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26
2587 DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d
2588 DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe
2589 DD 0x1b1b1b1b,0x1b1b1b1b,0,0
2590 DB 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32
2591 DB 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
2592 DB 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
2595 EXTERN __imp_RtlVirtualUnwind
2610 mov rax
,QWORD[120+r8
]
2611 mov rbx
,QWORD[248+r8
]
2614 mov r11
,QWORD[56+r9
]
2619 jb NEAR $L$in_block_prologue
2621 mov rax
,QWORD[152+r8
]
2623 mov r10d
,DWORD[4+r11
]
2626 jae NEAR $L$in_block_prologue
2628 mov rax
,QWORD[24+rax
]
2631 mov rbx
,QWORD[((-8))+rax
]
2632 mov rbp
,QWORD[((-16))+rax
]
2633 mov r12
,QWORD[((-24))+rax
]
2634 mov r13
,QWORD[((-32))+rax
]
2635 mov r14
,QWORD[((-40))+rax
]
2636 mov r15
,QWORD[((-48))+rax
]
2637 mov QWORD[144+r8
],rbx
2638 mov QWORD[160+r8
],rbp
2639 mov QWORD[216+r8
],r12
2640 mov QWORD[224+r8
],r13
2641 mov QWORD[232+r8
],r14
2642 mov QWORD[240+r8
],r15
2644 $L$
in_block_prologue:
2645 mov rdi
,QWORD[8+rax
]
2646 mov rsi
,QWORD[16+rax
]
2647 mov QWORD[152+r8
],rax
2648 mov QWORD[168+r8
],rsi
2649 mov QWORD[176+r8
],rdi
2651 jmp NEAR $L
$common_seh_exit
2668 mov rax
,QWORD[120+r8
]
2669 mov rbx
,QWORD[248+r8
]
2672 mov r11
,QWORD[56+r9
]
2677 jb NEAR $L$in_key_prologue
2679 mov rax
,QWORD[152+r8
]
2681 mov r10d
,DWORD[4+r11
]
2684 jae NEAR $L$in_key_prologue
2688 mov rbx
,QWORD[((-8))+rax
]
2689 mov rbp
,QWORD[((-16))+rax
]
2690 mov r12
,QWORD[((-24))+rax
]
2691 mov r13
,QWORD[((-32))+rax
]
2692 mov r14
,QWORD[((-40))+rax
]
2693 mov r15
,QWORD[((-48))+rax
]
2694 mov QWORD[144+r8
],rbx
2695 mov QWORD[160+r8
],rbp
2696 mov QWORD[216+r8
],r12
2697 mov QWORD[224+r8
],r13
2698 mov QWORD[232+r8
],r14
2699 mov QWORD[240+r8
],r15
2702 mov rdi
,QWORD[8+rax
]
2703 mov rsi
,QWORD[16+rax
]
2704 mov QWORD[152+r8
],rax
2705 mov QWORD[168+r8
],rsi
2706 mov QWORD[176+r8
],rdi
2708 jmp NEAR $L
$common_seh_exit
2725 mov rax
,QWORD[120+r8
]
2726 mov rbx
,QWORD[248+r8
]
2728 lea r10
,[$L
$cbc_prologue
]
2730 jb NEAR $L$in_cbc_prologue
2732 lea r10
,[$L
$cbc_fast_body
]
2734 jb NEAR $L$in_cbc_frame_setup
2736 lea r10
,[$L
$cbc_slow_prologue
]
2738 jb NEAR $L$in_cbc_body
2740 lea r10
,[$L
$cbc_slow_body
]
2742 jb NEAR $L$in_cbc_frame_setup
2745 mov rax
,QWORD[152+r8
]
2747 lea r10
,[$L
$cbc_epilogue
]
2749 jae NEAR $L$in_cbc_prologue
2753 lea r10
,[$L
$cbc_popfq
]
2755 jae NEAR $L$in_cbc_prologue
2757 mov rax
,QWORD[8+rax
]
2760 $L$
in_cbc_frame_setup:
2761 mov rbx
,QWORD[((-16))+rax
]
2762 mov rbp
,QWORD[((-24))+rax
]
2763 mov r12
,QWORD[((-32))+rax
]
2764 mov r13
,QWORD[((-40))+rax
]
2765 mov r14
,QWORD[((-48))+rax
]
2766 mov r15
,QWORD[((-56))+rax
]
2767 mov QWORD[144+r8
],rbx
2768 mov QWORD[160+r8
],rbp
2769 mov QWORD[216+r8
],r12
2770 mov QWORD[224+r8
],r13
2771 mov QWORD[232+r8
],r14
2772 mov QWORD[240+r8
],r15
2775 mov rdi
,QWORD[8+rax
]
2776 mov rsi
,QWORD[16+rax
]
2777 mov QWORD[152+r8
],rax
2778 mov QWORD[168+r8
],rsi
2779 mov QWORD[176+r8
],rdi
2783 mov rdi
,QWORD[40+r9
]
2790 mov rdx
,QWORD[8+rsi
]
2792 mov r9
,QWORD[16+rsi
]
2793 mov r10
,QWORD[40+rsi
]
2796 mov QWORD[32+rsp
],r10
2797 mov QWORD[40+rsp
],r11
2798 mov QWORD[48+rsp
],r12
2799 mov QWORD[56+rsp
],rcx
2800 call QWORD[__imp_RtlVirtualUnwind
]
2813 DB 0F3h
,0C3h
;repret
2816 section .pdata rdata
align=4
2818 DD $L$SEH_begin_asm_AES_encrypt wrt ..imagebase
2819 DD $L$SEH_end_asm_AES_encrypt wrt ..imagebase
2820 DD $L$SEH_info_asm_AES_encrypt wrt ..imagebase
2822 DD $L$SEH_begin_asm_AES_decrypt wrt ..imagebase
2823 DD $L$SEH_end_asm_AES_decrypt wrt ..imagebase
2824 DD $L$SEH_info_asm_AES_decrypt wrt ..imagebase
2826 DD $L$SEH_begin_asm_AES_set_encrypt_key wrt ..imagebase
2827 DD $L$SEH_end_asm_AES_set_encrypt_key wrt ..imagebase
2828 DD $L$SEH_info_asm_AES_set_encrypt_key wrt ..imagebase
2830 DD $L$SEH_begin_asm_AES_set_decrypt_key wrt ..imagebase
2831 DD $L$SEH_end_asm_AES_set_decrypt_key wrt ..imagebase
2832 DD $L$SEH_info_asm_AES_set_decrypt_key wrt ..imagebase
2834 DD $L$SEH_begin_asm_AES_cbc_encrypt wrt ..imagebase
2835 DD $L$SEH_end_asm_AES_cbc_encrypt wrt ..imagebase
2836 DD $L$SEH_info_asm_AES_cbc_encrypt wrt ..imagebase
2838 section .xdata rdata
align=8
2840 $L$
SEH_info_asm_AES_encrypt:
2842 DD block_se_handler wrt ..imagebase
2843 DD $L
$enc_prologue wrt ..imagebase
,$L
$enc_epilogue wrt ..imagebase
2844 $L$
SEH_info_asm_AES_decrypt:
2846 DD block_se_handler wrt ..imagebase
2847 DD $L
$dec_prologue wrt ..imagebase
,$L
$dec_epilogue wrt ..imagebase
2848 $L$
SEH_info_asm_AES_set_encrypt_key:
2850 DD key_se_handler wrt ..imagebase
2851 DD $L
$enc_key_prologue wrt ..imagebase
,$L
$enc_key_epilogue wrt ..imagebase
2852 $L$
SEH_info_asm_AES_set_decrypt_key:
2854 DD key_se_handler wrt ..imagebase
2855 DD $L
$dec_key_prologue wrt ..imagebase
,$L
$dec_key_epilogue wrt ..imagebase
2856 $L$
SEH_info_asm_AES_cbc_encrypt:
2858 DD cbc_se_handler wrt ..imagebase