Function at 0x25df8725a
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x58
push r15
comiss xmm13, xmm5
push rax
emms
push r14
paddsw mm2, mm5
push r8
inc r14d
push r11
packuswb mm1, mm0
push r10
pmaddwd mm4, mm1
push rdx
psrld mm5, 0x41
pop rdx
neg r10b
pop r10
psrad mm4, 0x4a
pop r11
not r8
pop r8
psrlq mm7, 0x69
pop r14
emms
pop rax
nop
pop r15
movabs rax, 0x260066005b
mov qword [rsp + 0x38], rax
push r13
rol r13b, 0xf
not r13w
pmulhuw mm0, mm7
nop
pcmpgtb mm7, mm3
push r10
subss xmm12, xmm6
xadd r10b, r13b
nop
emms
push r12
punpckldq mm1, mm2
nop
not r13w
push r11
dec r11
inc r13
push r15
emms
pop r15
nop
dec r13d
pop r11
cmp r12b, r13b
psrld mm6, 0xc
not r12b
pop r12
pandn mm6, mm1
psrad mm3, 0x28
rol r10d, 9
shr r13, 0x13
pop r10
psrlw mm6, 0x1d
emms
nop
nop
andps xmm14, xmm10
pop r13
movabs rax, 0x2b00660032004e
mov word [rsp + 0x48], 0
mov qword [rsp + 0x40], rax
cmp r13d, 0x42
jne 0x25df87346
push r8
dec r8d
push r12
nop
emms
pop r12
movhlps xmm8, xmm12
pop r8
jmp 0x25df87354
push r14
nop
push rcx
psubw mm7, mm3
nop
pop rcx
pmaxsw mm0, mm7
pop r14
push r11
psrlw mm3, 0x5c
push r15
rcpss xmm5, xmm8
nop
pop r15
packuswb mm6, mm7
pop r11
lea rsi, [rsp + 0x40]
lea rbx, [rsp + 0x38]
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x25df873e5
mov rax, rbx
lea rdx, [rsp + 0x3e]
push r12
mov r12, 3
push rdx
push r14
pop r14
pop rdx
dec r12
jne 0x25df87393
pop r12
xor word [rax], 0x49
push r8
psrlq mm1, 0x13
push r9
punpckhbw mm7, mm0
push r13
nop
push rcx
psrlw mm3, 3
push rdx
sbb r9d, 6
push r15
nop
pop r15
psllq mm5, 0xf
pop rdx
sbb r13b, r8b
pop rcx
psrlw mm6, 0x40
pop r13
punpckldq mm7, mm5
pop r9
pcmpeqw mm4, mm1
pop r8
add rax, 2
cmp rax, rdx
jne 0x25df8738a
jmp 0x25df87439
mov rax, rsi
lea rdx, [rsp + 0x48]
push r15
emms
pop r15
xor word [rax], 3
push rbx
packssdw mm6, mm5
psrlw mm2, 0x41
ror bl, 0x16
push rdx
nop
pslld mm5, 0x3b
dec rbx
push r9
or rbx, rdx
psrlq mm7, 8
psllq mm2, 0x3a
pop r9
test dx, bx
psrlq mm1, 6
psllq mm6, 0x3c
pop rdx
emms
rcr bl, 0x17
psrlw mm2, 0x2b
pop rbx
add rax, 2
cmp rax, rdx
jne 0x25df873ed
push rdx
nop
push rcx
dec rcx
push rbx
psrlw mm1, 0x60
push r14
addss xmm11, xmm0
push rax
packuswb mm3, mm6
push r8
nop
pop r8
psrlq mm5, 0x23
pop rax
emms
pop r14
psraw mm4, 0x3e
pop rbx
psrlw mm1, 0x53
pop rcx
pslld mm2, 0x34
pop rdx
cmp r13, rax
jne 0x25df8747e
push rcx
not ecx
pop rcx
jmp 0x25df87484
push r15
emms
pop r15
push rbx
nop
pop rbx
cmp r13d, r11d
jne 0x25df874c4
push r13
emms
push r15
movaps xmm7, xmm1
push r10
emms
push r12
pmaddwd mm3, mm4
pop r12
mov r13d, r15d
pop r10
emms
pop r15
mov r13w, 0x10
pop r13
jmp 0x25df87524
push r14
pslld mm6, 0x49
dec r14d
sar r14d, 4
movups xmm8, xmm6
psubsb mm7, mm3
push r10
andnps xmm1, xmm14
xor r10d, r14d
nop
nop
push rbx
emms
subps xmm5, xmm1
pcmpeqd mm3, mm7
push rcx
emms
emms
push r9
or r14d, ebx
pop r9
and rbx, r14
nop
pop rcx
nop
movups xmm11, xmm7
pcmpgtb mm2, mm5
pop rbx
emms
punpckhwd mm2, mm0
emms
shr r14w, 9
pop r10
psubsb mm3, mm0
not r14
punpckhwd mm2, mm3
nop
rcl r14, 0xd
pop r14
push r14
mov r14w, 0xb
push r12
not r14
push r13
add r13b, r12b
push rdx
shl r12w, 0x12
push rbx
psrld mm1, 0x4e
push r10
ror r13b, 3
push rcx
psllq mm0, 6
pop rcx
emms
pop r10
emms
pop rbx
pand mm0, mm2
pop rdx
inc r14d
pop r13
psrld mm4, 0x26
pop r12
pcmpgtw mm1, mm2
pop r14
push r14
psrlq mm2, 0x13
push rbx
pcmpgtw mm7, mm5
push rcx
inc r14
push rax
pand mm3, mm2
pop rax
paddd mm0, mm6
pop rcx
pslld mm1, 0x2b
pop rbx
nop
pop r14
xor eax, eax
mov qword [rsp + 0x38], rax
push r8
movlhps xmm4, xmm6
psllq mm5, 0x37
rcpss xmm6, xmm0
push r11
psraw mm2, 6
emms
emms
push r10
dec r8
ror r8, 0x12
push rdx
subss xmm15, xmm9
orps xmm6, xmm1
pop rdx
emms
psrlw mm1, 0x2c
paddw mm2, mm1
pop r10
sub r11, r8
or r8d, r11d
pop r11
mov r8b, 0x13
rcpss xmm3, xmm11
pop r8
call fcn.25df9ae68
mov qword [rsp + 0x40], 0x40
push r15
nop
rol r15, 4
psrad mm1, 0x3a
push rdx
nop
psrlw mm3, 0x20
push r12
emms
pop r12
sub edx, 3
dec r15d
pop rdx
orps xmm0, xmm4
shl r15b, 1
nop
pop r15
call fcn.25df9b118
xor edx, edx
mov dword [rsp + 0x34], edx
push r8
xorps xmm8, xmm4
dec r8
push rax
psrlw mm3, 0x3b
pop rax
emms
ror r8, 0x14
pop r8
xor r8d, r8d
mov r9, rsi
mov rdx, rbx
or rcx, 0xffffffffffffffff
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x3000
call fcn.25df902f5
cmp r13, r14
jne 0x25df87663
push r11
shr r11w, 8
pop r11
jmp 0x25df87669
push r10
emms
pop r10
push rdx
shr edx, 3
pop rdx
mov rdx, qword [rsp + 0x38]
lea r9, [rsp + 0x34]
mov r8d, 0x40
xor ecx, ecx
call fcn.25df8ea8a
push r10
nop
push r13
sub r10w, r13w
push rdx
psrlw mm0, 0x14
push rax
ucomiss xmm13, xmm8
push r14
sub r14d, edx
push rcx
psrlw mm4, 0x43
push r9
pcmpgtw mm7, mm2
pop r9
addps xmm13, xmm6
pop rcx
punpckldq mm7, mm6
pop r14
emms
pop rax
psubusw mm5, mm7
pop rdx
cmp r13, r10
pop r13
nop
pop r10
mov ecx, 2
mov edx, 4
call sub.msvcrt.dll_calloc
mov rcx, rax
xor eax, eax
push r13
pmaxub mm4, mm2
dec r13
emms
neg r13b
psllq mm6, 0x4e
psubsb mm6, mm2
emms
rcpps xmm6, xmm4
sbb r13, 4
dec r13
mulps xmm12, xmm6
packssdw mm7, mm2
pop r13
xor dword [rcx + rax*4], 2
push r13
nop
dec r13
psllq mm7, 0x65
not r13b
push rax
pcmpeqb mm0, mm1
rcr r13w, 4
ror al, 0xe
push r8
addps xmm9, xmm6
adc r8d, eax
push r10
pand mm5, mm7
pop r10
pslld mm4, 0x1f
psrlw mm5, 0x43
pop r8
psrad mm6, 0x5b
emms
minps xmm12, xmm4
pop rax
nop
andps xmm10, xmm12
nop
emms
pop r13
test rax, rax
jne 0x25df8775a
mov eax, 1
jmp 0x25df876d6
call sub.msvcrt.dll_free
push rax
emms
push r9
nop
emms
pop r9
sar ax, 5
pop rax
mov rdx, qword [rsp + 0x38]
mov eax, dword [rdx + 8]
mov edx, dword [rdx + 0xc]
shr eax, 0xa
shr edx, 0xa
imul eax, edx
push r8
sbb r8, 4
push r13
emms
push rax
subss xmm6, xmm8
push r10
nop
pop r10
nop
pop rax
inc r8d
pop r13
neg r8w
pop r8
cmp eax, 0x3ff
ja 0x25df877d1
push r8
psrlq mm6, 0x50
emms
dec r8
emms
rcpps xmm3, xmm4
orps xmm13, xmm4
movhlps xmm9, xmm7
pop r8
call fcn.25df9b380
mov eax, 1
jmp 0x25df877ef
push r15
nop
push rbx
paddb mm1, mm0
push r13
maxss xmm12, xmm4
pop r13
nop
pop rbx
not r15
pop r15
call fcn.25df9acf8
xor eax, eax
add rsp, 0x58
pop rbx
pop rsi
ret