Function at 0x14001c7ea
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov r12, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x6c], xmm0
movaps xmmword [rsp + 0x60], xmm0
xor eax, eax
test rdx, rdx
mov ecx, 0
mov qword [rsp + 0x28], rdx
cmovns rcx, rdx
mov qword [rsp + 0x30], rcx
lea rbp, [0x1400e74d0]
movsxd rcx, dword [rax + rbp]
xor dword [rsp + rcx*4 + 0x60], 0x78c104ba
add rax, 4
cmp rax, 0x18
jne 0x14001c834
mov rcx, qword [rsp + 0x28]
cmp rcx, 7
mov eax, 7
cmovg rax, rcx
lea rcx, [r12 + 0x10]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
add rax, 0x11
mov qword [rsp + 0xb0], rax
test r12, r12
mov eax, 0x455611a3
mov ecx, 0x57bc4a48
cmove ecx, eax
mov dword [rsp + 0x44], ecx
mov eax, 0xe97711d
mov r8b, 1
mov r15d, 0x50c1eb83
lea r13, [0x1400e74b0]
lea rsi, [0x1400e74e8]
xorps xmm6, xmm6
xor ecx, ecx
mov qword [rsp + 0x48], rcx
mov edx, dword [rsp + 0x74]
xor edx, r15d
mov ebx, dword [rsp + 0x70]
xor ebx, r15d
mov r14d, dword [rsp + 0x68]
mov ecx, 0x61ac573a
xor r14d, ecx
cmp eax, 0x47c49477
jg 0x14001c937
cmp eax, 0xe97711d
je 0x14001cb9c
cmp eax, 0x2f7d4ef2
je 0x14001cbca
cmp eax, 0x3d971519
jne 0x14001c8d2
lea rcx, [0x1400e0010]
mov esi, edx
mov rdx, qword [rsp + 0xb0]
mov edi, r8d
call fcn.14001a438
mov r8d, edi
mov edx, esi
lea rsi, [0x1400e74e8]
mov rdi, rax
mov rax, qword [rsp + 0xc0]
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x28]
mov qword [rdi], rax
mov eax, r14d
jmp 0x14001c8d2
cmp eax, 0x47c49478
je 0x14001cae9
cmp eax, 0x634c96ff
je 0x14001cc39
cmp eax, 0x775b11f8
jne 0x14001c8d2
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x40], r8d
mov qword [rsp + 0xc8], r12
mov rcx, qword [rsp + 0x58]
movups xmmword [rsp + 0x8c], xmm6
movaps xmmword [rsp + 0x80], xmm6
xor eax, eax
movsxd rdx, dword [rax + rbp]
xor dword [rsp + rdx*4 + 0x80], 0x78c104ba
add rax, 4
cmp rax, 0x18
jne 0x14001c980
mov dword [rsp + 0x38], ebx
lea rdx, [rcx + rcx*2]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
sar rax, 1
cmp rcx, 0x10000
mov r11d, 0x75bbd03d
mov edx, 0x452455bd
cmovl r11d, edx
test rcx, rcx
mov edx, 0x57bc4a48
mov ebx, 0x455611a3
cmovle edx, ebx
add rcx, rcx
mov qword [rsp + 0xa8], rcx
mov edi, 0xe97711d
mov sil, 1
mov dword [rsp + 0x24], 0
mov r15d, 0x50c1eb83
mov ecx, dword [rsp + 0x94]
xor ecx, r15d
mov r8d, dword [rsp + 0x90]
xor r8d, r15d
mov r9d, dword [rsp + 0x88]
mov r10d, 0x61ac573a
xor r9d, r10d
cmp edi, 0x47c49477
jg 0x14001ca46
cmp edi, 0xe97711d
je 0x14001ca76
cmp edi, 0x2f7d4ef2
je 0x14001caa7
cmp edi, 0x3d971519
jne 0x14001ca1b
mov r12d, 4
mov edi, r9d
jmp 0x14001ca1b
cmp edi, 0x47c49478
je 0x14001ca69
cmp edi, 0x634c96ff
je 0x14001caf3
cmp edi, 0x775b11f8
jne 0x14001ca1b
mov r12, rax
mov edi, ecx
jmp 0x14001ca1b
mov r12, qword [rsp + 0xa8]
mov edi, r8d
jmp 0x14001ca1b
test sil, 1
je 0x14001ca97
xor ecx, ecx
movsxd rdi, dword [rcx + r13]
xor dword [rsp + rdi*4 + 0x80], 0x7a21c57f
add rcx, 4
cmp rcx, 0x14
jne 0x14001ca7e
mov edi, dword [rsp + 0x80]
xor edi, edx
xor esi, esi
jmp 0x14001c9f5
mov ebx, esi
cmp byte [rsp + 0x24], 0
lea rsi, [0x1400e74e8]
jne 0x14001cad2
xor ecx, ecx
movsxd rdi, dword [rcx + rsi]
xor dword [rsp + rdi*4 + 0x80], 0x316dbcb9
add rcx, 4
cmp rcx, 8
jne 0x14001cab9
mov edi, dword [rsp + 0x8c]
xor edi, r11d
mov cl, 1
mov dword [rsp + 0x24], ecx
mov esi, ebx
jmp 0x14001c9f5
mov rdi, r12
mov eax, ebx
jmp 0x14001c8d2
mov rbx, qword [rsp + 0x28]
cmp r12, rbx
cmovl r12, rbx
cmp r12, 7
mov r15d, 7
cmovg r15, r12
lea rdx, [r15 + 0x11]
lea rcx, [0x1400e0010]
lea r8, [0x1401b3060]
call fcn.140019264
mov rdi, rax
mov qword [rax + 8], r15
mov rsi, rbx
mov qword [rax], 0
mov rbx, qword [rsp + 0x50]
mov rax, qword [rbx]
mov qword [rdi], rax
lea rcx, [rdi + 0x10]
mov r8, qword [rbx]
inc r8
mov rdx, qword [rsp + 0xb8]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx]
mov r15d, 0x50c1eb83
lea rcx, [rdi + rax]
add rcx, 0x10
mov r8, rsi
sub r8, rax
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rdi + 8], r12
mov edx, dword [rsp + 0x3c]
mov eax, edx
mov r12, qword [rsp + 0xc8]
lea rsi, [0x1400e74e8]
mov r8d, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x38]
jmp 0x14001c8d2
test r8b, 1
je 0x14001cbba
xor eax, eax
movsxd rcx, dword [rax + r13]
xor dword [rsp + rcx*4 + 0x60], 0x7a21c57f
add rax, 4
cmp rax, 0x14
jne 0x14001cba4
mov eax, dword [rsp + 0x60]
xor eax, dword [rsp + 0x44]
xor r8d, r8d
jmp 0x14001c8b7
mov qword [rsp + 0x50], r12
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
movabs rcx, 0x3fffffffffffffff
and rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
cmp byte [rsp + 0x48], 0
jne 0x14001cc13
xor edx, edx
movsxd rbx, dword [rdx + rsi]
xor dword [rsp + rbx*4 + 0x60], 0x316dbcb9
add rdx, 4
cmp rdx, 8
jne 0x14001cbfd
cmp rax, rcx
mov eax, 0x452455bd
mov ecx, 0x75bbd03d
cmovg eax, ecx
xor eax, dword [rsp + 0x6c]
mov cl, 1
mov qword [rsp + 0x48], rcx
mov r15d, 0x50c1eb83
jmp 0x14001c8b7
mov rax, qword [rsp + 0x30]
mov qword [rdi], rax
mov rax, qword [rsp + 0x30]
mov byte [rdi + rax + 0x10], 0
mov rax, rdi
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret