; Copyright 2002-2019 Intel Corporation. ; ; This software is provided to you as Sample Source Code as defined in the accompanying ; End User License Agreement for the Intel(R) Software Development Products ("Agreement") ; section 1.L. ; ; This software and the related documents are provided as is, with no express or implied ; warranties, other than those that are expressly stated in the License. PUBLIC Analysis_func PUBLIC Analysis_func_immed PUBLIC Analysis_func_reg_overwrite .code Analysis_func PROC push rbx push rsi push rdi sub rsp, 16 mov QWORD PTR[rsp], rbx mov QWORD PTR[rsp+8], rcx mov rbx, QWORD PTR [rsp+80] mov ebx, DWORD PTR [rsp+80] mov bx, WORD PTR [rsp+80] mov bl, BYTE PTR [rsp+80] cmp rbx, QWORD PTR [rsp+80] cmp ebx, DWORD PTR [rsp+80] cmp bx, WORD PTR [rsp+80] cmp bl, BYTE PTR [rsp+80] cmp QWORD PTR [rsp+80], rbx cmp DWORD PTR [rsp+80], ebx cmp WORD PTR [rsp+80], bx cmp BYTE PTR [rsp+80], bl add rbx, QWORD PTR [rsp+80] add ebx, DWORD PTR [rsp+80] add bx, WORD PTR [rsp+80] add bl, BYTE PTR [rsp+80] adc rbx, QWORD PTR [rsp+80] adc ebx, DWORD PTR [rsp+80] adc bx, WORD PTR [rsp+80] adc bl, BYTE PTR [rsp+80] sub rbx, QWORD PTR [rsp+80] sub ebx, DWORD PTR [rsp+80] sub bx, WORD PTR [rsp+80] sub bl, BYTE PTR [rsp+80] sbb rbx, QWORD PTR [rsp+80] sbb ebx, DWORD PTR [rsp+80] sbb bx, WORD PTR [rsp+80] sbb bl, BYTE PTR [rsp+80] xor rbx, QWORD PTR [rsp+80] xor ebx, DWORD PTR [rsp+80] xor bx, WORD PTR [rsp+80] xor bl, BYTE PTR [rsp+80] or rbx, QWORD PTR [rsp+80] or ebx, DWORD PTR [rsp+80] or bx, WORD PTR [rsp+80] or bl, BYTE PTR [rsp+80] movzx rbx, WORD PTR [rsp+80] movzx rbx, BYTE PTR [rsp+80] movzx ebx, BYTE PTR [rsp+80] movzx bx, BYTE PTR [rsp+80] movsx rbx, WORD PTR [rsp+80] movsx rbx, BYTE PTR [rsp+80] movsx ebx, BYTE PTR [rsp+80] movsx bx, BYTE PTR [rsp+80] mov rbx, QWORD PTR[rsp] mov rcx, QWORD PTR[rsp+8] add rsp, 16 pop rdi pop rsi pop rbx ret Analysis_func ENDP Analysis_func_immed PROC push rbx mov rbx, QWORD PTR [rsp+48] mov ebx, DWORD PTR [rsp+48] mov bx, WORD PTR [rsp+48] mov bl, BYTE PTR [rsp+48] cmp rbx, QWORD PTR [rsp+48] cmp ebx, DWORD PTR [rsp+48] cmp bx, WORD PTR [rsp+48] cmp bl, BYTE PTR [rsp+48] cmp QWORD PTR [rsp+48], rbx cmp DWORD PTR [rsp+48], ebx cmp WORD PTR [rsp+48], bx cmp BYTE PTR [rsp+48], bl cmp QWORD PTR [rsp+48], 0baadf00dH cmp DWORD PTR [rsp+48], 0baadf00dH cmp WORD PTR [rsp+48], 0baadH cmp BYTE PTR [rsp+48], 0baH add rbx, QWORD PTR [rsp+48] add ebx, DWORD PTR [rsp+48] add bx, WORD PTR [rsp+48] add bl, BYTE PTR [rsp+48] adc rbx, QWORD PTR [rsp+48] adc ebx, DWORD PTR [rsp+48] adc bx, WORD PTR [rsp+48] adc bl, BYTE PTR [rsp+48] sub rbx, QWORD PTR [rsp+48] sub ebx, DWORD PTR [rsp+48] sub bx, WORD PTR [rsp+48] sub bl, BYTE PTR [rsp+48] sbb rbx, QWORD PTR [rsp+48] sbb ebx, DWORD PTR [rsp+48] sbb bx, WORD PTR [rsp+48] sbb bl, BYTE PTR [rsp+48] xor rbx, QWORD PTR [rsp+48] xor ebx, DWORD PTR [rsp+48] xor bx, WORD PTR [rsp+48] xor bl, BYTE PTR [rsp+48] or rbx, QWORD PTR [rsp+48] or ebx, DWORD PTR [rsp+48] or bx, WORD PTR [rsp+48] or bl, BYTE PTR [rsp+48] movzx rbx, WORD PTR [rsp+48] movzx rbx, BYTE PTR [rsp+48] movzx ebx, BYTE PTR [rsp+48] movzx bx, BYTE PTR [rsp+48] movsx rbx, WORD PTR [rsp+48] movsx rbx, BYTE PTR [rsp+48] movsx bx, BYTE PTR [rsp+48] movsx ebx, BYTE PTR [rsp+48] pop rbx ret Analysis_func_immed ENDP Analysis_func_reg_overwrite PROC push rbx push rsi push rdi sub rsp, 16 mov esi, eax mov QWORD PTR[rsp], rbx mov QWORD PTR[rsp+8], rcx mov rbx, QWORD PTR [rsp+80] mov ebx, DWORD PTR [rsp+80] mov bx, WORD PTR [rsp+80] mov bl, BYTE PTR [rsp+80] cmp rbx, QWORD PTR [rsp+80] cmp ebx, DWORD PTR [rsp+80] cmp bx, WORD PTR [rsp+80] cmp bl, BYTE PTR [rsp+80] cmp QWORD PTR [rsp+80], rbx cmp DWORD PTR [rsp+80], ebx cmp WORD PTR [rsp+80], bx cmp BYTE PTR [rsp+80], bl add rbx, QWORD PTR [rsp+80] add ebx, DWORD PTR [rsp+80] add bx, WORD PTR [rsp+80] add bl, BYTE PTR [rsp+80] adc rbx, QWORD PTR [rsp+80] adc ebx, DWORD PTR [rsp+80] adc bx, WORD PTR [rsp+80] adc bl, BYTE PTR [rsp+80] sub rbx, QWORD PTR [rsp+80] sub ebx, DWORD PTR [rsp+80] sub bx, WORD PTR [rsp+80] sub bl, BYTE PTR [rsp+80] sbb rbx, QWORD PTR [rsp+80] sbb ebx, DWORD PTR [rsp+80] sbb bx, WORD PTR [rsp+80] sbb bl, BYTE PTR [rsp+80] xor rbx, QWORD PTR [rsp+80] xor ebx, DWORD PTR [rsp+80] xor bx, WORD PTR [rsp+80] xor bl, BYTE PTR [rsp+80] or rbx, QWORD PTR [rsp+80] or ebx, DWORD PTR [rsp+80] or bx, WORD PTR [rsp+80] or bl, BYTE PTR [rsp+80] movzx rbx, WORD PTR [rsp+80] movzx rbx, BYTE PTR [rsp+80] movzx bx, BYTE PTR [rsp+80] movzx ebx, BYTE PTR [rsp+80] movsx rbx, WORD PTR [rsp+80] movsx rbx, BYTE PTR [rsp+80] movsx bx, BYTE PTR [rsp+80] movsx ebx, BYTE PTR [rsp+80] mov rbx, QWORD PTR[rsp] mov rcx, QWORD PTR[rsp+8] add rsp, 16 pop rdi pop rsi pop rbx ret Analysis_func_reg_overwrite ENDP end