Function at 0x3999678ff
Capabilities:
Authenticate hmac

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov qword [rsp + 0xc0], rcx
push r14
rol r14, 0xc
rcr r14w, 2
push r15
nop
rcr r15w, 0xd
push r12
nop
test r14d, r15d
push rdx
pslld mm6, 0x24
not r12
push r8
packsswb mm1, mm2
emms
pop r8
subss xmm10, xmm1
psrld mm6, 0x19
pop rdx
emms
sub r15d, 8
pop r12
emms
ror r15d, 0x16
pop r15
neg r14d
inc r14
pop r14
call fcn.399978356
push r9
mov r9, 1
push r12
push r13
pop r13
pop r12
dec r9
jne 0x399967971
pop r9
push rax
mov ax, 0x13
push r15
emms
pop r15
rol al, 1
pop rax
push r11
orps xmm1, xmm2
push r12
psrlq mm2, 0x4f
pop r12
neg r11d
pop r11
push r15
neg r15w
push r13
ror r15d, 0xd
push rdx
pxor mm2, mm7
push r12
psraw mm3, 0x63
pop r12
add r15w, dx
pop rdx
not r13b
pop r13
not r15w
pop r15
mov dword [rsp + 0x50], 0x4b444e6d
mov byte [rsp + 0x54], 0
push r14
pcmpeqw mm6, mm3
movups xmm15, xmm6
dec r14
push r12
nop
psrlq mm3, 0x25
sbb r12, 2
push r15
mov r14w, 0x15
pcmpeqd mm4, mm0
emms
pop r15
nop
nop
nop
pop r12
pmaxub mm4, mm3
nop
xorps xmm13, xmm2
pop r14
mov dword [rsp + 0x46], 0x565a66
push r15
neg r15b
push r13
nop
push rcx
emms
push rdx
nop
push r8
emms
push r9
nop
pop r9
maxps xmm5, xmm0
pop r8
dec r15d
pop rdx
emms
pop rcx
sar r13w, 0x14
pop r13
psrad mm0, 6
pop r15
lea rdi, [rsp + 0x46]
lea rbx, [rsp + 0x50]
mov rdx, rdi
mov rcx, rbx
call sub.msvcrt.dll__mbscmp
test eax, eax
jne 0x399967a98
push r12
emms
nop
emms
push rcx
paddb mm4, mm6
dec ecx
maxss xmm4, xmm13
push rax
punpckhwd mm3, mm4
comiss xmm6, xmm1
push r9
psrlw mm2, 0x35
shl r9w, 0xa
pop r9
nop
neg al
nop
pop rax
orps xmm12, xmm8
xor r12d, ecx
pop rcx
minps xmm15, xmm11
psllq mm3, 0x4a
pop r12
jmp 0x399967af8
push r9
mov r9, 1
cmp ebx, edx
jne 0x399967ad0
push r12
shl r12d, 0xb
push r15
sbb r12w, 2
pmaxub mm7, mm3
pop r15
shr r12, 0x14
pop r12
jmp 0x399967ade
push rax
pxor mm0, mm6
push r14
inc r14
nop
pop r14
nop
pop rax
push rbx
psrlw mm7, 0x61
push r13
emms
rol ebx, 0xe
pop r13
rcpss xmm4, xmm1
pop rbx
dec r9
jne 0x399967aa1
pop r9
push r12
shl r12d, 7
dec r12
push r15
nop
pcmpgtd mm4, mm3
push r10
not r12b
psraw mm3, 0x69
push rax
mov r10, rax
sbb r12d, 0xb
pop rax
not r10w
rol r12, 0xf
pop r10
psrlw mm7, 0x18
emms
pop r15
shr r12, 0x17
psrlw mm6, 0x1c
pop r12
push rax
mov ax, 0x13
push r15
emms
pop r15
rol al, 1
pop rax
xor eax, eax
mov r9, rbx
mov r8d, 8
mov ecx, 0xb5
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0xc0]
mov dword [rsp + 0x20], 0x20
call fcn.39996de45
mov word [rsp + 0x4e], 0
mov esi, eax
movabs rax, 0x7c0052007d0033
mov qword [rsp + 0x46], rax
push r13
mov r13, 3
push r8
pop r8
dec r13
jne 0x399967b8e
pop r13
mov rcx, rdi
call sub.msvcrt.dll_wcslen
cmp rax, 5
jne 0x399967bbf
push r8
mov r8, 1
push r11
push rdx
pop rdx
pop r11
dec r8
jne 0x399967bb0
pop r8
jmp 0x399967c28
mov rax, rdi
lea rdx, [rsp + 0x4e]
cmp rbx, r8
jne 0x399967bdd
push r9
psrlq mm6, 0x51
pop r9
jmp 0x399967be0
push rax
nop
pop rax
push r10
psraw mm2, 0x53
pop r10
xor word [rax], 0x42
push rcx
emms
sar rcx, 8
emms
push r8
emms
punpckhwd mm7, mm3
nop
push rdx
ror ecx, 0x11
psrlq mm2, 0x5c
and r8, rcx
pop rdx
psrlw mm0, 0x16
not cl
pslld mm4, 0x27
pop r8
nop
rcr rcx, 4
psllq mm6, 0x27
pop rcx
add rax, 2
cmp rax, rdx
jne 0x399967bc7
push rbx
inc rbx
push r13
psrad mm0, 0x42
push r15
mov r15b, bl
push rcx
sar bl, 6
pop rcx
nop
pop r15
not bl
pop r13
psrad mm1, 0x34
pop rbx
test esi, esi
je 0x399967d02
cmp rbx, 0x68
jne 0x399967c94
push rbx
psllq mm7, 0x53
push rcx
inc ecx
push r8
emms
push r15
not r15
push rax
nop
push r11
nop
push r12
emms
pop r12
psraw mm0, 0x2a
pop r11
inc ebx
pop rax
nop
pop r15
emms
pop r8
movlhps xmm1, xmm13
pop rcx
sar bx, 8
pop rbx
jmp 0x399967cd5
push r8
nop
push r9
rcpss xmm9, xmm10
sar r9w, 0x17
push rax
mulss xmm11, xmm15
emms
psrlw mm2, 0x34
push r14
shl r8w, 0x15
not r8w
nop
pcmpeqb mm7, mm2
pop r14
emms
pslld mm3, 0x63
nop
pop rax
movss xmm2, xmm3
xorps xmm15, xmm2
pop r9
nop
pop r8
push rax
inc rax
psrad mm4, 0x3b
pcmpeqd mm1, mm6
not rax
xorps xmm0, xmm15
movlhps xmm10, xmm4
andnps xmm4, xmm15
shr ax, 0x12
psubsb mm6, mm5
movss xmm2, xmm3
nop
nop
pop rax
jmp 0x3999680f7
push r12
pslld mm4, 0x5d
push r9
shl r9, 0xe
pop r9
paddd mm6, mm0
pop r12
xor ebp, ebp
xor r12d, r12d
lea r15, [rsp + 0x4e]
movabs r14, 0x7c0052007d0033
cmp dword [rbx], 0
je 0x399967f1b
push rax
psrad mm6, 0x22
psllq mm2, 0x3c
shl al, 0xa
push r8
psrad mm0, 0x29
xadd ax, r8w
push r15
dec r8
pop r15
xchg al, r8b
nop
pop r8
sar eax, 0x10
emms
rol eax, 0x12
pop rax
mov eax, dword [rbx]
mov qword [rsp + 0x46], r14
mov word [rsp + 0x4e], 0
shr eax, 0x10
mov dword [rsp + 0x3c], eax
push r13
mov r13, 3
push r8
pop r8
dec r13
jne 0x399967d7d
pop r13
mov rcx, rdi
call sub.msvcrt.dll_wcslen
cmp rax, 5
jne 0x399967dae
push r8
mov r8, 1
push r11
push rdx
pop rdx
pop r11
dec r8
jne 0x399967d9f
pop r8
jmp 0x399967e12
mov rax, rdi
cmp rbx, r8
jne 0x399967dc7
push r9
psrlq mm6, 0x51
pop r9
jmp 0x399967dca
push rax
nop
pop rax
push r10
psraw mm2, 0x53
pop r10
xor word [rax], 0x42
push rcx
emms
sar rcx, 8
emms
push r8
emms
punpckhwd mm7, mm3
nop
push rdx
ror ecx, 0x11
psrlq mm2, 0x5c
and r8, rcx
pop rdx
psrlw mm0, 0x16
not cl
pslld mm4, 0x27
pop r8
nop
rcr rcx, 4
psllq mm6, 0x27
pop rcx
add rax, 2
cmp rax, r15
jne 0x399967db1
push rbx
inc rbx
push r13
psrad mm0, 0x42
push r15
mov r15b, bl
push rcx
sar bl, 6
pop rcx
nop
pop r15
not bl
pop r13
psrad mm1, 0x34
pop rbx
mov r13d, dword [rbx]
push r13
shl r13d, 7
pop r13
call sym.FillExecutable.dll_OutFullRun
test byte [rsp + 0x3c], 4
je 0x399967e8e
push r10
psrld mm1, 0x13
minps xmm15, xmm1
push r14
neg r10d
psrlq mm3, 0x66
push rax
not eax
test r14b, al
push r13
shl r10, 0xd
psrlq mm2, 0x29
pop r13
neg ax
pcmpgtw mm4, mm0
pop rax
test r10w, r14w
psraw mm1, 0x65
pop r14
mulss xmm5, xmm6
nop
pop r10
mov ebp, r13d
jmp 0x399967f12
test byte [rsp + 0x3c], 8
je 0x399967f12
cmp bl, 0x44
jne 0x399967ec4
push rdx
rcl edx, 0xa
push r15
xadd r15w, dx
rcpss xmm14, xmm9
pop r15
addps xmm14, xmm8
pop rdx
jmp 0x399967ed9
push rax
addps xmm4, xmm10
push r14
pminsw mm0, mm5
movaps xmm6, xmm11
pop r14
shr ax, 0xe
pop rax
push r11
rcr r11b, 7
push r12
emms
pslld mm5, 1
pop r12
emms
pop r11
push rax
nop
push r9
dec r9d
nop
pop r9
addps xmm1, xmm11
pop rax
push r11
shl r11, 0x11
push r13
neg r13d
pop r13
psrld mm3, 0x30
pop r11
mov r12d, r13d
add rbx, 4
jmp 0x399967d29
push rdx
pcmpgtw mm5, mm3
dec edx
pandn mm3, mm7
emms
inc rdx
inc edx
shl dx, 0x10
inc rdx
sbb dl, 1
nop
emms
emms
pop rdx
mov ecx, 2
mov edx, 8
xor ebx, ebx
call sub.msvcrt.dll_calloc
mov rcx, rax
push r14
dec r14
inc r14d
nop
psadbw mm3, mm5
push r9
shr r9d, 0xd
movaps xmm8, xmm1
por mm1, mm6
emms
pop r9
nop
paddsb mm6, mm4
neg r14d
mov r14, 5
pop r14
xor qword [rcx + rbx*8], 0x36
push r15
mov r15, 1
push r8
push r11
pop r11
pop r8
dec r15
jne 0x399967f8a
pop r15
test rbx, rbx
jne 0x399967fa5
mov ebx, 1
jmp 0x399967f4f
call sub.msvcrt.dll_free
push rcx
emms
push r13
rcpss xmm4, xmm2
pop r13
punpcklbw mm6, mm2
pop rcx
cmp bp, 0x8664
je 0x399967fcb
cmp bp, 0x2200
jne 0x3999680ca
push r10
psrld mm1, 0x13
minps xmm15, xmm1
push r14
neg r10d
psrlq mm3, 0x66
push rax
not eax
test r14b, al
push r13
shl r10, 0xd
psrlq mm2, 0x29
pop r13
neg ax
pcmpgtw mm4, mm0
pop rax
test r10w, r14w
psraw mm1, 0x65
pop r14
mulss xmm5, xmm6
nop
pop r10
test r12w, r12w
jne 0x3999680b5
push rdx
pcmpgtw mm5, mm3
dec edx
pandn mm3, mm7
emms
inc rdx
inc edx
shl dx, 0x10
inc rdx
sbb dl, 1
nop
emms
emms
pop rdx
mov ecx, 2
mov edx, 8
call sub.msvcrt.dll_calloc
mov rcx, rax
xor eax, eax
push r14
dec r14
inc r14d
nop
psadbw mm3, mm5
push r9
shr r9d, 0xd
movaps xmm8, xmm1
por mm1, mm6
emms
pop r9
nop
paddsb mm6, mm4
neg r14d
mov r14, 5
pop r14
xor qword [rcx + rax*8], 0x36
push r15
mov r15, 1
push r8
push r11
pop r11
pop r8
dec r15
jne 0x399968081
pop r15
test rax, rax
jne 0x39996809a
mov rax, rbx
jmp 0x399968046
call sub.msvcrt.dll_free
push rcx
emms
push r13
rcpss xmm4, xmm2
pop r13
punpcklbw mm6, mm2
pop rcx
mov esi, 1
jmp 0x3999680f7
push r12
pslld mm4, 0x5d
push r9
shl r9, 0xe
pop r9
paddd mm6, mm0
pop r12
jmp 0x3999680f7
push r13
shr r13w, 0xc
push r15
psrld mm3, 0xd
push rcx
psubusw mm3, mm2
push r8
emms
push r12
nop
pop r12
comiss xmm5, xmm4
pop r8
test r13, rcx
pop rcx
test r13d, r15d
pop r15
packuswb mm6, mm3
pop r13
mov eax, esi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret