Function at 0x4c5ea3
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rbx
push r12
push r13
push r14
push r15
lea rsp, [rsp - 0x48]
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xa8]
lea rsp, [rsp - 0xa0]
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0x60], xmm8
movaps xmmword [rsp + 0x70], xmm9
movaps xmmword [rsp + 0x80], xmm10
movaps xmmword [rsp + 0x90], xmm11
movaps xmmword [rsp + 0xa0], xmm12
movaps xmmword [rsp + 0xb0], xmm13
movaps xmmword [rsp + 0xc0], xmm14
movaps xmmword [rsp + 0xd0], xmm15
mov rbp, rsp
mov r12, rcx
mov r13, rdx
mov r14, r8
mov r15, r9
lea rcx, [r11]
lea rdx, [rbp + 0x20]
lea r8, [r10]
call sym.AES_encrypt
mov eax, dword [r15 + 0xf0]
mov rbx, r14
mov edx, eax
shl rax, 7
sub rax, 0x60
sub rsp, rax
mov rax, rsp
mov rcx, r15
mov r10d, edx
call sym._bsaes_key_convert
pxor xmm7, xmm6
movdqa xmmword [rax], xmm7
and r14, 0xfffffffffffffff0
sub rsp, 0x80
movdqa xmm6, xmmword [rbp + 0x20]
pxor xmm14, xmm14
movdqa xmm12, xmmword [0x004c7170]
pcmpgtd xmm14, xmm6
sub r14, 0x80
jb 0x4c61e0
jmp 0x4c5fa0
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm15, xmm6
movdqa xmmword [rsp], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm0, xmm6
movdqa xmmword [rsp + 0x10], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm7, xmmword [r12]
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm1, xmm6
movdqa xmmword [rsp + 0x20], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm8, xmmword [r12 + 0x10]
pxor xmm15, xmm7
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm2, xmm6
movdqa xmmword [rsp + 0x30], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm9, xmmword [r12 + 0x20]
pxor xmm0, xmm8
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm3, xmm6
movdqa xmmword [rsp + 0x40], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm10, xmmword [r12 + 0x30]
pxor xmm1, xmm9
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm4, xmm6
movdqa xmmword [rsp + 0x50], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm11, xmmword [r12 + 0x40]
pxor xmm2, xmm10
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm5, xmm6
movdqa xmmword [rsp + 0x60], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm12, xmmword [r12 + 0x50]
pxor xmm3, xmm11
movdqu xmm13, xmmword [r12 + 0x60]
pxor xmm4, xmm12
movdqu xmm14, xmmword [r12 + 0x70]
lea r12, [r12 + 0x80]
movdqa xmmword [rsp + 0x70], xmm6
pxor xmm5, xmm13
lea rax, [rsp + 0x80]
pxor xmm6, xmm14
mov r10d, edx
call sym._bsaes_encrypt8
pxor xmm15, xmmword [rsp]
pxor xmm0, xmmword [rsp + 0x10]
movdqu xmmword [r13], xmm15
pxor xmm3, xmmword [rsp + 0x20]
movdqu xmmword [r13 + 0x10], xmm0
pxor xmm5, xmmword [rsp + 0x30]
movdqu xmmword [r13 + 0x20], xmm3
pxor xmm2, xmmword [rsp + 0x40]
movdqu xmmword [r13 + 0x30], xmm5
pxor xmm6, xmmword [rsp + 0x50]
movdqu xmmword [r13 + 0x40], xmm2
pxor xmm1, xmmword [rsp + 0x60]
movdqu xmmword [r13 + 0x50], xmm6
pxor xmm4, xmmword [rsp + 0x70]
movdqu xmmword [r13 + 0x60], xmm1
movdqu xmmword [r13 + 0x70], xmm4
lea r13, [r13 + 0x80]
movdqa xmm6, xmmword [rsp + 0x70]
pxor xmm14, xmm14
movdqa xmm12, xmmword [0x004c7170]
pcmpgtd xmm14, xmm6
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
sub r14, 0x80
jae 0x4c5fa0
add r14, 0x80
je 0x4c6655
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm15, xmm6
movdqa xmmword [rsp], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm0, xmm6
movdqa xmmword [rsp + 0x10], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm7, xmmword [r12]
cmp r14, 0x10
je 0x4c6620
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm1, xmm6
movdqa xmmword [rsp + 0x20], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm8, xmmword [r12 + 0x10]
cmp r14, 0x20
je 0x4c65d0
pxor xmm15, xmm7
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm2, xmm6
movdqa xmmword [rsp + 0x30], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm9, xmmword [r12 + 0x20]
cmp r14, 0x30
je 0x4c6570
pxor xmm0, xmm8
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm3, xmm6
movdqa xmmword [rsp + 0x40], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm10, xmmword [r12 + 0x30]
cmp r14, 0x40
je 0x4c6510
pxor xmm1, xmm9
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm4, xmm6
movdqa xmmword [rsp + 0x50], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm11, xmmword [r12 + 0x40]
cmp r14, 0x50
je 0x4c64a0
pxor xmm2, xmm10
pshufd xmm13, xmm14, 0x13
pxor xmm14, xmm14
movdqa xmm5, xmm6
movdqa xmmword [rsp + 0x60], xmm6
paddq xmm6, xmm6
pand xmm13, xmm12
pcmpgtd xmm14, xmm6
pxor xmm6, xmm13
movdqu xmm12, xmmword [r12 + 0x50]
cmp r14, 0x60
je 0x4c6420
pxor xmm3, xmm11
movdqu xmm13, xmmword [r12 + 0x60]
pxor xmm4, xmm12
movdqa xmmword [rsp + 0x70], xmm6
lea r12, [r12 + 0x70]
pxor xmm5, xmm13
lea rax, [rsp + 0x80]
mov r10d, edx
call sym._bsaes_encrypt8
pxor xmm15, xmmword [rsp]
pxor xmm0, xmmword [rsp + 0x10]
movdqu xmmword [r13], xmm15
pxor xmm3, xmmword [rsp + 0x20]
movdqu xmmword [r13 + 0x10], xmm0
pxor xmm5, xmmword [rsp + 0x30]
movdqu xmmword [r13 + 0x20], xmm3
pxor xmm2, xmmword [rsp + 0x40]
movdqu xmmword [r13 + 0x30], xmm5
pxor xmm6, xmmword [rsp + 0x50]
movdqu xmmword [r13 + 0x40], xmm2
pxor xmm1, xmmword [rsp + 0x60]
movdqu xmmword [r13 + 0x50], xmm6
movdqu xmmword [r13 + 0x60], xmm1
lea r13, [r13 + 0x70]
movdqa xmm6, xmmword [rsp + 0x70]
jmp 0x4c6655
pxor xmm3, xmm11
lea r12, [r12 + 0x60]
pxor xmm4, xmm12
lea rax, [rsp + 0x80]
mov r10d, edx
call sym._bsaes_encrypt8
pxor xmm15, xmmword [rsp]
pxor xmm0, xmmword [rsp + 0x10]
movdqu xmmword [r13], xmm15
pxor xmm3, xmmword [rsp + 0x20]
movdqu xmmword [r13 + 0x10], xmm0
pxor xmm5, xmmword [rsp + 0x30]
movdqu xmmword [r13 + 0x20], xmm3
pxor xmm2, xmmword [rsp + 0x40]
movdqu xmmword [r13 + 0x30], xmm5
pxor xmm6, xmmword [rsp + 0x50]
movdqu xmmword [r13 + 0x40], xmm2
movdqu xmmword [r13 + 0x50], xmm6
lea r13, [r13 + 0x60]
movdqa xmm6, xmmword [rsp + 0x60]
jmp 0x4c6655
pxor xmm2, xmm10
lea r12, [r12 + 0x50]
pxor xmm3, xmm11
lea rax, [rsp + 0x80]
mov r10d, edx
call sym._bsaes_encrypt8
pxor xmm15, xmmword [rsp]
pxor xmm0, xmmword [rsp + 0x10]
movdqu xmmword [r13], xmm15
pxor xmm3, xmmword [rsp + 0x20]
movdqu xmmword [r13 + 0x10], xmm0
pxor xmm5, xmmword [rsp + 0x30]
movdqu xmmword [r13 + 0x20], xmm3
pxor xmm2, xmmword [rsp + 0x40]
movdqu xmmword [r13 + 0x30], xmm5
movdqu xmmword [r13 + 0x40], xmm2
lea r13, [r13 + 0x50]
movdqa xmm6, xmmword [rsp + 0x50]
jmp 0x4c6655
pxor xmm1, xmm9
lea r12, [r12 + 0x40]
pxor xmm2, xmm10
lea rax, [rsp + 0x80]
mov r10d, edx
call sym._bsaes_encrypt8
pxor xmm15, xmmword [rsp]
pxor xmm0, xmmword [rsp + 0x10]
movdqu xmmword [r13], xmm15
pxor xmm3, xmmword [rsp + 0x20]
movdqu xmmword [r13 + 0x10], xmm0
pxor xmm5, xmmword [rsp + 0x30]
movdqu xmmword [r13 + 0x20], xmm3
movdqu xmmword [r13 + 0x30], xmm5
lea r13, [r13 + 0x40]
movdqa xmm6, xmmword [rsp + 0x40]
jmp 0x4c6655
pxor xmm0, xmm8
lea r12, [r12 + 0x30]
pxor xmm1, xmm9
lea rax, [rsp + 0x80]
mov r10d, edx
call sym._bsaes_encrypt8
pxor xmm15, xmmword [rsp]
pxor xmm0, xmmword [rsp + 0x10]
movdqu xmmword [r13], xmm15
pxor xmm3, xmmword [rsp + 0x20]
movdqu xmmword [r13 + 0x10], xmm0
movdqu xmmword [r13 + 0x20], xmm3
lea r13, [r13 + 0x30]
movdqa xmm6, xmmword [rsp + 0x30]
jmp 0x4c6655
pxor xmm15, xmm7
lea r12, [r12 + 0x20]
pxor xmm0, xmm8
lea rax, [rsp + 0x80]
mov r10d, edx
call sym._bsaes_encrypt8
pxor xmm15, xmmword [rsp]
pxor xmm0, xmmword [rsp + 0x10]
movdqu xmmword [r13], xmm15
movdqu xmmword [r13 + 0x10], xmm0
lea r13, [r13 + 0x20]
movdqa xmm6, xmmword [rsp + 0x20]
jmp 0x4c6655
pxor xmm7, xmm15
lea r12, [r12 + 0x10]
movdqa xmmword [rbp + 0x20], xmm7
lea rcx, [rbp + 0x20]
lea rdx, [rbp + 0x20]
lea r8, [r15]
call sym.AES_encrypt
pxor xmm15, xmmword [rbp + 0x20]
movdqu xmmword [r13], xmm15
lea r13, [r13 + 0x10]
movdqa xmm6, xmmword [rsp + 0x10]
and ebx, 0xf
je 0x4c66a5
mov rdx, r13
movzx eax, byte [r12]
movzx ecx, byte [rdx - 0x10]
lea r12, [r12 + 1]
mov byte [rdx - 0x10], al
mov byte [rdx], cl
lea rdx, [rdx + 1]
sub ebx, 1
jne 0x4c665d
movdqu xmm15, xmmword [r13 - 0x10]
lea rcx, [rbp + 0x20]
pxor xmm15, xmm6
lea rdx, [rbp + 0x20]
movdqa xmmword [rbp + 0x20], xmm15
lea r8, [r15]
call sym.AES_encrypt
pxor xmm6, xmmword [rbp + 0x20]
movdqu xmmword [r13 - 0x10], xmm6
lea rax, [rsp]
pxor xmm0, xmm0
movdqa xmmword [rax], xmm0
movdqa xmmword [rax + 0x10], xmm0
lea rax, [rax + 0x20]
cmp rbp, rax
ja 0x4c66ad
lea rax, [rbp + 0x78]
movaps xmm6, xmmword [rbp + 0x40]
movaps xmm7, xmmword [rbp + 0x50]
movaps xmm8, xmmword [rbp + 0x60]
movaps xmm9, xmmword [rbp + 0x70]
movaps xmm10, xmmword [rbp + 0x80]
movaps xmm11, xmmword [rbp + 0x90]
movaps xmm12, xmmword [rbp + 0xa0]
movaps xmm13, xmmword [rbp + 0xb0]
movaps xmm14, xmmword [rbp + 0xc0]
movaps xmm15, xmmword [rbp + 0xd0]
lea rax, [rax + 0xa0]
mov r15, qword [rax - 0x30]
mov r14, qword [rax - 0x28]
mov r13, qword [rax - 0x20]
mov r12, qword [rax - 0x18]
mov rbx, qword [rax - 0x10]
mov rbp, qword [rax - 8]
lea rsp, [rax]
repz ret