Function at 0x140111fe0
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1e8
vmovups xmmword [rsp + 0x140], xmm6
vmovups xmmword [rsp + 0x150], xmm7
vmovups xmmword [rsp + 0x160], xmm8
vmovups xmmword [rsp + 0x170], xmm9
vmovups xmmword [rsp + 0x180], xmm10
vmovups xmmword [rsp + 0x190], xmm11
vmovups xmmword [rsp + 0x1a0], xmm12
vmovups xmmword [rsp + 0x1b0], xmm13
vmovups xmmword [rsp + 0x1c0], xmm14
vmovups xmmword [rsp + 0x1d0], xmm15
mov eax, dword [rcx + 0x1190]
mov rbx, rcx
mov rdi, rdx
mov rsi, r8
cmp r8, 0x3f
jbe 0x140112920
test eax, eax
jne 0x1401128c8
vmovdqu xmm6, xmmword [rbx + 0x1080]
vmovdqu xmm1, xmmword [rbx + 0x1150]
mov rax, rsi
shr rax, 5
vmovdqu xmm15, xmmword [rbx + 0x10b0]
vmovdqu xmm14, xmmword [rbx + 0x10c0]
vmovdqu xmmword [rsp + 0x100], xmm6
vmovdqu xmm6, xmmword [rbx + 0x1090]
lea r9, [rax - 1]
vmovdqu xmm12, xmmword [rbx + 0x1170]
vmovdqu xmmword [rsp + 0x90], xmm1
mov r8d, dword [rbx + 0x1194]
vmovdqu xmm1, xmmword [rbx + 0x1180]
vmovdqu xmmword [rsp + 0x110], xmm6
vmovdqu xmm6, xmmword [rbx + 0x10a0]
vmovdqu xmmword [rsp + 0x120], xmm6
vmovdqu xmm6, xmmword [rbx + 0x10d0]
vmovdqu xmmword [rsp + 0x20], xmm6
vmovdqu xmm6, xmmword [rbx + 0x10e0]
vmovdqu xmmword [rsp + 0x30], xmm6
vmovdqu xmm6, xmmword [rbx + 0x10f0]
vmovdqu xmmword [rsp + 0x40], xmm6
vmovdqu xmm6, xmmword [rbx + 0x1100]
vmovdqu xmmword [rsp + 0x50], xmm6
vmovdqu xmm6, xmmword [rbx + 0x1110]
vmovdqu xmm8, xmm6
vmovdqu xmm6, xmmword [rbx + 0x1120]
vmovdqu xmmword [rsp + 0x60], xmm6
vmovdqu xmm6, xmmword [rbx + 0x1130]
vmovdqu xmmword [rsp + 0x70], xmm6
vmovdqu xmm6, xmmword [rbx + 0x1140]
vmovdqu xmmword [rsp + 0x80], xmm6
vmovdqu xmm6, xmmword [rbx + 0x1160]
vmovdqu xmmword [rsp + 0xa0], xmm6
je 0x140112735
movabs rax, 0x100000001
mov rcx, rdi
vmovdqu xmmword [rsp + 0xb0], xmm14
vmovq xmm6, rax
vpunpcklqdq xmm5, xmm6, xmm6
vmovdqu xmmword [rsp + 0x130], xmm5
vpcmpeqq xmm13, xmm13, xmm13
nop dword [rax]
lea eax, [r8 - 8]
mov r10d, r8d
lea r8d, [r8 - 1]
sub rcx, 0xffffffffffffff80
and r8d, 0x1f
and eax, 0x1f
vmovdqu xmm7, xmm8
mov edx, r8d
shl rax, 7
vmovdqu xmm11, xmm7
shl rdx, 7
add rax, rbx
add rdx, rbx
vmovdqu xmm0, xmmword [rdx + 0xa0]
vpxor xmm2, xmm0, xmmword [rax + 0x80]
vmovdqu xmmword [rax + 0x80], xmm2
vpxor xmm0, xmm0, xmmword [rcx - 0x60]
vmovdqu xmmword [rdx + 0xa0], xmm0
vmovdqu xmm0, xmmword [rdx + 0xb0]
vpxor xmm2, xmm0, xmmword [rax + 0x90]
vmovdqu xmmword [rax + 0x90], xmm2
vpxor xmm0, xmm0, xmmword [rcx - 0x50]
vmovdqu xmmword [rdx + 0xb0], xmm0
vmovdqu xmm0, xmmword [rdx + 0xc0]
vpxor xmm2, xmm0, xmmword [rax + 0xa0]
vmovdqu xmmword [rax + 0xa0], xmm2
vpxor xmm0, xmm0, xmmword [rcx - 0x40]
vmovdqu xmmword [rdx + 0xc0], xmm0
vmovdqu xmm0, xmmword [rdx + 0xd0]
vpxor xmm2, xmm0, xmmword [rax + 0xb0]
vmovdqu xmmword [rax + 0xb0], xmm2
vpxor xmm0, xmm0, xmmword [rcx - 0x30]
vmovdqu xmmword [rdx + 0xd0], xmm0
vmovdqu xmm0, xmmword [rdx + 0xe0]
vpxor xmm2, xmm0, xmmword [rax + 0xc0]
vmovdqu xmmword [rax + 0xc0], xmm2
vpxor xmm0, xmm0, xmmword [rcx - 0x20]
vmovdqu xmmword [rdx + 0xe0], xmm0
vmovdqu xmm0, xmmword [rdx + 0xf0]
vpxor xmm2, xmm0, xmmword [rax + 0xd0]
vmovdqu xmmword [rax + 0xd0], xmm2
vpxor xmm0, xmm0, xmmword [rcx - 0x10]
vmovdqu xmmword [rdx + 0xf0], xmm0
vmovdqu xmm0, xmmword [rdx + 0x80]
vpxor xmm2, xmm0, xmmword [rax + 0xe0]
vmovdqu xmmword [rax + 0xe0], xmm2
vpxor xmm0, xmm0, xmmword [rcx - 0x80]
vmovdqu xmm3, xmmword [rsp + 0x120]
vmovdqu xmm4, xmmword [rsp + 0x110]
vmovdqu xmm14, xmmword [rsp + 0x50]
vmovdqu xmmword [rdx + 0x80], xmm0
vmovdqu xmm0, xmmword [rdx + 0x90]
vpxor xmm2, xmm0, xmmword [rax + 0xf0]
vmovdqu xmm6, xmmword [rsp + 0x100]
vpxor xmm10, xmm13, xmmword [rsp + 0x90]
vmovdqu xmmword [rax + 0xf0], xmm2
vpxor xmm0, xmm0, xmmword [rcx - 0x70]
mov eax, r10d
vpor xmm10, xmm10, xmmword [rsp + 0x80]
vpxor xmm10, xmm10, xmmword [rsp + 0x70]
xor eax, 0x10
vmovdqu xmmword [rdx + 0x90], xmm0
vpxor xmm0, xmm13, xmm3
mov rdx, rax
vpor xmm0, xmm0, xmm4
shl rdx, 7
vpxor xmm5, xmm0, xmm6
vpxor xmm0, xmm13, xmm8
vpxor xmm8, xmm13, xmmword [rsp + 0x60]
mov rax, rdx
vmovdqu xmmword [rsp + 0xf0], xmm5
vpor xmm0, xmm0, xmm14
add rax, rbx
vmovdqu xmm5, xmmword [rsp + 0x40]
vpor xmm8, xmm8, xmm7
vpxor xmm7, xmm13, xmm6
vpxor xmm0, xmm0, xmm5
vpxor xmm8, xmm8, xmm14
vpor xmm7, xmm7, xmm1
vpsrld xmm2, xmm0, 0x1f
vpslld xmm0, xmm0, 1
vmovdqu xmm14, xmm6
vpor xmm2, xmm0, xmm2
vpxor xmm0, xmm13, xmm1
vpxor xmm7, xmm7, xmm12
vpor xmm0, xmm0, xmm12
vpxor xmm6, xmm13, xmm5
vpor xmm6, xmm6, xmmword [rsp + 0x30]
vmovdqu xmmword [rsp + 0xc0], xmm2
vpxor xmm0, xmm0, xmmword [rsp + 0xa0]
vpxor xmm6, xmm6, xmmword [rsp + 0x20]
vpxor xmm5, xmm13, xmmword [rsp + 0xa0]
vpor xmm5, xmm5, xmmword [rsp + 0x90]
vpxor xmm5, xmm5, xmmword [rsp + 0x80]
vpsrld xmm2, xmm0, 0x1d
vpslld xmm0, xmm0, 3
vpor xmm9, xmm0, xmm2
vpxor xmm0, xmm13, xmmword [rsp + 0x30]
vpor xmm0, xmm0, xmmword [rsp + 0x20]
vpxor xmm0, xmm0, xmmword [rsp + 0xb0]
vmovdqu xmmword [rsp + 0xd0], xmm9
vpxor xmm9, xmm13, xmm15
vpor xmm9, xmm9, xmm3
vpsrld xmm2, xmm0, 0x1a
vpslld xmm0, xmm0, 6
vpxor xmm9, xmm9, xmm4
vpor xmm0, xmm0, xmm2
vmovdqu xmm2, xmm4
vpxor xmm4, xmm13, xmmword [rsp + 0xb0]
vmovdqu xmmword [rsp + 0xe0], xmm0
vpsrld xmm0, xmm10, 0x16
vpslld xmm10, xmm10, 0xa
vpxor xmm2, xmm13, xmm2
vpor xmm10, xmm10, xmm0
vpsrld xmm0, xmm9, 0x11
vpor xmm4, xmm4, xmm15
vpslld xmm9, xmm9, 0xf
vpxor xmm4, xmm4, xmm3
vpxor xmm3, xmm13, xmmword [rsp + 0x70]
vpor xmm9, xmm9, xmm0
vpsrld xmm0, xmm8, 0xb
vpor xmm3, xmm3, xmmword [rsp + 0x60]
vpslld xmm8, xmm8, 0x15
vpor xmm2, xmm2, xmm14
vpor xmm8, xmm8, xmm0
vpsrld xmm0, xmm7, 4
vpxor xmm3, xmm3, xmm11
vpslld xmm7, xmm7, 0x1c
vpxor xmm2, xmm2, xmm1
vpxor xmm1, xmm13, xmmword [rsp + 0x50]
vpor xmm7, xmm7, xmm0
vpsrld xmm0, xmm6, 0x1c
vpor xmm1, xmm1, xmmword [rsp + 0x40]
vpslld xmm6, xmm6, 4
vpxor xmm1, xmm1, xmmword [rsp + 0x30]
vpxor xmm14, xmm13, xmmword [rsp + 0x20]
vpor xmm14, xmm14, xmmword [rsp + 0xb0]
vpor xmm6, xmm6, xmm0
vpsrld xmm0, xmm5, 0x13
vpslld xmm5, xmm5, 0xd
vpor xmm5, xmm5, xmm0
vpsrld xmm0, xmm4, 9
vpxor xmm14, xmm14, xmm15
vmovdqu xmm15, xmmword [rsp + 0xf0]
vpxor xmm15, xmm15, xmmword [rsp + 0x130]
vpslld xmm4, xmm4, 0x17
vpor xmm4, xmm4, xmm0
vpsrld xmm0, xmm3, 0x1e
vpslld xmm3, xmm3, 2
vpor xmm3, xmm3, xmm0
vpsrld xmm0, xmm2, 0x12
vpslld xmm2, xmm2, 0xe
vpor xmm2, xmm2, xmm0
vpsrld xmm0, xmm1, 5
vpslld xmm1, xmm1, 0x1b
vpor xmm1, xmm1, xmm0
vpxor xmm0, xmm13, xmm12
vpor xmm0, xmm0, xmmword [rsp + 0xa0]
vpxor xmm0, xmm0, xmmword [rsp + 0x90]
vpsrld xmm11, xmm0, 0x17
vpslld xmm0, xmm0, 9
vpor xmm0, xmm0, xmm11
vpsrld xmm11, xmm14, 8
vpslld xmm14, xmm14, 0x18
vpor xmm14, xmm14, xmm11
vpxor xmm11, xmm13, xmmword [rsp + 0x80]
vpor xmm11, xmm11, xmmword [rsp + 0x70]
vpxor xmm11, xmm11, xmmword [rsp + 0x60]
vpsrld xmm12, xmm11, 0x18
vpslld xmm11, xmm11, 8
vpor xmm11, xmm11, xmm12
vpxor xmm12, xmm10, xmmword [rsp + 0xc0]
vpxor xmm15, xmm15, xmm12
vmovdqu xmm12, xmmword [rsp + 0xc0]
vpxor xmm12, xmm12, xmmword [rsp + 0xd0]
vmovdqu xmmword [rsp + 0x100], xmm15
vpxor xmm15, xmm9, xmmword [rcx - 0x80]
vpxor xmm15, xmm15, xmm12
vmovdqu xmm12, xmmword [rsp + 0xd0]
vpxor xmm12, xmm12, xmmword [rsp + 0xe0]
vmovdqu xmmword [rsp + 0x110], xmm15
vpxor xmm15, xmm8, xmmword [rcx - 0x70]
vpxor xmm15, xmm15, xmm12
vpxor xmm12, xmm10, xmmword [rsp + 0xe0]
vpxor xmm10, xmm10, xmm9
vmovdqu xmmword [rsp + 0x120], xmm15
vpxor xmm15, xmm7, xmmword [rcx - 0x60]
vpxor xmm9, xmm9, xmm8
vpxor xmm8, xmm8, xmm7
vpxor xmm7, xmm7, xmm6
vpxor xmm15, xmm15, xmm12
vpxor xmm12, xmm6, xmmword [rcx - 0x50]
vpxor xmm6, xmm6, xmm5
vpxor xmm10, xmm12, xmm10
vmovdqu xmmword [rsp + 0xb0], xmm10
vpxor xmm10, xmm5, xmmword [rcx - 0x40]
vpxor xmm5, xmm5, xmm4
vpxor xmm10, xmm10, xmm9
vpxor xmm9, xmm4, xmmword [rcx - 0x30]
vpxor xmm4, xmm4, xmm3
vmovdqu xmmword [rsp + 0x20], xmm10
vpxor xmm8, xmm9, xmm8
vmovdqu xmmword [rsp + 0x30], xmm8
vpxor xmm8, xmm3, xmmword [rcx - 0x20]
vpxor xmm3, xmm3, xmm2
vpxor xmm7, xmm8, xmm7
vmovdqu xmmword [rsp + 0x40], xmm7
vpxor xmm7, xmm2, xmmword [rcx - 0x10]
vpxor xmm2, xmm2, xmm1
vpxor xmm12, xmm11, xmmword [rax + 0xe0]
vpxor xmm7, xmm7, xmm6
vpxor xmm6, xmm1, xmmword [rdx + rbx + 0x80]
vpxor xmm1, xmm1, xmm0
vmovdqu xmmword [rsp + 0x50], xmm7
vpxor xmm7, xmm6, xmm5
vpxor xmm5, xmm0, xmmword [rax + 0x90]
vpxor xmm0, xmm0, xmmword [rsp + 0xc0]
vmovdqu xmm8, xmm7
vpxor xmm7, xmm5, xmm4
vpxor xmm4, xmm14, xmmword [rax + 0xa0]
vmovdqu xmm5, xmmword [rsp + 0xf0]
vmovdqu xmmword [rsp + 0x60], xmm7
vpxor xmm7, xmm4, xmm3
vpxor xmm3, xmm11, xmmword [rax + 0xb0]
vmovdqu xmmword [rsp + 0x70], xmm7
vpxor xmm3, xmm3, xmm2
vpxor xmm2, xmm5, xmmword [rax + 0xc0]
vmovdqu xmmword [rsp + 0x80], xmm3
vpxor xmm1, xmm2, xmm1
vmovdqu xmmword [rsp + 0x90], xmm1
vpxor xmm1, xmm14, xmmword [rax + 0xd0]
vpxor xmm1, xmm1, xmm0
vpxor xmm0, xmm14, xmmword [rsp + 0xd0]
vmovdqu xmmword [rsp + 0xa0], xmm1
vpxor xmm1, xmm11, xmmword [rsp + 0xe0]
vpxor xmm12, xmm12, xmm0
vpxor xmm0, xmm5, xmmword [rax + 0xf0]
vpxor xmm1, xmm0, xmm1
sub r9, 1
jae 0x140112198
vmovdqu xmm14, xmmword [rsp + 0xb0]
vmovdqu xmm5, xmmword [rsp + 0x40]
mov rbp, rsi
vmovdqu xmm6, xmmword [rsp + 0x100]
mov dword [rbx + 0x1194], r8d
vmovdqu xmmword [rbx + 0x10b0], xmm15
vmovdqu xmmword [rbx + 0x1080], xmm6
vmovdqu xmm6, xmmword [rsp + 0x110]
vmovdqu xmmword [rbx + 0x10f0], xmm5
vmovdqu xmm5, xmmword [rsp + 0x70]
vmovdqu xmmword [rbx + 0x1090], xmm6
vmovdqu xmm6, xmmword [rsp + 0x120]
vmovdqu xmmword [rbx + 0x1130], xmm5
vmovdqu xmm5, xmmword [rsp + 0x90]
vmovdqu xmmword [rbx + 0x10a0], xmm6
vmovdqu xmm6, xmmword [rsp + 0x20]
vmovdqu xmmword [rbx + 0x10c0], xmm14
vmovdqu xmmword [rbx + 0x10d0], xmm6
vmovdqu xmm6, xmmword [rsp + 0x30]
vmovdqu xmmword [rbx + 0x1110], xmm8
vmovdqu xmmword [rbx + 0x10e0], xmm6
vmovdqu xmm6, xmmword [rsp + 0x50]
vmovdqu xmmword [rbx + 0x1150], xmm5
vmovdqu xmmword [rbx + 0x1100], xmm6
vmovdqu xmm6, xmmword [rsp + 0x60]
vmovdqu xmmword [rbx + 0x1170], xmm12
vmovdqu xmmword [rbx + 0x1120], xmm6
vmovdqu xmm6, xmmword [rsp + 0x80]
vmovdqu xmmword [rbx + 0x1180], xmm1
vmovdqu xmmword [rbx + 0x1140], xmm6
vmovdqu xmm6, xmmword [rsp + 0xa0]
vmovdqu xmmword [rbx + 0x1160], xmm6
and ebp, 0x1f
je 0x140112855
sub rsi, rbp
mov ecx, ebp
xor eax, eax
xor edx, edx
shl rsi, 4
add rdi, rsi
nop word cs:[rax + rax]
vmovdqu xmm6, xmmword [rdi + rax]
add edx, 1
vmovdqu xmmword [rbx + rax], xmm6
add rax, 0x10
cmp edx, ecx
jl 0x140112840
mov dword [rbx + 0x1190], ebp
vmovups xmm6, xmmword [rsp + 0x140]
vmovups xmm7, xmmword [rsp + 0x150]
vmovups xmm8, xmmword [rsp + 0x160]
vmovups xmm9, xmmword [rsp + 0x170]
vmovups xmm10, xmmword [rsp + 0x180]
vmovups xmm11, xmmword [rsp + 0x190]
vmovups xmm12, xmmword [rsp + 0x1a0]
vmovups xmm13, xmmword [rsp + 0x1b0]
vmovups xmm14, xmmword [rsp + 0x1c0]
vmovups xmm15, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov edx, 0x20
sub edx, eax
lea r8d, [rdx*4]
mov ebp, edx
lea r12, [rdi + r8]
test rbp, rbp
je 0x1401129b7
lea ecx, [rax*4]
mov rdx, rdi
add rcx, rbx
call sub.msvcrt.dll_memcpy
mov rdx, rbx
mov rcx, rbx
call fcn.140111840
xor eax, eax
mov dword [rbx + 0x1190], eax
sub rsi, rbp
mov rdi, r12
jmp 0x14011206a
test r8, r8
je 0x1401129b0
mov r12d, 0x20
mov edx, r12d
sub edx, eax
mov ebp, edx
cmp rsi, rbp
jb 0x140112980
lea r13d, [rdx*4]
lea ecx, [rax*4]
mov rdx, rdi
sub rsi, rbp
add rcx, rbx
mov r8, r13
add rdi, r13
call sub.msvcrt.dll_memcpy
mov rdx, rbx
mov rcx, rbx
call fcn.140111840
xor eax, eax
test rsi, rsi
jne 0x14011292f
xor ebp, ebp
jmp 0x140112855
lea ebp, [rax + rsi]
lea ecx, [rax*4]
mov rdx, rdi
lea esi, [rsi*4]
add rcx, rbx
mov r8, rsi
call sub.msvcrt.dll_memcpy
cmp ebp, 0x20
jne 0x140112855
add rdi, rsi
xor esi, esi
jmp 0x14011295e
mov ebp, eax
jmp 0x140112855
mov eax, 0x20
jmp 0x140112905