Function at 0x1d8c51727
Capabilities:
Authenticate hmac
Encrypt data using speck

Disassembly:
push rbx
sub rsp, 0x50
push r9
mov r9, 2
push r10
pop r10
dec r9
jne 0x1d8c51735
pop r9
cmp r15b, 0x65
je 0x1d8c5184f
cmp r15w, 0x2c
jne 0x1d8c51769
push r12
emms
push r13
psraw mm6, 0x48
psrlw mm0, 3
pop r13
shr r12b, 3
pop r12
jmp 0x1d8c5177e
push r8
movups xmm11, xmm10
push r9
rcl r8, 0xe
emms
pop r9
paddsb mm4, mm0
pop r8
push r15
pandn mm1, mm5
push r14
inc r15d
sub r14, 0x11
pop r14
psrld mm7, 0x49
pop r15
cmp r15b, 0x5a
je 0x1d8c51866
push r8
maxss xmm3, xmm12
push r9
psrad mm6, 0x6a
push r10
pcmpeqb mm2, mm0
push r12
pmaddwd mm4, mm2
push rbx
pslld mm6, 0x10
push r14
xor r8b, r10b
pop r14
emms
pop rbx
psubsb mm0, mm3
pop r12
psrld mm4, 0x61
pop r10
pminsw mm2, mm3
pop r9
rol r8w, 0x11
pop r8
cmp r15, rcx
je 0x1d8c51874
push r11
comiss xmm11, xmm7
push rbx
sbb r11, rbx
pop rbx
rcr r11d, 3
pop r11
cmp rdx, 3
je 0x1d8c518b9
push r12
mov r12, 1
push r11
pop r11
dec r12
jne 0x1d8c51808
pop r12
cmp r12b, bl
je 0x1d8c518fe
push r13
minps xmm0, xmm11
push rbx
not bx
nop
push r8
inc r13d
psrad mm2, 0x52
emms
pop r8
or ebx, r13d
pcmpgtd mm7, mm0
pop rbx
punpckhwd mm5, mm7
pop r13
cmp r8, r9
je 0x1d8c5193e
jne 0x1d8c5196e
push r14
mov r14, 3
push rbx
pop rbx
dec r14
jne 0x1d8c51858
pop r14
jmp 0x1d8c5196e
push r11
mulss xmm12, xmm5
pop r11
jmp 0x1d8c5196e
push r12
nop
push r14
nop
sbb r12d, 0x11
push r13
subps xmm5, xmm4
test r12b, r13b
rcl r13w, 5
push r9
emms
nop
psrld mm5, 0x47
shl r14d, 0x14
pop r9
emms
emms
psrlq mm3, 0x14
pop r13
neg r12b
addss xmm6, xmm13
pop r14
psrlq mm3, 0x69
pop r12
jmp 0x1d8c5196e
push r11
minps xmm8, xmm11
push r14
minps xmm0, xmm12
not r11b
push r10
emms
psubw mm6, mm7
shr r10, 0x14
push rax
orps xmm5, xmm7
emms
subps xmm1, xmm12
psrlw mm5, 0x10
pop rax
sub r10w, r11w
sbb r10d, 0xb
psrlq mm7, 0xf
pop r10
pcmpeqd mm3, mm5
rol r11d, 5
pop r14
nop
pop r11
jmp 0x1d8c5196e
push r11
emms
push r8
shl r8w, 0x17
rcr r8d, 4
push r14
nop
rcl r14w, 7
emms
push r12
packsswb mm5, mm1
psllq mm6, 0x69
not r11b
rcpss xmm7, xmm8
pop r12
neg r14
shr r14, 1
punpckldq mm5, mm4
pop r14
nop
nop
pop r8
nop
pop r11
jmp 0x1d8c5196e
push r14
packsswb mm2, mm0
pand mm5, mm4
psraw mm0, 0x6b
emms
push r8
ror r8d, 0x12
punpckhbw mm3, mm4
punpcklbw mm6, mm2
paddusw mm1, mm3
pop r8
pcmpgtw mm0, mm7
ucomiss xmm9, xmm5
movlhps xmm6, xmm12
neg r14w
pop r14
cmp r15, r11
jne 0x1d8c519a2
push r13
emms
push r14
pxor mm0, mm6
mov r14, 0xd
pop r14
shl r13b, 3
pop r13
jmp 0x1d8c519b3
push rbx
not rbx
push r12
ror ebx, 2
emms
pop r12
sar ebx, 0x11
pop rbx
push r8
psrlw mm5, 0x4d
push rax
neg eax
nop
pop rax
movhlps xmm3, xmm1
pop r8
cmp r15, r11
jne 0x1d8c519d7
push r8
dec r8
pop r8
jmp 0x1d8c519de
push r11
pcmpeqd mm2, mm5
pop r11
push r14
nop
pop r14
cmp r15, rbx
je 0x1d8c51b37
push rdx
psubw mm0, mm3
push r9
psllq mm5, 0x1c
push rax
movhlps xmm14, xmm3
push rbx
nop
push r13
movss xmm15, xmm1
push r8
or r13d, r9d
pop r8
punpckhbw mm5, mm3
pop r13
por mm2, mm3
pop rbx
nop
pop rax
dec edx
pop r9
neg edx
pop rdx
cmp r8d, r9d
je 0x1d8c51b7a
push r11
dec r11
shl r11d, 0xa
push r15
psraw mm2, 0x38
pslld mm1, 0x59
push r8
emms
emms
push rax
add r11w, r15w
psrad mm1, 0x35
pop rax
shr r8d, 0x15
psraw mm5, 0x32
pop r8
psrlq mm7, 0x4f
nop
pop r15
pcmpgtb mm6, mm7
nop
pop r11
cmp r8, 3
je 0x1d8c51bba
push rcx
nop
emms
emms
push r13
rcl rcx, 5
psrld mm3, 0x60
adc ecx, r13d
push r11
rcpss xmm11, xmm0
nop
dec r13d
pop r11
pmaxub mm4, mm5
psrlw mm3, 0x40
dec rcx
pop r13
inc ecx
nop
movaps xmm14, xmm6
pop rcx
cmp r10d, r15d
je 0x1d8c51bf6
push r15
movups xmm14, xmm1
push r9
xorps xmm7, xmm6
push r11
add r11w, r9w
push r13
emms
push rdx
nop
push rbx
pmulhuw mm6, mm3
push r10
pslld mm6, 0x43
pop r10
sbb rdx, 3
pop rbx
emms
pop rdx
sub r15w, r9w
pop r13
nop
pop r11
emms
pop r9
rol r15b, 0xa
pop r15
cmp r12, 0x4f
je 0x1d8c51c18
push rdx
emms
push r10
emms
push r14
dec r14d
push rax
emms
push r13
shl r10b, 0xe
push rcx
nop
push r8
psrlw mm2, 0x3d
pop r8
nop
pop rcx
nop
pop r13
psrld mm5, 0x5c
pop rax
comiss xmm3, xmm7
pop r14
subps xmm8, xmm3
pop r10
shl dl, 0x15
pop rdx
cmp ax, 0x15
je 0x1d8c51c33
jne 0x1d8c51c4c
push r14
nop
push rbx
emms
nop
push r8
psrlq mm6, 0x2b
nop
movups xmm15, xmm4
push r12
psllq mm5, 0x58
ucomiss xmm1, xmm10
emms
rol r12w, 0x10
pop r12
mulps xmm6, xmm0
sbb rbx, 0x17
punpcklwd mm1, mm2
pop r8
dec rbx
dec r14d
pop rbx
psrld mm7, 0x3d
pop r14
jmp 0x1d8c51c4c
cmp r15d, 0x14
jne 0x1d8c51b96
push rdx
dec rdx
push r13
sar r13d, 3
sub r13w, 0x14
pop r13
dec edx
pop rdx
jmp 0x1d8c51ba9
push rax
psraw mm7, 0x11
push r8
emms
psubusw mm6, mm3
pop r8
psrlq mm6, 0x1f
pop rax
push rcx
not ecx
push rbx
nop
nop
pop rbx
ror cx, 0xe
pop rcx
jmp 0x1d8c51c4c
push r10
sub r10w, 0x16
movlhps xmm15, xmm8
push r11
cmp r10w, r11w
inc r10d
push rax
nop
psrad mm4, 0x24
push r13
emms
and r13, r11
pop r13
paddusb mm1, mm2
shl ax, 0xa
pop rax
paddw mm5, mm1
psllq mm5, 0x2f
pop r11
nop
pmaddwd mm4, mm2
pop r10
jmp 0x1d8c51c4c
cmp r15b, bl
jne 0x1d8c51c0c
push rbx
movaps xmm12, xmm4
pop rbx
jmp 0x1d8c51c11
push r8
nop
pop r8
push r9
nop
pop r9
jmp 0x1d8c51c4c
push rdx
emms
push r12
psrlq mm2, 0x22
push r15
psrlw mm2, 0x56
pop r15
not r12
pop r12
not dl
pop rdx
jmp 0x1d8c51c4c
cmp r15d, r14d
jne 0x1d8c51c40
push r8
emms
pop r8
jmp 0x1d8c51c47
push r13
inc r13
pop r13
push rcx
pcmpgtd mm4, mm6
pop rcx
push r10
addps xmm2, xmm12
nop
paddsw mm5, mm6
pcmpeqw mm5, mm6
neg r10b
pmullw mm4, mm2
movhlps xmm11, xmm10
psubw mm5, mm6
paddd mm5, mm0
psllq mm2, 0x1d
nop
sar r10, 0xc
pop r10
push r14
paddw mm4, mm7
movhlps xmm4, xmm7
push rcx
psrlq mm7, 0x5a
psrad mm7, 0xd
push r10
psrlq mm2, 0x2e
cmp r14w, cx
push r9
punpckldq mm5, mm4
psrld mm7, 0x65
pop r9
psubsb mm7, mm2
ror r14b, 0x11
pop r10
xadd r14b, cl
emms
pop rcx
dec r14
psllq mm1, 0x38
pop r14
push rax
emms
inc eax
nop
pmullw mm0, mm3
emms
push r13
paddsw mm4, mm3
sub eax, 0xf
inc r13d
nop
push rdx
nop
psrld mm7, 0x54
psraw mm3, 0x2e
push r15
nop
nop
push r10
emms
pop r10
emms
test r15b, r13b
pop r15
not r13d
nop
pmaddwd mm0, mm4
pop rdx
emms
sub rax, r13
emms
nop
pop r13
addss xmm1, xmm2
addss xmm15, xmm5
ucomiss xmm5, xmm14
neg rax
nop
pop rax
push r14
ror r14d, 0xa
push r12
nop
push rcx
psubusw mm5, mm2
push r10
paddsb mm7, mm1
push r11
movhlps xmm13, xmm15
push r13
sbb r12d, 4
pop r13
paddw mm1, mm4
pop r11
paddusw mm2, mm6
pop r10
paddw mm2, mm1
pop rcx
dec r12
pop r12
shl r14b, 9
pop r14
push r10
dec r10d
push r14
subss xmm2, xmm14
push r9
maxss xmm15, xmm1
push r12
punpckldq mm6, mm2
push r15
subss xmm0, xmm5
push rbx
emms
pop rbx
por mm3, mm2
pop r15
not r10w
pop r12
pslld mm5, 0x1a
pop r9
nop
pop r14
addss xmm6, xmm3
pop r10
rdtsc
push r12
mov r12, 3
push rdx
psrld mm2, 0x59
movlhps xmm7, xmm9
emms
emms
inc edx
rol rdx, 1
emms
pop rdx
dec r12
jne 0x1d8c51d89
pop r12
cmp r15, r10
je 0x1d8c51ecc
push r14
psrlw mm7, 0x5d
push r9
shr r9, 2
push r15
neg r15
push r12
mulps xmm12, xmm3
push r13
dec r15d
push r11
emms
push r8
paddsw mm4, mm6
pop r8
pand mm0, mm6
pop r11
psrld mm1, 0x44
pop r13
emms
pop r12
not r9d
pop r15
pcmpgtd mm7, mm5
pop r9
psrld mm5, 0x37
pop r14
cmp ebx, 0x69
je 0x1d8c51f02
cmp r15, 0x1a
jne 0x1d8c51e16
push rbx
emms
push r14
punpckldq mm5, mm4
shl ebx, 8
pop r14
inc rbx
pop rbx
jmp 0x1d8c51e2e
push r10
psraw mm2, 0x59
push r15
sub r10b, 0x13
psrlq mm2, 0x4f
pop r15
psrad mm1, 0x35
pop r10
push rax
nop
push rdx
emms
shl rax, 4
pop rdx
emms
pop rax
cmp bx, r8w
je 0x1d8c51f15
cmp r15w, ax
jne 0x1d8c51e5b
push r10
nop
pop r10
jmp 0x1d8c51e61
push rdx
minps xmm12, xmm11
pop rdx
push rax
andnps xmm14, xmm9
pop rax
cmp r12w, 0x35
je 0x1d8c51f30
push r15
sar r15b, 0x15
paddusw mm7, mm0
psubsb mm3, mm5
push r11
punpckhbw mm2, mm1
emms
emms
push rcx
sbb r15b, cl
pcmpeqw mm0, mm1
emms
pop rcx
nop
emms
shl r11, 0xb
pop r11
nop
pmaddwd mm7, mm5
shl r15w, 0xc
pop r15
cmp ecx, r9d
je 0x1d8c51f50
push r8
nop
push r12
add r8b, r12b
pop r12
neg r8d
pop r8
cmp r8, rbx
je 0x1d8c51f7d
jne 0x1d8c51fdc
push r10
emms
push r15
nop
emms
push rdx
add r10d, r15d
subps xmm15, xmm3
nop
push rbx
dec r15
nop
emms
minps xmm1, xmm13
pop rbx
emms
nop
pmaxsw mm6, mm2
pop rdx
nop
xchg r15d, r10d
pop r15
movlhps xmm14, xmm0
pop r10
jmp 0x1d8c51fdc
push r10
pxor mm1, mm4
push rcx
neg r10d
pop rcx
emms
pop r10
jmp 0x1d8c51fdc
push rax
inc eax
push r11
xor r11d, eax
push rdx
dec r11d
pop rdx
pcmpeqb mm7, mm0
pop r11
rcr al, 7
pop rax
jmp 0x1d8c51fdc
push r13
pslld mm1, 0x17
punpckhbw mm2, mm4
push r11
shl r13w, 0x12
pop r11
pmulhuw mm5, mm7
sub r13, 9
pop r13
jmp 0x1d8c51fdc
push r9
not r9w
nop
movups xmm15, xmm14
maxss xmm9, xmm0
push r11
or r11, r9
psrlw mm7, 0x63
sub r9w, r11w
nop
pop r11
neg r9b
movups xmm9, xmm15
nop
nop
pop r9
jmp 0x1d8c51fdc
push r14
movups xmm0, xmm9
push r15
punpcklbw mm3, mm4
rcl r15, 7
push r13
inc r14
emms
emms
push r10
packuswb mm4, mm2
emms
rcpps xmm0, xmm7
nop
push rax
psllq mm0, 0x2a
nop
nop
pmaxub mm5, mm2
emms
pop rax
emms
movlhps xmm11, xmm9
subss xmm13, xmm3
dec r15d
pop r10
mov r13, 1
psrad mm0, 0x54
psrlw mm4, 0x56
pop r13
inc r15d
addss xmm0, xmm6
pop r15
neg r14b
pop r14
push rcx
psadbw mm3, mm2
push r12
xor cx, r12w
and ecx, r12d
push rbx
psrlw mm5, 0x69
sar bx, 1
adc rbx, r12
pop rbx
emms
pmaxub mm7, mm0
pop r12
psrad mm1, 0x36
pop rcx
push r12
nop
psrlq mm0, 0x5b
emms
push r14
not r14w
nop
push r15
nop
pop r15
pmaxsw mm2, mm3
cmp r12b, r14b
pop r14
nop
packsswb mm6, mm4
movhlps xmm7, xmm2
pop r12
mov qword [rsp + 0x48], 0xffffffffffffd8f0
push r13
rol r13w, 5
push r12
psrlq mm7, 0x5f
push r9
emms
push rcx
inc ecx
push rax
psraw mm2, 0x22
push r14
nop
pop r14
subps xmm15, xmm12
pop rax
nop
pop rcx
nop
pop r9
nop
pop r12
nop
pop r13
shl rdx, 0x20
mov eax, eax
mov ecx, 0x14
or rax, rdx
xor edx, edx
div rcx
imul ebx, edx, 0x3e8
cmp r15b, r10b
jne 0x1d8c520a4
push r14
psrld mm2, 0x28
push rax
emms
punpckldq mm5, mm7
pop rax
emms
pop r14
jmp 0x1d8c520ba
push r12
psllq mm1, 0x10
push r10
sar r10b, 0xd
psubw mm5, mm4
pop r10
dec r12d
pop r12
push rdx
shl dx, 0xd
push rbx
shl ebx, 0xd
por mm4, mm7
pop rbx
nop
pop rdx
lea eax, [rbx + 0x2710]
imul rax, qword [rsp + 0x48]
mov qword [rsp + 0x48], rax
push r14
inc r14
pslld mm0, 0x5d
rol r14w, 0x11
shl r14, 0x10
rcl r14b, 0xe
push r9
sbb r14w, r9w
rcpss xmm6, xmm9
dec r9d
not r9
nop
pop r9
pmulhuw mm7, mm5
inc r14
mulps xmm0, xmm6
not r14b
psllq mm3, 0x21
emms
pop r14
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x28]
call fcn.1d8c465e4
lea rdx, [rsp + 0x48]
xor ecx, ecx
call fcn.1d8c44fef
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.1d8c465e4
push r11
pslld mm3, 0xf
push r12
cmp r11b, r12b
push r9
nop
push rcx
dec r12
pop rcx
not r12w
pop r9
emms
pop r12
psrad mm0, 0x2e
pop r11
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
nop
push r11
emms
push r10
emms
pop r10
shl r11w, 2
pop r11
dec eax
pop rax
add ebx, 0x2328
cmp ebx, ecx
jae 0x1d8c521eb
push r11
orps xmm9, xmm13
neg r11d
emms
push r14
movaps xmm13, xmm4
adc r14d, r11d
emms
push rbx
sar bl, 6
mov bl, r14b
push rcx
pmaxub mm1, mm0
psraw mm4, 0x26
pop rcx
psraw mm7, 0x68
rcl r11w, 0xc
comiss xmm11, xmm14
pop rbx
xchg r11b, r14b
emms
pop r14
nop
nop
pop r11
jmp 0x1d8c52223
push rbx
psrlw mm4, 0x68
push rcx
not rbx
push r15
shl bl, 0xe
push rax
dec ecx
push r11
pmaxub mm1, mm5
push r9
add cl, al
pop r9
psubsb mm3, mm4
pop r11
nop
pop rax
xorps xmm0, xmm9
pop r15
add rcx, rbx
pop rcx
not ebx
pop rbx
xor ecx, ecx
call fcn.1d8c4bb8c
nop
add rsp, 0x50
pop rbx
ret