Function at 0x2e499d130
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov ebp, ecx
mov ebx, edx
mov esi, r8d
mov rdi, r9
push rax
mov rax, 3
push rbx
pop rbx
dec rax
jne 0x2e499d14d
pop rax
call fcn.2e49b2504
cmp rdx, 0x65
je 0x2e499d275
push r8
psrad mm3, 5
rcpss xmm10, xmm4
push rdx
pcmpeqb mm2, mm5
paddsb mm1, mm2
push rax
nop
nop
push rbx
psubusw mm4, mm3
rcpps xmm11, xmm13
pop rbx
xadd eax, r8d
nop
pop rax
pxor mm4, mm7
psrld mm1, 0x6a
pop rdx
psrlw mm1, 9
sub r8w, 0x13
pop r8
cmp edx, 0x38
je 0x2e499d2b1
push r12
minps xmm11, xmm4
emms
dec r12d
not r12b
push r9
pcmpeqd mm0, mm6
ror r12, 0xb
sbb r9d, 9
nop
pop r9
pminsw mm6, mm2
emms
not r12
psllq mm2, 5
pop r12
cmp eax, r15d
je 0x2e499d2d3
push rdx
pxor mm6, mm1
neg dx
push r9
nop
pop r9
sub rdx, 0x13
punpckldq mm6, mm5
pop rdx
cmp cl, dl
je 0x2e499d2f7
push rcx
nop
emms
emms
push rdx
nop
shl ecx, 2
shl rcx, 3
push r9
neg rcx
psrld mm1, 6
movups xmm12, xmm9
pop r9
xor ecx, edx
pslld mm6, 0x68
nop
pop rdx
nop
emms
mov cl, 5
pop rcx
cmp r14d, ecx
je 0x2e499d32a
push r13
nop
push r15
andps xmm12, xmm13
rcpps xmm3, xmm0
push rax
pslld mm7, 0x4c
paddusb mm7, mm6
dec r13d
push r11
test r13b, r11b
sub r11w, r15w
emms
packsswb mm2, mm0
pop r11
pand mm7, mm6
nop
dec rax
pop rax
orps xmm3, xmm4
rol r15w, 0x17
pop r15
nop
pop r13
cmp ebx, 0x17
je 0x2e499d36d
jne 0x2e499d3e1
push r11
ror r11b, 9
shr r11, 0xa
psllq mm6, 0xa
push r10
mulss xmm14, xmm0
shr r10d, 0x14
push r13
emms
pop r13
addss xmm11, xmm2
inc r11d
pop r10
psllq mm2, 0x69
movlhps xmm8, xmm10
movlhps xmm7, xmm13
pop r11
jmp 0x2e499d3e1
push r14
psrlw mm3, 4
push rdx
emms
push rcx
nop
push rax
paddsb mm0, mm7
pop rax
psubusw mm0, mm1
pop rcx
xchg dx, r14w
pop rdx
emms
pop r14
jmp 0x2e499d3e1
cmp dx, 0x4d
jne 0x2e499d2e3
push r12
psrad mm3, 0x65
pop r12
jmp 0x2e499d2e9
push r13
emms
pop r13
push r9
shl r9w, 0x12
pop r9
jmp 0x2e499d3e1
push rbx
psrad mm2, 0x38
paddb mm6, mm1
paddsw mm3, mm0
rcl bx, 8
push r14
nop
cmp r14d, ebx
movhlps xmm11, xmm2
xadd bx, r14w
pop r14
emms
pcmpeqw mm1, mm5
mov bx, 0xd
rcr bx, 0xd
pop rbx
jmp 0x2e499d3e1
push r12
sub r12, 9
por mm0, mm1
emms
push r8
neg r8w
psrlq mm3, 0x63
neg r12w
push r10
nop
mulps xmm4, xmm10
xorps xmm7, xmm0
pop r10
psubw mm0, mm6
mov r8d, 4
shl r12b, 0xf
pop r8
addss xmm10, xmm9
emms
sub r12b, 2
pop r12
jmp 0x2e499d3e1
push rax
addps xmm4, xmm2
inc rax
mov rax, 0x17
dec rax
psrld mm3, 0x4e
push r8
sub ax, 0x10
emms
pminsw mm4, mm6
rcpps xmm5, xmm15
push r11
test ax, r11w
rcl eax, 0x11
emms
push r12
dec r12
psadbw mm6, mm2
push r14
ucomiss xmm1, xmm0
pop r14
not r8
emms
pop r12
shl r8, 0xd
punpckhbw mm6, mm3
shl r8w, 1
pop r11
pslld mm6, 0x17
psrad mm4, 0x46
nop
mov ax, r8w
pop r8
subss xmm10, xmm15
inc eax
shl rax, 2
pmaxsw mm0, mm2
ror ax, 0x12
pop rax
push rax
nop
pmaxsw mm6, mm2
rcl al, 8
push r13
nop
sbb eax, 7
psrlw mm7, 6
push r9
nop
sbb r9, r13
sbb eax, 0x16
pop r9
psrlq mm6, 0x29
sbb al, 2
sub al, 0xa
pop r13
emms
nop
emms
pop rax
call fcn.2e49b27b8
mov dword [rsp + 0x38], ebp
push rcx
emms
shl rcx, 0xb
push r12
emms
dec rcx
push rbx
psrlw mm0, 0x2b
mov rbx, 0x12
push r8
psrad mm3, 0xc
sbb ebx, r8d
pop r8
paddd mm6, mm5
xor ebx, ecx
pop rbx
sar rcx, 0xb
punpckhbw mm2, mm7
pop r12
nop
neg ecx
pop rcx
mov dword [rsp + 0x3c], ebx
push rdx
sar edx, 9
emms
shl rdx, 1
push rbx
maxps xmm0, xmm13
por mm7, mm6
push r10
emms
pop r10
pmaxub mm7, mm4
nop
pop rbx
nop
pcmpgtb mm3, mm6
punpcklbw mm1, mm6
pop rdx
call fcn.2e49b25ed
xor edx, edx
mov qword [rsp + 0x40], rdx
push r15
movlhps xmm0, xmm7
push r8
nop
push r14
not r14
push rdx
pslld mm4, 0x47
push rbx
mulps xmm1, xmm3
push rax
emms
pop rax
shl bx, 0xe
pop rbx
punpckhwd mm5, mm0
pop rdx
nop
pop r14
rcpss xmm13, xmm7
pop r8
sar r15, 5
pop r15
mov edx, 8
mov ecx, 3
call sub.msvcrt.dll_calloc
mov rcx, rax
push r9
andnps xmm13, xmm1
andnps xmm8, xmm6
emms
nop
pslld mm4, 0x45
push r12
add r9b, r12b
psrad mm3, 0x5a
neg r9w
paddusw mm2, mm4
push r8
pmaxsw mm1, mm5
nop
dec r12
push rdx
psrlw mm1, 0x61
movups xmm10, xmm0
push rbx
pcmpgtd mm7, mm5
pop rbx
movaps xmm13, xmm8
pcmpeqd mm4, mm1
pop rdx
adc r9, r12
inc r8d
maxss xmm13, xmm7
pop r8
emms
emms
and r12d, r9d
xadd r12w, r9w
pop r12
andps xmm12, xmm5
inc r9d
not r9
psrad mm1, 0xf
not r9b
pop r9
mov edx, 0xc0
call sub.msvcrt.dll_realloc
mov rcx, rax
push r9
nop
dec r9
emms
nop
push rdx
sbb rdx, r9
pmaddwd mm0, mm1
emms
push r12
nop
rol r9b, 4
push rax
nop
pop rax
sar r9, 0x10
test dx, r9w
pop r12
andnps xmm11, xmm14
dec rdx
maxss xmm10, xmm0
pop rdx
psubw mm4, mm2
maxss xmm1, xmm14
psrlw mm5, 0x58
shl r9, 0xb
pop r9
call sub.msvcrt.dll_free
push rdx
pcmpgtb mm4, mm1
rol rdx, 0xb
push r15
sbb dl, 0xc
pop r15
orps xmm10, xmm13
sub edx, 0x11
pop rdx
lea rax, [fcn.2e499d130]
mov qword [rsp + 0x48], rax
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
test esi, esi
lea rbx, [rsp + 0x33]
je 0x2e499d9fa
test rdi, rdi
je 0x2e499d9fa
mov dword [rsp + 0x33], 0x64492e
push r9
dec r9d
nop
push r12
andnps xmm12, xmm13
psadbw mm7, mm4
push r13
pcmpgtw mm5, mm3
psubusw mm1, mm7
push r15
sar r13b, 0x13
shl r12w, 0x14
push r10
rcr r13b, 6
pcmpeqw mm2, mm5
pop r10
mulss xmm9, xmm6
dec r13d
pop r15
pmullw mm2, mm3
rcl r9b, 7
pop r13
emms
psllq mm5, 0x55
pop r12
maxss xmm14, xmm10
emms
pop r9
mov rcx, rbx
call sub.msvcrt.dll_strlen
cmp rax, 2
jne 0x2e499d685
push rax
psubw mm1, mm2
punpckldq mm1, mm3
push rcx
psllq mm4, 0x2f
pop rcx
psllq mm3, 0x40
shl eax, 8
pop rax
jmp 0x2e499d6cf
mov rax, rbx
lea rdx, [rsp + 0x36]
cmp rdx, r15
jne 0x2e499d6a2
push r8
psrlw mm4, 0x31
pop r8
jmp 0x2e499d6a9
push r15
neg r15
pop r15
push rbx
neg ebx
pop rbx
xor byte [rax], 0x25
push r9
ucomiss xmm15, xmm3
push r8
nop
push r10
nop
pop r10
nop
pop r8
neg r9w
pop r9
inc rax
cmp rax, rdx
jne 0x2e499d68d
cmp dx, r13w
jne 0x2e499d6e5
push r14
nop
push rcx
nop
emms
pop rcx
psrlw mm1, 0x12
pop r14
jmp 0x2e499d6f3
push rdx
not dl
push r10
nop
inc r10d
pop r10
emms
pop rdx
push rax
psrlw mm7, 0x5b
push rbx
xchg bl, al
psadbw mm1, mm7
pop rbx
packuswb mm0, mm1
pop rax
cmp esi, 0xf
jbe 0x2e499d73b
push rbx
nop
not bx
shl bx, 0xe
push r8
orps xmm12, xmm11
dec r8d
push rdx
emms
pop rdx
nop
rcl r8, 0x14
pop r8
movss xmm12, xmm13
paddd mm6, mm7
dec rbx
pop rbx
call sym.PathCursorServiceEmpty.dll_AutomaticVolumeFullName
mov esi, 0xf
mov dword [rsp + 0x2f], 0x747e4a
push r10
nop
dec r10
nop
emms
not r10
inc r10d
emms
pop r10
mov dword [rsp + 0x33], 0x65705f32
mov byte [rsp + 0x37], 0
push r8
psllq mm0, 4
push r15
neg r8w
push r14
minps xmm4, xmm13
push r12
mov r12w, r15w
push r9
emms
push r13
adc r13, r15
pop r13
comiss xmm10, xmm5
pop r9
add r12d, r15d
pop r12
mulss xmm7, xmm10
pop r14
nop
pop r15
nop
pop r8
lea rcx, [rsp + 0x2f]
mov rdx, rbx
call sub.msvcrt.dll__mbscmp
test eax, eax
jne 0x2e499d7ca
push rdx
mov rdx, 1
push r15
push r11
pop r11
pop r15
dec rdx
jne 0x2e499d7b7
pop rdx
jmp 0x2e499d89c
mov rax, rbx
lea rdx, [rsp + 0x37]
push rcx
pandn mm0, mm4
paddd mm6, mm4
psrlq mm0, 0x17
pcmpgtw mm0, mm7
push r14
pslld mm3, 0x5f
mov r14, rcx
ror r14b, 0x14
push r9
psrad mm2, 0x1c
sbb ecx, 0x14
push r15
por mm3, mm0
pop r15
emms
dec r14d
pop r9
movss xmm7, xmm15
pxor mm5, mm7
not r14
pop r14
emms
emms
emms
emms
pop rcx
xor byte [rax], 0x55
push r9
andnps xmm0, xmm12
paddsb mm0, mm7
addps xmm11, xmm1
psrlw mm0, 0x60
pcmpeqb mm7, mm6
push rcx
psrad mm1, 0x5a
subps xmm6, xmm9
emms
xadd r9b, cl
push r14
emms
rol r14w, 0x11
mov r14, 0x12
push r13
punpcklwd mm5, mm0
psllq mm1, 0x2b
push r12
pmullw mm6, mm2
pop r12
dec r13
emms
pop r13
psllq mm0, 0x29
nop
psraw mm4, 0x55
pop r14
or r9w, cx
emms
sub ecx, 2
pmaxsw mm5, mm6
pop rcx
psubsb mm5, mm4
nop
pmullw mm6, mm1
shr r9d, 2
orps xmm10, xmm15
pop r9
inc rax
cmp rax, rdx
jne 0x2e499d7d2
cmp dl, r12b
jne 0x2e499d912
push r14
pslld mm3, 0x21
push r8
pcmpgtb mm1, mm2
push r15
shr r8d, 0xb
push rdx
sub r8, r15
push r11
nop
push rbx
emms
pop rbx
xorps xmm2, xmm4
pop r11
nop
pop rdx
sar r8w, 3
pop r15
psrld mm5, 0x45
pop r8
movlhps xmm14, xmm6
pop r14
jmp 0x2e499d952
push r10
not r10w
push r8
nop
push r12
psrlw mm6, 0x2e
push rax
emms
push r9
sbb r12d, 0xe
push r13
shr r10w, 0xb
push rcx
emms
pop rcx
mov r12, r13
pop r13
psrlw mm2, 0xf
pop r9
emms
pop rax
subss xmm10, xmm6
pop r12
maxps xmm2, xmm7
pop r8
nop
pop r10
push rbx
emms
pop rbx
mov dword [rsp + 0x50], esi
push r12
pandn mm6, mm3
paddusw mm1, mm2
push r11
dec r12
pop r11
rcpss xmm15, xmm12
pmullw mm4, mm0
pop r12
mov ecx, 4
mov edx, 4
call sub.msvcrt.dll_calloc
mov rcx, rax
xor eax, eax
push rdx
emms
push r8
punpcklbw mm3, mm4
nop
pop r8
emms
pop rdx
xor dword [rcx + rax*4], 0x25
push rdx
not rdx
movups xmm3, xmm15
push r13
nop
pop r13
not dx
rol dl, 0x14
pop rdx
inc rax
cmp rax, 4
jne 0x2e499d987
call sub.msvcrt.dll_free
push r13
emms
packsswb mm1, mm2
psllq mm2, 0x5e
psllq mm0, 4
push r8
inc r13d
emms
pandn mm1, mm2
emms
pop r8
nop
nop
dec r13d
inc r13
pop r13
mov edx, esi
lea rcx, [rsp + 0x58]
mov r8, rdi
shl rdx, 3
mov r9, rdx
call fcn.2e49adc87
jmp 0x2e499da76
cmp edx, r8d
jne 0x2e499da4b
push rdx
emms
psrlw mm5, 0x5b
comiss xmm13, xmm10
psrlq mm0, 0x48
psllq mm6, 0x1c
push r15
emms
nop
rcr dx, 0x16
comiss xmm13, xmm6
rcpss xmm6, xmm4
pop r15
neg rdx
sub edx, 0xc
ucomiss xmm8, xmm11
emms
emms
psrlw mm6, 0x23
pop rdx
jmp 0x2e499da6c
push rdx
neg dl
push r9
pcmpgtb mm5, mm4
push r11
psraw mm5, 0xd
push rbx
pslld mm0, 0xb
pop rbx
emms
pop r11
neg r9
pop r9
neg dx
pop rdx
push rdx
emms
pop rdx
xor eax, eax
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x2f], 0x584e6c
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 rsi, [rsp + 0x2f]
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x2e499db84
mov rax, rsi
lea rdx, [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 [rax], 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 rax
cmp rax, rdx
jne 0x2e499db09
jmp 0x2e499dbe3
lea rax, [rsp + 0x37]
push rdx
mov rdx, 2
push r13
pop r13
dec rdx
jne 0x2e499db91
pop rdx
xor byte [rbx], 0x95
cmp dl, r15b
jne 0x2e499dbbb
push rax
dec rax
push r15
subss xmm6, xmm8
maxss xmm0, xmm10
pop r15
paddsb mm6, mm7
pop rax
jmp 0x2e499dbcc
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 rbx
cmp rbx, rax
jne 0x2e499db89
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 rcx, [rsp + 0x38]
call fcn.2e49af158
nop
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
ret