Function at 0x2e49926b6
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
push r10
emms
psrlw mm3, 0x3a
pcmpgtd mm4, mm0
emms
xorps xmm0, xmm12
push rcx
rcr r10w, 0x16
rcr r10b, 6
movss xmm0, xmm2
emms
push r14
emms
paddsb mm4, mm1
inc rcx
push rbx
shl r10d, 8
mov cl, 0x11
push r9
cmp r9d, ebx
pop r9
emms
psraw mm3, 0x67
pop rbx
neg r14b
or cl, r14b
nop
pop r14
inc ecx
ucomiss xmm5, xmm1
movss xmm7, xmm12
neg r10d
pop rcx
emms
not r10b
sbb r10b, 0x10
minps xmm10, xmm12
pmullw mm1, mm5
pop r10
mov ecx, 0x10
call sub.msvcrt.dll_malloc
mov rcx, rax
push rcx
ror cx, 8
push r12
psrld mm1, 0x34
dec r12
pop r12
emms
pop rcx
mov edx, 0x90
call sub.msvcrt.dll_realloc
mov rcx, rax
push r8
shl r8b, 0xd
nop
pcmpeqb mm5, mm1
shl r8b, 0x10
punpckhwd mm6, mm7
pcmpeqd mm5, mm7
nop
emms
psraw mm5, 0x3c
emms
movaps xmm13, xmm0
dec r8d
pop r8
call sub.msvcrt.dll_free
cmp dx, r12w
jne 0x2e499279d
push rbx
psrlq mm5, 0x67
push r14
psrad mm7, 0xa
rcl bx, 4
pop r14
movhlps xmm3, xmm8
pop rbx
jmp 0x2e49927af
push rcx
shr rcx, 0xf
push r8
sub r8d, 0x16
emms
pop r8
emms
pop rcx
push r11
minps xmm6, xmm11
push r9
paddw mm3, mm7
movlhps xmm3, xmm14
pop r9
subss xmm9, xmm10
pop r11
push r13
rcl r13b, 0x10
push rbx
movups xmm10, xmm13
push r12
pmaxsw mm1, mm2
push r11
psubw mm6, mm0
pop r11
xor r12, r13
pop r12
sar r13, 5
pop rbx
sbb r13b, 2
pop r13
push r14
ucomiss xmm8, xmm13
push r8
nop
nop
push r10
nop
addss xmm12, xmm3
inc r10
pop r10
inc r14
emms
pop r8
emms
pop r14
push r12
emms
mulps xmm14, xmm11
push r15
comiss xmm11, xmm10
pcmpgtb mm7, mm5
push rcx
subss xmm11, xmm4
mulps xmm3, xmm13
push r8
nop
emms
push rbx
paddb mm4, mm6
neg r12
pop rbx
inc r12d
or r8, r15
pop r8
mulss xmm8, xmm0
psllq mm5, 0x17
pop rcx
rcr r12w, 0x13
dec r12
pop r15
movlhps xmm8, xmm7
dec r12d
pop r12
call fcn.2e49b2d75
push rbx
shr ebx, 2
pminsw mm0, mm4
mov ebx, 0x16
shl ebx, 0x10
push r10
emms
sbb bl, 0x10
pcmpeqw mm4, mm3
push r9
punpckldq mm7, mm4
psrlw mm2, 0x11
push r12
nop
pop r12
emms
paddusw mm7, mm5
pop r9
pminsw mm3, mm1
not bx
psadbw mm2, mm3
pop r10
emms
addss xmm1, xmm9
psrad mm1, 0x56
psrld mm5, 0x18
pop rbx
call fcn.2e49b240e
push rcx
psllq mm6, 0x2b
push r12
or ecx, r12d
not r12d
push r14
paddw mm1, mm2
sbb r12w, cx
maxss xmm8, xmm6
push r8
add r12w, cx
emms
sub r14, rcx
and r14d, ecx
pop r8
emms
sbb cx, 0x13
inc r14
pop r14
pminsw mm2, mm1
nop
pop r12
rol cx, 0x17
pop rcx
cmp dl, 0x45
jne 0x2e4992921
push rcx
sub ecx, 0x13
push r8
ucomiss xmm14, xmm12
emms
pop r8
nop
pop rcx
jmp 0x2e4992936
push r15
orps xmm2, xmm6
push rax
xor ax, r15w
psrlq mm1, 0x59
pop rax
psrad mm7, 0x1f
pop r15
push r13
shr r13d, 0x10
push rbx
pslld mm1, 0xe
paddsw mm7, mm2
pop rbx
nop
pop r13
push r13
pcmpgtd mm0, mm4
psrlw mm0, 0x2a
push r10
shl r13b, 3
pop r10
packsswb mm6, mm2
nop
pop r13
push rdx
subss xmm0, xmm4
pop rdx
cmp dl, 0x66
jne 0x2e499297b
push r9
dec r9d
pop r9
jmp 0x2e499297f
push rdx
dec edx
pop rdx
push r8
pcmpgtd mm2, mm0
pop r8
rdtsc
cmp rdx, 0x49
jne 0x2e499299b
push rbx
dec ebx
pop rbx
jmp 0x2e49929a2
push r10
paddsb mm2, mm5
pop r10
push rcx
dec rcx
pop rcx
shl rdx, 0x20
mov eax, eax
mov rbx, rdx
or rbx, rax
push r8
nop
push r9
neg r9w
push r14
mov r9d, r14d
push r10
emms
push r13
subps xmm3, xmm0
push r15
punpcklbw mm0, mm6
pop r15
shl r8, 0x17
pop r13
emms
pop r10
nop
pop r14
nop
pop r9
sub r8, 0xb
pop r8
cmp rdx, rax
jne 0x2e4992a38
cmp dx, bx
jne 0x2e49929f7
push rbx
emms
pop rbx
jmp 0x2e49929fe
push r11
psubsb mm3, mm5
pop r11
push rcx
emms
pop rcx
jmp 0x2e4992a78
push r10
andnps xmm13, xmm5
push r8
nop
push rdx
mov dx, r10w
push rax
paddusw mm0, mm1
push r15
paddb mm2, mm1
push r14
pmaddwd mm3, mm1
push r12
psrlq mm5, 0x31
pop r12
subss xmm12, xmm2
pop r14
nop
pop r15
neg r10
pop rax
nop
pop rdx
add r8w, r10w
pop r8
psrlw mm6, 0x67
pop r10
cmp dx, 0xa
jne 0x2e4992a8e
push r15
maxss xmm3, xmm1
pop r15
jmp 0x2e4992a95
push r14
pcmpgtd mm6, mm1
pop r14
push r8
shl r8w, 0x17
pop r8
call fcn.2e49b1e3b
mov qword [rsp + 0x58], 0xffffffffffffd8f0
push r12
emms
mulps xmm14, xmm11
push r15
comiss xmm11, xmm10
pcmpgtb mm7, mm5
push rcx
subss xmm11, xmm4
mulps xmm3, xmm13
push r8
nop
emms
push rbx
paddb mm4, mm6
neg r12
pop rbx
inc r12d
or r8, r15
pop r8
mulss xmm8, xmm0
psllq mm5, 0x17
pop rcx
rcr r12w, 0x13
dec r12
pop r15
movlhps xmm8, xmm7
dec r12d
pop r12
call fcn.2e49b2d75
mov ecx, 0x14
mov rax, rbx
xor edx, edx
div rcx
imul ebp, edx, 0x3e8
push r10
mov r10, 2
push r15
not r15w
andnps xmm8, xmm1
movhlps xmm13, xmm4
push r13
emms
psrad mm6, 0x2e
sar r15, 0xb
push r11
not r15d
sub r13b, r15b
push rbx
not r15b
dec r11d
pop rbx
emms
nop
or r15b, r13b
pop r11
orps xmm7, xmm5
nop
pop r13
neg r15d
ucomiss xmm0, xmm3
pop r15
dec r10
jne 0x2e4992b1a
pop r10
lea eax, [rbp + 0x2710]
imul rax, qword [rsp + 0x58]
mov qword [rsp + 0x58], rax
push r11
psraw mm3, 0x4a
nop
addps xmm14, xmm0
emms
push r13
nop
dec r13
shr r13b, 0x13
push rdx
pcmpgtw mm5, mm1
psadbw mm6, mm7
push rbx
pmaddwd mm4, mm0
pop rbx
sar dl, 0x16
not r11d
pop rdx
cmp r11w, r13w
ror r11b, 0x17
movhlps xmm12, xmm14
pop r13
psllq mm3, 0x4e
nop
psraw mm1, 0x6a
sub r11w, 2
pop r11
push r9
nop
pmulhuw mm7, mm3
mov r9b, 7
neg r9b
push rbx
punpcklwd mm3, mm7
not rbx
psllq mm6, 1
nop
pop rbx
dec r9d
dec r9d
neg r9
rcpss xmm9, xmm2
pop r9
push r8
pmaxsw mm0, mm2
pop r8
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.2e49a413b
lea rdx, [rsp + 0x58]
xor ecx, ecx
call fcn.2e49a5180
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x48]
call fcn.2e49a413b
cmp rdx, 0x49
jne 0x2e4992c27
push rbx
dec ebx
pop rbx
jmp 0x2e4992c2e
push r10
paddsb mm2, mm5
pop r10
push rcx
dec rcx
pop rcx
imul rax, qword [rsp + 0x48], 0x3e8
mov dword [rsp + 0x2f], 0x584e6c
cqo
idiv qword [rsp + 0x40]
mov rdi, rax
imul rax, qword [rsp + 0x38], 0x3e8
cqo
idiv qword [rsp + 0x50]
sub edi, eax
push r11
nop
push r15
emms
push r8
mov r15b, r11b
push r12
sar r15w, 0x14
push rbx
psraw mm7, 0x27
push rcx
psraw mm2, 0x6a
pop rcx
mov bx, 0xf
pop rbx
rol r15, 0x15
pop r12
test r8d, r15d
pop r8
paddusb mm5, mm4
pop r15
emms
pop r11
mov dword [rsp + 0x33], 0x652e6f2c
mov byte [rsp + 0x37], 0
push r11
pcmpgtd mm4, mm1
push r13
emms
push r10
subss xmm15, xmm6
push rax
psllq mm5, 0x46
pop rax
rcpss xmm0, xmm4
pop r10
psllq mm2, 7
pop r13
pandn mm4, mm2
pop r11
lea rbx, [rsp + 0x33]
lea rsi, [rsp + 0x2f]
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x2e4992d6b
mov rcx, rsi
lea rax, [rsp + 0x32]
push r11
inc r11
psllq mm0, 0x62
nop
push r14
dec r14d
movups xmm9, xmm12
emms
push rax
paddsw mm2, mm6
mov r14d, eax
push rcx
pmaddwd mm5, mm0
subss xmm5, xmm3
pop rcx
psrlq mm1, 0x2f
rcl r14d, 0x17
pcmpeqw mm0, mm5
pop rax
subps xmm12, xmm11
emms
pop r14
rol r11d, 3
rcpss xmm8, xmm4
pop r11
xor byte [rcx], 0x31
push rdx
ror edx, 5
mov edx, 0xa
shl dx, 0xb
push rcx
rcr cx, 1
emms
push r15
dec r15d
pop r15
comiss xmm14, xmm3
xadd rcx, rdx
pop rcx
ucomiss xmm9, xmm2
nop
nop
pop rdx
inc rcx
cmp rcx, rax
jne 0x2e4992cf0
jmp 0x2e4992dcd
mov rcx, rbx
lea rax, [rsp + 0x37]
push rdx
mov rdx, 2
push r13
pop r13
dec rdx
jne 0x2e4992d7b
pop rdx
xor byte [rcx], 0x95
cmp dl, r15b
jne 0x2e4992da5
push rax
dec rax
push r15
subss xmm6, xmm8
maxss xmm0, xmm10
pop r15
paddsb mm6, mm7
pop rax
jmp 0x2e4992db6
push rcx
packssdw mm0, mm1
push r8
paddsb mm6, mm0
and r8, rcx
pop r8
emms
pop rcx
push r12
emms
push rdx
dec r12d
nop
pop rdx
punpcklbw mm0, mm7
pop r12
inc rcx
cmp rcx, rax
jne 0x2e4992d73
push r15
shl r15b, 7
andps xmm1, xmm0
sub r15w, 0x11
dec r15
push r9
xadd r9w, r15w
paddsb mm3, mm7
psrad mm4, 0x38
push r14
dec r9d
nop
push rdx
xor r15b, r9b
pop rdx
nop
inc r14
pop r14
paddusw mm4, mm0
xadd r9, r15
emms
pop r9
inc r15
emms
psrld mm1, 0x37
psrad mm6, 0xa
pop r15
lea edx, [rbp + 0x2328]
cmp edx, edi
jae 0x2e4992e56
push r10
nop
push rax
inc eax
push rbx
subss xmm12, xmm8
push r11
add rbx, r11
push r13
psrld mm6, 0x15
pop r13
shr r11d, 0x11
pop r11
emms
pop rbx
and r10d, eax
pop rax
psrld mm7, 1
pop r10
call fcn.2e49b2bf1
xor eax, eax
jmp 0x2e4992e7d
push r14
ucomiss xmm8, xmm13
push r8
nop
nop
push r10
nop
addss xmm12, xmm3
inc r10
pop r10
inc r14
emms
pop r8
emms
pop r14
mov eax, 1
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
ret