Function at 0x39997927d
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x298
mov rbp, rcx
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
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 word [rsp + 0x88], 0x5c
push rcx
paddsw mm2, mm5
push rax
maxps xmm9, xmm14
push r14
psrad mm5, 0x5c
push r11
psrad mm6, 0x4a
push r15
nop
pop r15
movss xmm12, xmm8
pop r11
emms
pop r14
mulps xmm7, xmm15
pop rax
emms
pop rcx
mov word [rsp + 0x8a], 0x3f
push r12
pslld mm4, 0x5d
push r9
shl r9, 0xe
pop r9
paddd mm6, mm0
pop r12
mov word [rsp + 0x8c], 0x3f
push r12
pslld mm4, 0x5d
push r9
shl r9, 0xe
pop r9
paddd mm6, mm0
pop r12
mov word [rsp + 0x8e], 0x5c
push r15
sub r15, 6
emms
nop
push rdx
nop
rol r15d, 8
push r8
ror r15b, 0x17
pop r8
pcmpgtd mm5, mm2
maxss xmm11, xmm3
pop rdx
paddusw mm1, mm3
nop
addss xmm5, xmm0
pop r15
mov ecx, 5
mov edx, 1
call sub.msvcrt.dll_calloc
mov rcx, rax
xor eax, eax
push r14
psrld mm5, 0x44
pop r14
xor byte [rcx + rax], 0x78
push rcx
minps xmm11, xmm3
push r8
pandn mm5, mm3
push r11
nop
push r13
nop
push r12
adc r11d, r12d
push rax
psrlq mm7, 6
push r10
sub r13b, r11b
pop r10
psrlq mm6, 0x53
pop rax
neg r12b
pop r12
psrld mm5, 0xb
pop r13
sub r11d, 0xa
pop r11
pmaxsw mm4, mm6
pop r8
sbb ecx, 1
pop rcx
inc rax
cmp rax, 5
jne 0x3999793a2
call sub.msvcrt.dll_free
push r9
pcmpgtw mm3, mm6
push r13
pslld mm1, 0x69
push r15
movaps xmm8, xmm5
pop r15
movups xmm7, xmm14
pop r13
rcr r9, 0x17
pop r9
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 r12, qword gs:[0x60]
push r10
emms
pop r10
mov rax, qword [r12 + 0x20]
mov edx, dword [rax + 0x60]
mov rcx, qword [rax + 0x68]
shr dx, 1
movzx edx, dx
call fcn.399979102
mov word [rsp + 0x60], 0
movsxd rsi, eax
movabs rax, 0x4c0030005a0029
mov qword [rsp + 0x58], rax
push r8
psadbw mm0, mm4
push rdx
dec edx
xadd r8d, edx
push rax
emms
andnps xmm6, xmm12
not r8
push r10
cmp r10b, r8b
pslld mm3, 0x21
sar r8, 2
dec r8d
push r11
xchg edx, r8d
nop
punpcklbw mm0, mm3
punpckldq mm4, mm5
rol r8d, 5
pop r11
mov r8d, 0x15
pcmpeqb mm0, mm1
maxss xmm7, xmm6
mov ax, 4
pop r10
sbb r8, rax
nop
emms
pop rax
emms
psraw mm5, 0x62
pop rdx
nop
pop r8
mov dword [rsp + 0x48], 0x30005d
mov word [rsp + 0x4c], 0
push r9
emms
nop
push r11
pcmpeqd mm0, mm5
pop r11
pxor mm1, mm4
emms
pop r9
lea rbx, [rsp + 0x48]
lea rdi, [rsp + 0x58]
mov rdx, rbx
mov rcx, rdi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x399979529
push r10
emms
pop r10
jmp 0x3999795ad
mov rax, rbx
lea rdx, [rsp + 0x4c]
push rax
not al
emms
nop
push r11
shr r11w, 0x14
inc r11
xor eax, r11d
push r15
movss xmm4, xmm8
mov rax, r15
push r14
psrld mm7, 9
pmaxsw mm0, mm2
pop r14
psrlw mm0, 0x55
nop
cmp r11, rax
pop r15
emms
shl r11, 2
pop r11
emms
emms
pop rax
xor word [rax], 0x84
push r8
nop
dec r8
inc r8d
push r9
psrad mm5, 0x32
rcr r9b, 0x17
push rcx
inc r8d
pop rcx
addps xmm7, xmm14
not r9b
pop r9
psrlq mm2, 0x69
psllq mm1, 0x3e
rcl r8b, 0xe
pop r8
add rax, 2
cmp rax, rdx
jne 0x399979531
cmp bx, r9w
jne 0x3999795d4
push r9
andnps xmm11, xmm0
push r14
emms
nop
pop r14
punpckhwd mm7, mm3
pop r9
jmp 0x3999795e6
push r12
pminsw mm3, mm0
push r11
nop
addss xmm8, xmm10
pop r11
nop
pop r12
push r15
ror r15d, 0x11
push r10
nop
sub r15b, r10b
pop r10
mulps xmm5, xmm1
pop r15
mov rax, qword [r12 + 0x20]
lea r13, [rsi + rsi]
lea rcx, [rsp + 0x90]
mov edx, 0x200
mov r9, r13
lea r12, [rsp + 0x88]
mov r8, qword [rax + 0x68]
call fcn.39996e3c1
push r14
emms
psraw mm2, 1
push r12
nop
dec r12
push rax
rcl eax, 0x10
test r12b, r14b
push r9
neg r12w
not r12b
pop r9
xadd r14b, al
movups xmm9, xmm7
pop rax
emms
pslld mm5, 6
pop r12
paddsb mm4, mm0
pmaxsw mm7, mm0
pop r14
push r8
dec r8d
push rbx
sub ebx, r8d
push rdx
inc rdx
push rax
nop
pop rax
mulps xmm0, xmm8
pop rdx
rcpps xmm7, xmm11
pop rbx
nop
pop r8
push r14
shl r14w, 0x11
push r13
or r13d, r14d
push rcx
dec ecx
push r10
mov r10, 7
push r9
mulps xmm0, xmm3
pop r9
rcl cl, 0xc
pop r10
paddb mm0, mm1
pop rcx
maxss xmm14, xmm6
pop r13
psllq mm6, 0x26
pop r14
mov edx, 0x100
lea rcx, [r12 + r13 + 8]
mov r9d, 0xc
mov r8, rbp
sub rdx, rsi
add rdx, rdx
call fcn.39996e3c1
push r11
pcmpgtb mm6, mm5
nop
push r15
emms
psrld mm0, 0x16
push r12
paddsb mm4, mm1
not r12
push r9
nop
emms
pop r9
psrlq mm0, 0x14
movlhps xmm7, xmm5
pop r12
pcmpgtd mm0, mm1
emms
pop r15
pslld mm6, 0x2a
psraw mm2, 0x32
pop r11
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
xor ecx, ecx
mov qword [rsp + 0x30], rcx
cmp bl, dl
jne 0x399979764
push r12
movaps xmm4, xmm5
push r15
movhlps xmm15, xmm10
psraw mm5, 0x59
pop r15
sub r12, 0x13
pop r12
jmp 0x399979778
push r8
shr r8d, 0xd
push r13
inc r8d
emms
pop r13
inc r8
pop r8
push r14
addss xmm11, xmm7
push rcx
emms
dec r14
pop rcx
paddb mm6, mm5
pop r14
push rax
mov ax, 0x13
push r15
emms
pop r15
rol al, 1
pop rax
cmp rbx, 0x68
jne 0x3999797dd
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 0x39997981e
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
lea rsi, [rsp + 0x38]
mov rdx, r12
mov rcx, rsi
call fcn.399978e20
mov word [rsp + 0x60], 0
movabs rax, 0x4c0030005a0029
mov qword [rsp + 0x58], rax
push r8
psadbw mm0, mm4
push rdx
dec edx
xadd r8d, edx
push rax
emms
andnps xmm6, xmm12
not r8
push r10
cmp r10b, r8b
pslld mm3, 0x21
sar r8, 2
dec r8d
push r11
xchg edx, r8d
nop
punpcklbw mm0, mm3
punpckldq mm4, mm5
rol r8d, 5
pop r11
mov r8d, 0x15
pcmpeqb mm0, mm1
maxss xmm7, xmm6
mov ax, 4
pop r10
sbb r8, rax
nop
emms
pop rax
emms
psraw mm5, 0x62
pop rdx
nop
pop r8
mov dword [rsp + 0x48], 0x30005d
mov word [rsp + 0x4c], 0
push r9
emms
nop
push r11
pcmpeqd mm0, mm5
pop r11
pxor mm1, mm4
emms
pop r9
mov rdx, rbx
mov rcx, rdi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x399979904
push r10
emms
pop r10
jmp 0x399979988
mov rax, rbx
lea rdx, [rsp + 0x4c]
push rax
not al
emms
nop
push r11
shr r11w, 0x14
inc r11
xor eax, r11d
push r15
movss xmm4, xmm8
mov rax, r15
push r14
psrld mm7, 9
pmaxsw mm0, mm2
pop r14
psrlw mm0, 0x55
nop
cmp r11, rax
pop r15
emms
shl r11, 2
pop r11
emms
emms
pop rax
xor word [rax], 0x84
push r8
nop
dec r8
inc r8d
push r9
psrad mm5, 0x32
rcr r9b, 0x17
push rcx
inc r8d
pop rcx
addps xmm7, xmm14
not r9b
pop r9
psrlq mm2, 0x69
psllq mm1, 0x3e
rcl r8b, 0xe
pop r8
add rax, 2
cmp rax, rdx
jne 0x39997990c
cmp bx, r9w
jne 0x3999799af
push r9
andnps xmm11, xmm0
push r14
emms
nop
pop r14
punpckhwd mm7, mm3
pop r9
jmp 0x3999799c1
push r12
pminsw mm3, mm0
push r11
nop
addss xmm8, xmm10
pop r11
nop
pop r12
push r15
ror r15d, 0x11
push r10
nop
sub r15b, r10b
pop r10
mulps xmm5, xmm1
pop r15
xor edx, edx
xor eax, eax
mov dword [rsp + 0x58], 0x30
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x70], 0x40
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rdx
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
lea rcx, [rsp + 0x30]
mov r9, rbx
mov r8, rdi
mov dword [rsp + 0x28], 0x20
mov edx, 0x120089
mov dword [rsp + 0x20], 1
call fcn.3999706c2
cmp ebx, r15d
jne 0x399979aa0
push rcx
nop
push r14
adc rcx, r14
neg cl
pop r14
psrld mm7, 0x41
pop rcx
jmp 0x399979ab4
push r13
paddd mm7, mm2
push r11
orps xmm8, xmm2
psrld mm4, 0x2d
pop r11
nop
pop r13
push r8
pslld mm2, 0x30
push rdx
pslld mm1, 0x29
inc r8d
pop rdx
nop
pop r8
call fcn.399977bb6
mov rax, qword [rsp + 0x30]
add rsp, 0x298
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret