Function at 0x1400156e3
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm6
mov rdi, rcx
xorps xmm0, xmm0
mov qword [rsp + 0x98], rdx
cmp rdx, 0x1000
seta byte [rsp + 0x2b]
movups xmmword [rsp + 0x5c], xmm0
movaps xmmword [rsp + 0x50], xmm0
xor eax, eax
lea rcx, [0x1400e74d0]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x50], 0x78c104ba
add rax, 4
cmp rax, 0x18
jne 0x14001572b
lea rax, [rdi + 0x30]
mov qword [rsp + 0x48], rax
lea rax, [rdi + 0x68]
mov qword [rsp + 0x88], rax
mov eax, 0xe97711d
mov cl, 1
mov dword [rsp + 0x2c], ecx
xor ecx, ecx
mov qword [rsp + 0x40], rcx
mov r14d, 0x50c1eb83
mov r8d, 0x44d66c84
mov r9d, 0x61ac573a
lea rbp, [0x1400e74b0]
xorps xmm6, xmm6
lea r15, [0x1400e7408]
lea r12, [0x1400e7400]
mov ebx, dword [rsp + 0x64]
xor ebx, r14d
mov r13d, dword [rsp + 0x60]
xor r13d, r8d
mov esi, dword [rsp + 0x58]
xor esi, r9d
cmp eax, 0x47c49477
jg 0x1400157d0
cmp eax, 0xe97711d
je 0x14001591f
cmp eax, 0x2f7d4ef2
je 0x140015965
cmp eax, 0x3d971519
jne 0x1400157a8
mov eax, esi
jmp 0x1400157a8
cmp eax, 0x47c49478
je 0x1400157ed
cmp eax, 0x634c96ff
je 0x1400159d6
cmp eax, 0x775b11f8
jne 0x1400157a8
mov eax, ebx
jmp 0x1400157a8
mov rax, qword [rsp + 0x38]
add qword [rax], 8
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x90], rdi
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
xor eax, eax
movsxd rcx, dword [rax + r15]
xor dword [rsp + rcx*4 + 0x70], 0x78c104ba
add rax, 4
cmp rax, 0xc
jne 0x140015838
mov eax, 0x59f86fa6
mov dil, 1
mov r14d, dword [rsp + 0x78]
mov ecx, 0xc77b0d8
xor r14d, ecx
cmp eax, 0xe97711d
je 0x1400158de
cmp eax, 0x23b3651a
je 0x14001587a
cmp eax, 0x59f86fa6
jne 0x140015863
jmp 0x140015895
mov rcx, qword [rsp + 0x48]
call fcn.14000e664
mov r9d, 0x61ac573a
mov r8d, 0x44d66c84
mov eax, r14d
jmp 0x140015863
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
test dil, 1
je 0x1400158c3
xor edx, edx
movsxd rdi, dword [rdx + r12]
xor dword [rsp + rdi*4 + 0x70], 0x7a21c57f
add rdx, 4
cmp rdx, 8
jne 0x1400158ad
cmp rax, rcx
mov eax, 0x5b7261a0
mov ecx, 0x765675a7
cmovg eax, ecx
xor eax, dword [rsp + 0x70]
xor edi, edi
jmp 0x140015856
mov rdi, qword [rsp + 0x90]
mov rax, qword [rdi + 0x40]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
mov rdx, qword [rsp + 0x80]
mov qword [rax + rcx*8], rdx
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
inc rax
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
mov eax, r13d
mov r14d, 0x50c1eb83
jmp 0x1400157a8
mov al, byte [rsp + 0x2b]
test byte [rsp + 0x2c], 1
je 0x140015942
xor eax, eax
movsxd rcx, dword [rax + rbp]
xor dword [rsp + rcx*4 + 0x50], 0x7a21c57f
add rax, 4
cmp rax, 0x14
jne 0x14001592c
cmp byte [rsp + 0x2b], 0
mov eax, 0x455611a3
mov ecx, 0x57bc4a48
cmovne eax, ecx
xor eax, dword [rsp + 0x50]
mov dword [rsp + 0x2c], 0
jmp 0x140015792
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x98]
call fcn.14001291c
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
cmp byte [rsp + 0x40], 0
lea rbx, [0x1400e74e8]
jne 0x1400159aa
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rsp + rdx*4 + 0x50], 0x316dbcb9
add rcx, 4
cmp rcx, 8
jne 0x140015994
test rax, rax
mov eax, 0x452455bd
mov ecx, 0x75bbd03d
cmove eax, ecx
xor eax, dword [rsp + 0x5c]
mov cl, 1
mov qword [rsp + 0x40], rcx
mov r8d, 0x44d66c84
mov r9d, 0x61ac573a
jmp 0x140015792
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret