Function at 0x2f887fcd5
Capabilities:
Authenticate hmac

Disassembly:
cmp r10w, 0x1d
jne 0x2f887fce3
push r10
nop
pop r10
jmp 0x2f887fceb
push r11
shl r11d, 0x13
pop r11
push r15
nop
pop r15
mov qword [rsp + 8], rcx
push rbx
inc rbx
psrlq mm0, 0x20
pmaddwd mm1, mm4
push rax
psraw mm0, 0x10
pminsw mm5, mm7
push r14
nop
pop r14
psrlw mm4, 0x11
sar bx, 0xe
pop rax
psrad mm6, 0x3e
neg ebx
psraw mm6, 0x2a
pop rbx
mov qword [rsp + 0x10], rdx
push r13
nop
pop r13
mov qword [rsp + 0x18], r8
cmp r10d, 0x46
jne 0x2f887fd4f
push r11
paddw mm6, mm1
push r10
subps xmm1, xmm14
rol r10d, 0x14
pop r10
subps xmm14, xmm9
pop r11
jmp 0x2f887fd60
push rbx
nop
push r14
xor r14, rbx
sub ebx, r14d
pop r14
psrld mm6, 0x51
pop rbx
push r13
orps xmm6, xmm11
push r15
shl r15d, 8
punpcklwd mm4, mm2
pop r15
nop
pop r13
mov qword [rsp + 0x20], r9
push rcx
psubusw mm5, mm3
inc rcx
psrlq mm2, 0x5c
pmulhuw mm6, mm7
shr cx, 5
push r10
sbb r10w, 5
mov r10d, 0xd
emms
movhlps xmm4, xmm5
rcpps xmm7, xmm1
pop r10
sub rcx, 2
nop
emms
inc ecx
packuswb mm5, mm6
nop
pop rcx
sub rsp, 0x64
push rax
psllq mm6, 0x35
inc eax
push r10
nop
psrlw mm2, 0x6b
push r15
movups xmm10, xmm0
pcmpeqd mm5, mm1
push r8
pcmpeqd mm6, mm2
adc r10, r8
push r13
xor r15w, r10w
neg rax
pop r13
shl r8w, 8
sbb r15, rax
pop r8
nop
ror r15w, 0x14
pop r15
nop
addss xmm3, xmm15
pop r10
emms
pcmpeqw mm6, mm1
pop rax
movabs rcx, 0xef50916f
cmp r10b, 0x2e
jne 0x2f887fe18
push r9
psraw mm4, 0x4b
pop r9
jmp 0x2f887fe20
push r11
shr r11d, 0x10
pop r11
push r14
nop
pop r14
call fcn.2f8877dd2
push r15
mov r15, 3
push r8
pop r8
dec r15
jne 0x2f887fe33
pop r15
add rsp, 0x64
push r10
emms
psrld mm7, 0x61
mov r10b, 5
pslld mm0, 0x44
movhlps xmm2, xmm13
push r8
nop
nop
psubsb mm6, mm3
shr r10b, 0x16
dec r8
pop r8
pslld mm7, 0x1a
emms
emms
psrlw mm1, 0x6a
maxss xmm12, xmm15
emms
pop r10
mov rcx, qword [rsp + 8]
push r10
nop
push rbx
mov r10b, 3
push r11
sub bx, 0x11
push r14
test r10d, r14d
pop r14
emms
pop r11
nop
pop rbx
sar r10w, 9
pop r10
mov rdx, qword [rsp + 0x10]
push r9
psrlw mm3, 0x12
push r11
nop
nop
push rcx
mov cx, r9w
dec rcx
psrlq mm6, 0x38
push r13
sbb r11w, r13w
psllq mm6, 0x36
mov r9b, r11b
shl r13d, 0x11
push rbx
psrlw mm6, 0x1a
inc r9d
xadd rcx, r11
sbb rcx, 0x10
punpcklwd mm2, mm5
pop rbx
psubusw mm0, mm3
emms
xor r9d, r11d
sub cx, r13w
pop r13
mulss xmm2, xmm11
movups xmm6, xmm4
movups xmm7, xmm13
pop rcx
packssdw mm5, mm0
comiss xmm8, xmm11
pop r11
shl r9w, 0x10
pop r9
mov r8, qword [rsp + 0x18]
push rcx
rcl rcx, 5
nop
pcmpgtd mm2, mm0
nop
pmulhuw mm7, mm6
push r11
emms
psraw mm1, 0xf
xor r11, rcx
not cl
pcmpgtw mm1, mm3
pop r11
pmaxub mm2, mm5
psraw mm5, 0x2a
psrlq mm4, 0x69
mulps xmm13, xmm12
nop
punpckhbw mm7, mm3
pop rcx
mov r9, qword [rsp + 0x20]
cmp r10, r15
jne 0x2f887ffd9
push r9
orps xmm4, xmm8
push rdx
nop
pcmpgtw mm2, mm0
push r10
add r9b, dl
pmulhuw mm5, mm1
nop
push r12
add r10w, r9w
xadd r9d, r12d
psubw mm4, mm3
dec r12d
push r11
xor r12, r10
emms
emms
sar r10, 0xd
inc r11d
pop r11
psrlw mm0, 0x12
psrlq mm1, 0x43
nop
and r9, r10
pop r12
nop
emms
psrld mm5, 0x5e
pop r10
xchg r9w, dx
psrlq mm2, 0x23
pop rdx
not r9b
pop r9
jmp 0x2f887ffe1
push r11
sar r11, 6
pop r11
cmp r10w, 0x5a
jne 0x2f887fff2
push r14
shl r14, 3
pop r14
jmp 0x2f887fff8
push rax
sbb rax, 0xc
pop rax
push r11
pmullw mm4, mm1
pop r11
jmp rax