|  | #include <openssl/asm_base.h> | 
|  |  | 
|  | #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86_64) && \ | 
|  | (defined(__APPLE__) || defined(__ELF__)) | 
|  |  | 
|  | .intel_syntax noprefix | 
|  | .text | 
|  | #if defined(__APPLE__) | 
|  | .private_extern _fiat_curve25519_adx_square | 
|  | .global _fiat_curve25519_adx_square | 
|  | _fiat_curve25519_adx_square: | 
|  | #else | 
|  | .type fiat_curve25519_adx_square, @function | 
|  | .hidden fiat_curve25519_adx_square | 
|  | .global fiat_curve25519_adx_square | 
|  | fiat_curve25519_adx_square: | 
|  | #endif | 
|  |  | 
|  | .cfi_startproc | 
|  | _CET_ENDBR | 
|  | push rbp | 
|  | .cfi_adjust_cfa_offset 8 | 
|  | .cfi_offset rbp, -16 | 
|  | mov rbp, rsp | 
|  |  | 
|  | mov rdx, [ rsi + 0x0 ] | 
|  | mulx r10, rax, [ rsi + 0x8 ] | 
|  | mov rdx, [ rsi + 0x0 ] | 
|  | mulx rcx, r11, [ rsi + 0x10 ] | 
|  | xor rdx, rdx | 
|  | adox r11, r10 | 
|  | mov rdx, [ rsi + 0x0 ] | 
|  | mulx r9, r8, [ rsi + 0x18 ] | 
|  | mov rdx, [ rsi + 0x8 ] | 
|  | mov [ rsp - 0x80 ], rbx | 
|  | .cfi_offset rbx, -16-0x80 | 
|  | mulx rbx, r10, [ rsi + 0x18 ] | 
|  | adox r8, rcx | 
|  | mov [rsp - 0x48 ], rdi | 
|  | adox r10, r9 | 
|  | adcx rax, rax | 
|  | mov rdx, [ rsi + 0x10 ] | 
|  | mulx r9, rcx, [ rsi + 0x18 ] | 
|  | adox rcx, rbx | 
|  | mov rdx, [ rsi + 0x10 ] | 
|  | mulx rdi, rbx, [ rsi + 0x8 ] | 
|  | mov rdx, 0x0 | 
|  | adox r9, rdx | 
|  | mov [ rsp - 0x70 ], r12 | 
|  | .cfi_offset r12, -16-0x70 | 
|  | mov r12, -0x3 | 
|  | inc r12 | 
|  | adox rbx, r8 | 
|  | adox rdi, r10 | 
|  | adcx r11, r11 | 
|  | mov r8, rdx | 
|  | adox r8, rcx | 
|  | mov r10, rdx | 
|  | adox r10, r9 | 
|  | adcx rbx, rbx | 
|  | mov rdx, [ rsi + 0x0 ] | 
|  | mulx r9, rcx, rdx | 
|  | mov rdx, [ rsi + 0x8 ] | 
|  | mov [ rsp - 0x68 ], r13 | 
|  | .cfi_offset r13, -16-0x68 | 
|  | mov [ rsp - 0x60 ], r14 | 
|  | .cfi_offset r14, -16-0x60 | 
|  | mulx r14, r13, rdx | 
|  | seto dl | 
|  | inc r12 | 
|  | adox r9, rax | 
|  | adox r13, r11 | 
|  | adox r14, rbx | 
|  | adcx rdi, rdi | 
|  | mov al, dl | 
|  | mov rdx, [ rsi + 0x10 ] | 
|  | mulx rbx, r11, rdx | 
|  | adox r11, rdi | 
|  | adcx r8, r8 | 
|  | adox rbx, r8 | 
|  | adcx r10, r10 | 
|  | movzx rdx, al | 
|  | mov rdi, 0x0 | 
|  | adcx rdx, rdi | 
|  | movzx r8, al | 
|  | lea r8, [ r8 + rdx ] | 
|  | mov rdx, [ rsi + 0x18 ] | 
|  | mulx rdi, rax, rdx | 
|  | adox rax, r10 | 
|  | mov rdx, 0x26 | 
|  | mov [ rsp - 0x58 ], r15 | 
|  | .cfi_offset r15, -16-0x58 | 
|  | mulx r15, r10, r11 | 
|  | clc | 
|  | adcx r10, rcx | 
|  | mulx r11, rcx, rbx | 
|  | adox r8, rdi | 
|  | mulx rdi, rbx, r8 | 
|  | inc r12 | 
|  | adox rcx, r9 | 
|  | mulx r8, r9, rax | 
|  | adcx r15, rcx | 
|  | adox r9, r13 | 
|  | adcx r11, r9 | 
|  | adox rbx, r14 | 
|  | adox rdi, r12 | 
|  | adcx r8, rbx | 
|  | adc rdi, 0x0 | 
|  | mulx r14, r13, rdi | 
|  | test al, al | 
|  | mov rdi, [ rsp - 0x48 ] | 
|  | adox r13, r10 | 
|  | mov r14, r12 | 
|  | adox r14, r15 | 
|  | mov [ rdi + 0x8 ], r14 | 
|  | mov rax, r12 | 
|  | adox rax, r11 | 
|  | mov r10, r12 | 
|  | adox r10, r8 | 
|  | mov [ rdi + 0x10 ], rax | 
|  | mov rcx, r12 | 
|  | cmovo rcx, rdx | 
|  | adcx r13, rcx | 
|  | mov [ rdi + 0x0 ], r13 | 
|  | mov [ rdi + 0x18 ], r10 | 
|  | mov rbx, [ rsp - 0x80 ] | 
|  | .cfi_restore rbx | 
|  | mov r12, [ rsp - 0x70 ] | 
|  | .cfi_restore r12 | 
|  | mov r13, [ rsp - 0x68 ] | 
|  | .cfi_restore r13 | 
|  | mov r14, [ rsp - 0x60 ] | 
|  | .cfi_restore r14 | 
|  | mov r15, [ rsp - 0x58 ] | 
|  | .cfi_restore r15 | 
|  |  | 
|  | pop rbp | 
|  | .cfi_restore rbp | 
|  | .cfi_adjust_cfa_offset -8 | 
|  | ret | 
|  | .cfi_endproc | 
|  | #if defined(__ELF__) | 
|  | .size fiat_curve25519_adx_square, .-fiat_curve25519_adx_square | 
|  | #endif | 
|  |  | 
|  | #endif |