Function at 0x2edd73b47
Capabilities:
Authenticate hmac

Disassembly:
push rsi
push rbx
sub rsp, 0x48
mov qword [rsp + 0x60], rcx
push r11
sub r11b, 0x13
emms
push rcx
emms
pop rcx
sub r11b, 6
subps xmm14, xmm2
pop r11
mov qword [rsp + 0x38], rdx
push r12
pslld mm2, 0x1a
nop
dec r12d
por mm7, mm1
subps xmm7, xmm6
push r10
psrad mm2, 0x33
movlhps xmm1, xmm9
sar r10b, 0x16
nop
push r13
paddw mm3, mm4
pcmpgtd mm5, mm1
not r12
push rcx
punpcklbw mm7, mm3
ror r13d, 8
push r11
pcmpgtd mm1, mm4
pop r11
mov r12b, r10b
inc r10
pop rcx
nop
shl r12w, 0x17
inc r12d
pop r13
inc r12
movlhps xmm4, xmm15
inc r12
comiss xmm4, xmm6
pop r10
psrld mm0, 0x1f
psllq mm6, 0x3e
nop
psrlq mm7, 0x4a
sar r12, 0xd
pop r12
mov qword [rsp + 0x20], r9
lea rdx, [rsp + 0x60]
mov r9d, r8d
or rcx, 0xffffffffffffffff
lea r8, [rsp + 0x38]
call fcn.2edd7a342
mov esi, eax
push r12
psrad mm6, 0x12
neg r12w
pslld mm6, 8
emms
nop
push r14
emms
emms
emms
rol r12b, 8
neg r14w
pop r14
neg r12b
rol r12w, 4
punpckhwd mm7, mm1
pcmpeqd mm7, mm0
psraw mm3, 0x62
dec r12d
pop r12
mov edx, 4
mov ecx, 2
call sub.msvcrt.dll_calloc
mov rcx, rax
push r15
nop
push r14
psrlw mm0, 0x5c
emms
pop r14
psrlq mm6, 0x59
pop r15
mov edx, 0x48
xor ebx, ebx
call sub.msvcrt.dll_realloc
mov rcx, rax
push rax
pmullw mm0, mm3
addss xmm2, xmm14
push r11
addss xmm10, xmm6
psllq mm7, 0x4c
push rbx
dec r11
nop
push r13
ror rax, 0x13
pandn mm3, mm0
push r8
emms
pmaxsw mm2, mm4
pop r8
sbb rbx, 0x17
adc r11d, eax
pop r13
psrlw mm4, 0x66
emms
pop rbx
andps xmm6, xmm14
pminsw mm0, mm7
pop r11
andps xmm2, xmm6
inc rax
pop rax
xor dword [rcx + rbx*4], 0x99
cmp r13b, 3
jne 0x2edd73cc5
push r13
emms
pop r13
jmp 0x2edd73ccd
push r15
psllq mm4, 0x63
pop r15
push r8
psraw mm7, 0x40
pop r8
test rbx, rbx
jne 0x2edd73ce1
mov ebx, 1
jmp 0x2edd73c65
call sub.msvcrt.dll_free
push r15
nop
push r12
psrlq mm3, 0x24
push r14
emms
push r10
nop
push rbx
emms
push r9
pcmpgtd mm1, mm2
pop r9
emms
pop rbx
nop
pop r10
test r15, r14
pop r14
not r15w
pop r12
pcmpeqd mm0, mm6
pop r15
test esi, esi
jne 0x2edd73d48
cmp r13b, 5
jne 0x2edd73d2f
push r10
inc r10d
pop r10
jmp 0x2edd73d37
push r13
sar r13b, 0xd
pop r13
push r12
pxor mm7, mm4
pop r12
mov eax, 1
jmp 0x2edd73ec1
push r9
not r9b
push r12
psubw mm3, mm4
pop r12
sbb r9d, 8
pop r9
mov ecx, 8
call sub.msvcrt.dll_malloc
mov rcx, rax
xor eax, eax
push r11
maxps xmm1, xmm2
emms
push r12
pcmpgtd mm6, mm7
psraw mm3, 0x3f
push rcx
mov r12d, r11d
pmaxsw mm7, mm5
push r15
neg rcx
ror r12b, 6
push rax
mulps xmm9, xmm13
or r15b, cl
pop rax
nop
comiss xmm8, xmm2
pop r15
andnps xmm9, xmm3
comiss xmm13, xmm8
pop rcx
add r11b, r12b
sub r12w, 0xf
pop r12
emms
psubsb mm5, mm2
pop r11
xor dword [rcx + rax*4], 0x57
push r10
pcmpgtw mm6, mm7
rcl r10d, 5
sbb r10, 2
packssdw mm0, mm2
pandn mm6, mm1
subps xmm8, xmm5
nop
pop r10
test rax, rax
jne 0x2edd73ddb
mov rax, rbx
jmp 0x2edd73d69
call sub.msvcrt.dll_free
cmp r13, 0x36
jne 0x2edd73e3f
push rdx
psrlw mm7, 0xf
neg dl
nop
psrld mm0, 0x20
emms
push rbx
nop
comiss xmm3, xmm4
packsswb mm7, mm2
pslld mm4, 0x50
pcmpgtb mm1, mm5
pop rbx
emms
psrld mm1, 0x34
pxor mm1, mm6
psadbw mm6, mm4
shl rdx, 0xa
nop
pop rdx
jmp 0x2edd73e7c
push r14
pcmpgtd mm5, mm0
mulss xmm3, xmm9
push r13
mov r14b, r13b
rol r14b, 5
push r8
nop
psrld mm0, 1
push r11
add r14b, r11b
psraw mm5, 0x59
pop r11
nop
movaps xmm13, xmm3
pop r8
inc r13
inc r14
pop r13
dec r14
sbb r14, 9
pop r14
push r8
pslld mm7, 0x48
psrlw mm4, 0x60
push r12
movaps xmm7, xmm15
not r8w
push rcx
neg r8b
sub cl, r12b
push r14
nop
emms
push r11
nop
rcpps xmm4, xmm7
pop r11
ucomiss xmm13, xmm7
and ecx, r12d
pop r14
psllq mm0, 0x45
neg r8
pop rcx
nop
nop
pop r12
nop
ucomiss xmm2, xmm4
pop r8
xor eax, eax
add rsp, 0x48
pop rbx
pop rsi
ret