Function at 0x2904e31eb
Capabilities:
Authenticate hmac

Disassembly:
push rbx
sub rsp, 0x30
mov qword [rsp + 0x40], rcx
mov rbx, rdx
cmp r12w, 0xd
jne 0x2904e320d
push r10
inc r10
pop r10
jmp 0x2904e3214
push r14
punpckhwd mm3, mm4
pop r14
push r15
inc r15
pop r15
call fcn.2904f48df
mov qword [rsp + 0x28], rbx
push r10
not r10b
push rax
nop
pslld mm3, 0x41
push r11
psraw mm0, 0x1e
rcpps xmm5, xmm10
emms
push r12
addps xmm9, xmm12
dec r11
rcl r12d, 5
not r11w
pop r12
shr r10, 9
cmp r11w, r10w
nop
pop r11
maxps xmm8, xmm15
test r10, rax
pop rax
sar r10w, 6
pop r10
mov r9d, 0x8000
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x40]
or rcx, 0xffffffffffffffff
call fcn.2904ec182
mov ebx, eax
push r12
pslld mm6, 0x66
ror r12b, 6
mov r12, 9
paddw mm1, mm4
psrld mm7, 0x66
push r9
pslld mm0, 0x4f
rcr r9b, 0xd
psraw mm4, 0x12
psubw mm0, mm4
push rdx
psrld mm3, 0x5c
psrlw mm1, 0x2d
pcmpgtw mm7, mm1
push rcx
emms
shl r9w, 0xb
push r10
nop
pop r10
adc r12d, ecx
test r12w, cx
pop rcx
emms
inc r9
dec r9d
pop rdx
inc r9d
nop
nop
inc r12d
pop r9
sub r12, 0xe
nop
pcmpeqb mm3, mm1
psrld mm0, 0x43
neg r12w
pop r12
call fcn.2904f3c3a
test ebx, ebx
jne 0x2904e3320
cmp r12w, 0x1b
jne 0x2904e330b
push rax
minps xmm13, xmm7
pop rax
jmp 0x2904e3311
push r13
emms
pop r13
push rcx
neg rcx
pop rcx
mov eax, 1
jmp 0x2904e35e1
cmp r12, rbx
je 0x2904e3447
push r9
nop
rcl r9w, 0x17
not r9b
psraw mm3, 7
neg r9w
push r8
punpckhwd mm2, mm4
paddusb mm4, mm1
psrlq mm4, 0x6b
mov r9b, r8b
push r13
neg r8w
nop
psrlq mm5, 0x1d
push r11
emms
inc r11d
push rcx
emms
pop rcx
emms
psraw mm0, 0x27
pop r11
sar r9b, 5
pcmpeqw mm6, mm5
dec r13
pop r13
not r8w
xchg r9w, r8w
subss xmm8, xmm9
psubsb mm5, mm4
pop r8
nop
emms
psllq mm7, 0x10
pcmpeqd mm1, mm2
psrlw mm2, 0x2a
pop r9
cmp ax, bx
je 0x2904e3460
push r11
sar r11w, 9
dec r11
push r14
rcl r14, 0x13
psllq mm2, 0x1d
push rax
dec r11
andps xmm8, xmm9
push rdx
nop
emms
pop rdx
emms
and al, r11b
pop rax
emms
adc r14d, r11d
pop r14
mov r11w, 0xe
paddusb mm4, mm0
pop r11
cmp rbx, r10
je 0x2904e34a1
push rbx
psrad mm1, 0x55
pop rbx
cmp r12, 0x3c
je 0x2904e34cf
push r13
sar r13b, 0xb
pop r13
cmp ax, dx
je 0x2904e3513
push rcx
not cl
nop
paddsb mm0, mm4
push rbx
por mm3, mm5
neg bx
pminsw mm4, mm2
push r12
nop
pslld mm7, 0x3f
movups xmm13, xmm1
pop r12
nop
psrad mm7, 0x16
emms
pop rbx
rcpss xmm2, xmm14
andps xmm1, xmm13
shl cx, 3
pop rcx
cmp r9w, 0x21
je 0x2904e3571
jne 0x2904e35cf
push r13
mov r13, 2
push r8
pop r8
dec r13
jne 0x2904e3450
pop r13
jmp 0x2904e35cf
push r10
psrld mm6, 0x26
not r10d
neg r10
push r8
neg r8w
xchg r10d, r8d
pcmpeqb mm1, mm4
push r12
psrlw mm1, 0x5c
neg r12b
test r12b, r10b
pop r12
add r8d, r10d
psrlq mm1, 0xd
emms
pop r8
addps xmm1, xmm11
emms
dec r10
pop r10
jmp 0x2904e35cf
push r15
nop
push rax
mov al, r15b
push rdx
xorps xmm6, xmm14
push rbx
shl rdx, 0xf
push r13
psraw mm7, 0x57
pop r13
xchg rdx, rbx
pop rbx
emms
pop rdx
emms
pop rax
psrld mm0, 0x1b
pop r15
jmp 0x2904e35cf
push r12
emms
rcr r12, 0x11
paddusw mm3, mm7
push r9
rol r12b, 9
psllq mm5, 0x1e
nop
push rdx
nop
paddsb mm1, mm2
push r8
or r12d, r8d
nop
pop r8
nop
psllq mm3, 9
rcl r9, 3
pop rdx
emms
neg r12w
pop r9
shr r12b, 0x12
sar r12b, 9
pop r12
jmp 0x2904e35cf
push rbx
rcr bx, 0x16
dec rbx
rol bx, 0xe
nop
psraw mm5, 0x19
push rcx
nop
psrlw mm2, 0x16
emms
emms
push rax
sbb cl, 5
nop
and ax, cx
push rdx
xor dl, bl
neg bx
push r9
emms
pop r9
andnps xmm13, xmm5
pmaxub mm3, mm5
pop rdx
shr rbx, 1
nop
ucomiss xmm13, xmm9
pop rax
emms
paddusw mm0, mm2
nop
rcl cx, 0x17
pop rcx
andps xmm11, xmm9
nop
psrlq mm7, 0x22
movlhps xmm11, xmm12
por mm7, mm2
pop rbx
jmp 0x2904e35cf
push r9
pslld mm1, 0x36
push r13
nop
rol r9, 3
push rbx
emms
psubsb mm5, mm7
emms
push rax
mov r13w, 0x13
movaps xmm13, xmm5
psllq mm4, 0x32
emms
push rcx
emms
punpckhwd mm7, mm0
xadd r13d, ebx
adc rax, r9
pand mm6, mm0
pop rcx
psrld mm3, 0x46
psrld mm3, 0x27
psrlq mm0, 0x1e
mov r9b, al
pop rax
comiss xmm15, xmm4
paddsw mm1, mm4
movups xmm12, xmm2
pop rbx
sar r9d, 0x10
nop
pop r13
paddusb mm5, mm1
pop r9
push r12
psrad mm7, 0x2e
push rbx
or ebx, r12d
pop rbx
dec r12d
pop r12
xor eax, eax
add rsp, 0x30
pop rbx
ret