Function at 0x2904f2525
Capabilities:
Authenticate hmac

Disassembly:
push rbx
sub rsp, 0x50
push r8
nop
psrad mm6, 0x5d
psrad mm0, 0x4b
paddw mm0, mm5
push rcx
movlhps xmm7, xmm6
emms
mov cx, 0x13
sub r8b, cl
pop rcx
psrlq mm6, 0x6b
emms
inc r8
shr r8d, 5
pop r8
cmp r12b, 5
jne 0x2904f2565
push r13
psrlw mm0, 4
pop r13
jmp 0x2904f256a
push r11
nop
pop r11
push rax
emms
pop rax
push rbx
psubw mm3, mm4
psraw mm3, 0x23
psrad mm4, 0x23
emms
shl bx, 1
emms
psrlq mm3, 0x2e
psubusw mm1, mm5
sub rbx, 6
emms
emms
psraw mm0, 0x12
pop rbx
cmp r12b, 0x67
jne 0x2904f25ae
push rax
emms
push rcx
movups xmm11, xmm10
punpcklwd mm1, mm7
pop rcx
andps xmm7, xmm10
pop rax
jmp 0x2904f25c3
push r15
pslld mm4, 7
push r10
emms
xchg r10w, r15w
pop r10
paddsb mm4, mm2
pop r15
push r13
ror r13b, 8
push r12
punpcklwd mm7, mm1
neg r13b
pop r12
ucomiss xmm15, xmm0
pop r13
push r13
movlhps xmm4, xmm13
pop r13
push r11
not r11
push rbx
shl bl, 0xa
pop rbx
psraw mm1, 0x12
pop r11
push r13
nop
push r8
nop
inc r8
push r12
pslld mm3, 7
subps xmm10, xmm2
pcmpeqw mm5, mm1
pop r12
neg r8b
pcmpgtw mm6, mm2
pop r8
emms
pop r13
push r14
paddw mm6, mm4
push r10
shl r14, 8
pandn mm0, mm3
push r12
emms
nop
rcr r10b, 0x11
push rbx
sbb r12b, r10b
pslld mm1, 0x3e
sbb rbx, r14
movups xmm12, xmm6
push rdx
neg r12b
xadd r14w, bx
adc rbx, rdx
not dl
movhlps xmm15, xmm14
pop rdx
or ebx, r10d
mulps xmm3, xmm2
psrlw mm3, 0x2e
emms
pop rbx
psubusw mm3, mm5
psrlw mm5, 6
nop
pop r12
movss xmm10, xmm14
psrad mm2, 0x19
pop r10
nop
pop r14
rdtsc
push rbx
psrlw mm7, 0x5c
push rdx
movaps xmm9, xmm15
psrld mm2, 0xd
pop rdx
neg rbx
pop rbx
push r10
andps xmm10, xmm5
sub r10w, 8
emms
push r13
not r10w
emms
push r12
nop
pop r12
or r10, r13
psrad mm4, 0xd
pop r13
rcpps xmm13, xmm11
emms
nop
pop r10
push rdx
inc rdx
pcmpgtw mm0, mm7
psrad mm2, 0x36
emms
push r14
nop
psrlq mm6, 0x27
emms
movlhps xmm12, xmm11
pop r14
emms
shr edx, 0x17
neg dl
inc edx
pop rdx
mov qword [rsp + 0x48], 0xffffffffffffd8f0
push r8
neg r8b
nop
mulps xmm12, xmm13
push r14
emms
nop
emms
push r11
shr r14w, 0x13
psrlw mm3, 0x36
packsswb mm7, mm4
pop r11
dec r14d
addss xmm12, xmm13
inc r14
pop r14
nop
pslld mm1, 0x69
inc r8
pop r8
shl rdx, 0x20
mov eax, eax
mov ecx, 0x14
or rax, rdx
xor edx, edx
div rcx
imul ebx, edx, 0x3e8
push r8
pmulhuw mm4, mm5
nop
psrlq mm0, 0x18
sbb r8d, 0x15
push r15
emms
emms
inc r15d
push r9
emms
maxps xmm9, xmm3
push rcx
movss xmm2, xmm10
pop rcx
shl r9b, 0xa
dec r8d
pop r9
orps xmm8, xmm14
mulps xmm2, xmm14
dec r8
pop r15
pslld mm5, 0x37
pcmpgtb mm3, mm1
psllq mm7, 0x61
not r8b
pop r8
lea eax, [rbx + 0x2710]
imul rax, qword [rsp + 0x48]
mov qword [rsp + 0x48], rax
push r14
sbb r14b, 7
not r14
push r15
nop
pop r15
psrld mm2, 0x4f
minps xmm15, xmm1
pop r14
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x28]
call fcn.2904ea888
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.2904e9def
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.2904ea888
push rcx
mov rcx, 0xd
push r15
cmp rcx, r15
sbb r15d, 0xd
push r8
inc r8
psraw mm2, 0x63
emms
push r11
psraw mm4, 0x55
ror r8d, 0xd
pcmpgtb mm4, mm3
sub r8, 0xa
pop r11
pxor mm0, mm5
nop
sub ecx, 8
pop r8
sar ecx, 9
psllq mm6, 0x5b
pop r15
maxss xmm4, xmm2
pop rcx
imul rax, qword [rsp + 0x38], 0x3e8
cqo
idiv qword [rsp + 0x30]
mov rcx, rax
imul rax, qword [rsp + 0x28], 0x3e8
cqo
idiv qword [rsp + 0x40]
sub ecx, eax
push rax
mov rax, 3
push r8
push r9
pop r9
pop r8
dec rax
jne 0x2904f2846
pop rax
add ebx, 0x2328
cmp ebx, ecx
jae 0x2904f289d
push r15
mov r15w, 0xa
emms
nop
rol r15, 0x12
shl r15d, 0xe
push r12
paddd mm0, mm4
mulss xmm0, xmm9
rcpss xmm6, xmm14
pcmpeqw mm0, mm7
addss xmm5, xmm10
pop r12
nop
paddusw mm7, mm0
psraw mm5, 0xa
psrlw mm1, 1
packsswb mm7, mm1
nop
pop r15
jmp 0x2904f2912
push r11
comiss xmm6, xmm10
packuswb mm6, mm2
packssdw mm2, mm5
paddusb mm1, mm5
pcmpgtw mm7, mm0
push r8
xor r11, r8
emms
nop
sar r11, 4
push rcx
psrlw mm0, 0x20
pand mm3, mm1
dec rcx
push r12
packuswb mm5, mm4
rcl r8, 6
push rbx
mov r11w, bx
pop rbx
rcpps xmm1, xmm12
not rcx
pop r12
mov cl, r11b
rcr rcx, 0xb
nop
pop rcx
psllq mm6, 0x42
pcmpgtb mm1, mm4
subps xmm4, xmm5
inc r8d
pop r8
paddsw mm4, mm1
psrlq mm3, 0x49
not r11
neg r11w
pslld mm5, 0x5f
pop r11
xor ecx, ecx
call fcn.2904eb801
nop
add rsp, 0x50
pop rbx
ret