Function at 0x39404a588
Capabilities:
Authenticate hmac

Disassembly:
push rcx
mulss xmm2, xmm8
movlhps xmm9, xmm0
push r11
emms
punpckldq mm1, mm5
push rax
rcl ax, 3
neg r11b
push r15
or r15, rcx
neg eax
push r8
psubw mm0, mm1
not ecx
pop r8
psrlw mm5, 0x30
psrad mm1, 0x51
pop r15
or r11b, al
emms
pop rax
psrlq mm1, 4
emms
pop r11
movlhps xmm2, xmm12
nop
pop rcx
mov qword [rsp + 8], rcx
push r15
dec r15d
rcr r15b, 0x12
punpckldq mm3, mm6
push rcx
neg cx
add cl, r15b
neg rcx
push rbx
movlhps xmm14, xmm7
mov r15d, 5
paddusw mm0, mm5
pop rbx
not rcx
pmaxsw mm4, mm1
sar r15w, 0x16
pop rcx
psrlq mm6, 0x4c
rcl r15w, 4
pandn mm3, mm7
pop r15
mov qword [rsp + 0x10], rdx
push r11
movlhps xmm1, xmm9
shl r11b, 9
nop
push rdx
paddb mm2, mm1
movlhps xmm10, xmm12
rcpss xmm5, xmm1
push rax
maxps xmm15, xmm7
cmp edx, eax
cmp r11b, dl
pop rax
xorps xmm6, xmm10
addps xmm5, xmm4
emms
pop rdx
emms
nop
psrad mm0, 0x2b
pop r11
mov qword [rsp + 0x18], r8
cmp r11w, r12w
je 0x39404a76d
push r13
emms
push rbx
shr rbx, 0x17
push rdx
psrlq mm6, 0xa
push r12
nop
push r15
xchg rbx, r15
pop r15
inc r13d
pop r12
andps xmm1, xmm3
pop rdx
psrlw mm7, 1
pop rbx
rcr r13b, 1
pop r13
cmp r11w, 0x59
je 0x39404a7b1
push r15
sbb r15w, 6
push rbx
pcmpeqw mm1, mm6
psraw mm5, 0x13
pop rbx
emms
pop r15
cmp r14, rdx
je 0x39404a7d2
push r15
psraw mm1, 0x3e
psrld mm3, 0x5a
push r8
rcl r8b, 2
shr r15w, 7
push r11
emms
andps xmm3, xmm1
push rbx
emms
emms
push r12
emms
rcpss xmm12, xmm0
pop r12
pcmpgtd mm6, mm7
psrlw mm2, 0x19
pop rbx
nop
nop
pop r11
nop
emms
pop r8
emms
ror r15b, 5
pop r15
cmp r9d, r11d
je 0x39404a7ee
push r11
psrlw mm0, 0x46
pop r11
cmp r14d, edx
je 0x39404a835
cmp r11b, 0x61
jne 0x39404a73c
push r13
rcr r13b, 0x12
push r14
emms
psrld mm0, 0x13
pop r14
emms
pop r13
jmp 0x39404a74c
push rax
addss xmm11, xmm6
push rdx
adc eax, edx
inc rdx
pop rdx
inc eax
pop rax
push r9
nop
push r15
andnps xmm4, xmm12
nop
pop r15
pandn mm0, mm5
pop r9
cmp rdx, 0x4b
je 0x39404a84b
jne 0x39404a860
push rcx
pcmpeqw mm6, mm0
punpckhbw mm6, mm2
rol cl, 0xd
paddusb mm0, mm5
push r12
xadd ecx, r12d
emms
psraw mm1, 0x66
push rdx
add dl, cl
nop
push rbx
xchg edx, r12d
pop rbx
or dx, cx
emms
pop rdx
neg r12w
sbb cl, 0x15
sbb rcx, 0x16
pop r12
psrlw mm6, 0x52
emms
emms
nop
pop rcx
jmp 0x39404a860
cmp r11b, 0x2d
jne 0x39404a7c0
push r9
pminsw mm7, mm3
pop r9
jmp 0x39404a7c7
push rax
rcpss xmm11, xmm12
pop rax
push r13
emms
pop r13
jmp 0x39404a860
cmp r11w, dx
jne 0x39404a7e1
push r15
pmaddwd mm1, mm7
pop r15
jmp 0x39404a7e6
push r10
nop
pop r10
push rdx
subps xmm0, xmm9
pop rdx
jmp 0x39404a860
push rdx
dec rdx
paddusb mm6, mm4
push r14
sub r14d, 1
emms
push r10
xor r10, r14
ror r10b, 0x12
push r9
nop
movlhps xmm1, xmm0
push r8
sar dx, 0xb
nop
pop r8
mov dx, r14w
test r14w, r10w
pop r9
nop
paddsw mm7, mm2
pop r10
psrlq mm7, 0x5c
nop
pop r14
movups xmm9, xmm3
emms
pop rdx
jmp 0x39404a860
push r15
mov r15, 1
push rdx
push rax
pop rax
pop rdx
dec r15
jne 0x39404a83e
pop r15
jmp 0x39404a860
push r15
nop
movups xmm14, xmm3
nop
pmaxub mm0, mm1
emms
paddw mm7, mm5
not r15b
pop r15
push r10
dec r10
push r13
rcr r10w, 0xc
paddusw mm5, mm1
push r11
nop
pslld mm0, 0x36
cmp r13w, r11w
push r14
nop
punpcklwd mm3, mm5
rcr r10d, 1
nop
pop r14
test r10w, r11w
shl r13b, 2
nop
pop r11
ror r10, 0xb
not r13
pop r13
pslld mm2, 6
pop r10
mov qword [rsp + 0x20], r9
push r11
paddb mm3, mm6
push rax
pslld mm0, 0x2c
nop
push rdx
mulss xmm8, xmm0
nop
emms
push r15
psllq mm4, 0x19
not r15
punpcklwd mm1, mm6
paddusb mm2, mm7
push r8
emms
andnps xmm15, xmm4
emms
dec rax
nop
pop r8
emms
nop
xorps xmm13, xmm2
paddw mm2, mm1
pop r15
nop
psrld mm3, 0x19
xadd dl, al
pop rdx
emms
emms
pop rax
not r11d
pop r11
sub rsp, 0x64
push rax
mov rax, 2
push rcx
shl cl, 0xc
dec rcx
pcmpgtd mm4, mm7
push r11
emms
not cx
not r11w
push r12
add cx, r11w
shr ecx, 0x13
push rax
psrad mm4, 0x60
movaps xmm14, xmm10
pop rax
not r11
sbb r12w, 0xc
emms
pop r12
inc ecx
emms
pop r11
rol rcx, 4
maxss xmm2, xmm7
pop rcx
dec rax
jne 0x39404a903
pop rax
mov rcx, 0x3c5522c1
push r13
nop
psllq mm7, 0x1e
emms
rcpps xmm10, xmm9
push r12
nop
nop
psllq mm1, 4
mov r13, r12
pop r12
not r13w
sbb r13b, 0xb
emms
sub r13b, 9
pop r13
call fcn.394048608
push rax
not rax
emms
subps xmm3, xmm2
psrad mm4, 0x1b
nop
not rax
paddd mm1, mm6
pop rax
mov r15, rax
push rcx
pxor mm5, mm3
push rdx
emms
push r12
psrlq mm5, 0x6b
push r14
movlhps xmm0, xmm8
push rbx
neg dx
push r11
emms
pop r11
nop
pop rbx
psrlq mm7, 0x3e
pop r14
nop
pop r12
pcmpgtw mm7, mm0
pop rdx
sub rcx, 0xb
pop rcx
mov rcx, 0x3c5522c1
push r9
nop
push r11
pcmpeqb mm6, mm7
punpckhbw mm6, mm2
pop r11
neg r9
pop r9
call fcn.3940487b3
cmp r11b, 0x5a
jne 0x39404a9f9
push r14
psrlq mm4, 0x19
pop r14
jmp 0x39404aa01
push r9
pslld mm5, 0x4c
pop r9
push r8
inc r8
pop r8
add rsp, 0x64
push r13
mulss xmm6, xmm3
push rax
psraw mm0, 0x18
push rdx
sub edx, eax
push rbx
dec ebx
push rcx
shl r13b, 0xa
push r9
packsswb mm3, mm6
push r8
xor r8d, ecx
pop r8
ror cl, 0xb
pop r9
xchg dx, r13w
pop rcx
not eax
pop rbx
psrlw mm3, 0x29
pop rdx
pmaxsw mm3, mm4
pop rax
nop
pop r13
mov rcx, qword [rsp + 8]
push rdx
pand mm0, mm5
push r12
inc rdx
nop
push r10
emms
cmp edx, r12d
adc edx, r12d
pop r10
nop
punpcklwd mm7, mm5
pop r12
punpcklwd mm4, mm0
pop rdx
mov rdx, qword [rsp + 0x10]
push r14
inc r14d
emms
movlhps xmm12, xmm5
emms
emms
shl r14b, 9
pslld mm5, 0x6b
paddb mm5, mm7
shl r14, 5
psrlw mm7, 0x61
neg r14d
pcmpeqb mm6, mm4
pop r14
mov r8, qword [rsp + 0x18]
push r12
nop
push rbx
rol r12, 4
emms
push rax
paddusb mm1, mm3
paddb mm1, mm2
sub bx, ax
push rdx
neg eax
psraw mm5, 0x39
xor r12, rbx
shl rdx, 0x13
pop rdx
psrlq mm6, 0x53
pcmpgtb mm5, mm1
sbb bl, al
pop rax
pcmpeqb mm3, mm5
pmaxsw mm0, mm7
pop rbx
pxor mm3, mm0
pop r12
mov r9, qword [rsp + 0x20]
push r12
psrlw mm2, 0x43
dec r12d
push rax
maxss xmm13, xmm2
mulps xmm3, xmm5
push r9
psraw mm3, 0x18
comiss xmm1, xmm2
push r15
inc eax
emms
push r13
pminsw mm7, mm2
nop
pop r13
emms
pxor mm3, mm0
pop r15
emms
nop
pop r9
mulps xmm9, xmm13
shl r12w, 0x17
pop rax
emms
psrlq mm4, 0x40
pop r12
mov r10, rcx
push rdx
shl rdx, 0x12
emms
emms
nop
push r9
psrlw mm0, 0x41
dec r9d
xor r9, rdx
sbb edx, r9d
pop r9
neg dx
paddd mm7, mm2
packsswb mm5, mm0
emms
pop rdx
jmp r15