Function at 0x1400c8b40
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x220
xorps xmm4, xmm4
movaps xmmword [rsp + 0x30], xmm4
movabs rax, 0xfffffffffffffe20
movaps xmmword [rsp + rax + 0x220], xmm4
movaps xmmword [rsp + rax + 0x230], xmm4
movaps xmmword [rsp + rax + 0x240], xmm4
add rax, 0x30
jne 0x1400c8b63
mov rbx, rcx
cmp dword [rbx + 0x10], 0
je 0x1400c8b97
lea rcx, [rbx + 0x4ce8]
jmp 0x1400c8b9e
lea rcx, [rbx + 0x3aa8]
add rcx, 0x200
cmp byte [rcx], cl
lea rdx, [rbx + 0x39a8]
lea r8, [rsp + 0x210]
lea r9, [rbx + 0x3938]
lea rax, [rbx + 0x3948]
mov qword [rsp + 0x70], rcx
mov dword [rsp + 0x78], 0x10
mov qword [rsp + 0x60], rdx
mov dword [rsp + 0x68], 0x10
mov qword [rsp + 0x50], r8
mov dword [rsp + 0x58], 0x10
mov qword [rsp + 0x40], r9
mov dword [rsp + 0x48], 0x10
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], 0x10
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x40]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.1400c9060
xor esi, esi
xor ecx, ecx
lea rdx, [rbx + 0x39b8]
mov edi, esi
shl rdi, 5
lea rbp, [rbx + 0x5f48]
lea r8, [rsp + 0x1f0]
mov eax, ecx
lea r8, [r8 + rax*8]
mov r10, rdx
add r10, rdi
mov r9, r10
cmp byte [r9], r9b
mov rax, qword [r9 + rax*8]
mov r9, rbp
mov r11d, ecx
and r11d, 1
xor rax, qword [r9 + r11*8]
mov qword [r8], rax
inc ecx
cmp ecx, 4
jl 0x1400c8c40
lea rcx, [rsp + 0x1f0]
mov rdx, r10
mov rdx, qword [rdx]
mov r8, rbp
xor rdx, qword [r8]
mov qword [rcx], rdx
lea rcx, [rsp + 0x1f0]
add rcx, 8
mov rdx, r10
mov rdx, qword [rdx + 8]
mov r8, rbp
xor rdx, qword [r8 + 8]
mov qword [rcx], rdx
lea rcx, [rsp + 0x1f0]
add rcx, 0x10
mov rdx, r10
mov rdx, qword [rdx + 0x10]
mov r8, rbp
xor rdx, qword [r8]
mov qword [rcx], rdx
lea rcx, [rsp + 0x1f0]
add rcx, 0x18
mov rdx, qword [r10 + 0x18]
mov r8, rbp
xor rdx, qword [r8 + 8]
mov qword [rcx], rdx
lea r14, [rsp + 0x1f0]
cmp dword [rbx + 0x10], 0
je 0x1400c8cf7
lea r15, [rbx + 0x7a78]
jmp 0x1400c8cfe
lea r15, [rbx + 0x7558]
cmp byte [r15], r15b
add r15, 0x4c0
add rdi, r15
cmp byte [rdi], dil
lea r15, [rsp + 0x210]
xor edx, edx
lea rcx, [rsp + 0x130]
mov r8d, 0xb0
call fcn.140079cc0
test byte [0x1403678b0], 1
je 0x1400c8d8f
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x78], 0x10
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x130]
mov r8d, 1
call fcn.1400bbcc0
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x78], 0x20
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], 0x20
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x130]
call fcn.1400bb4c0
jmp 0x1400c8e1b
lea rcx, [0x140215c88]
call fcn.140003510
mov r13, rax
xor ecx, ecx
mov qword [r13 + 8], rcx
mov qword [r13 + 0x10], rcx
lea rcx, [r13 + 8]
xor edx, edx
mov qword [rcx], rdx
mov qword [rcx + 8], rdx
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x78], 0x10
mov qword [rsp + 0x60], rdx
xor edx, edx
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x20], 1
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x60]
mov r9d, 2
call fcn.1400bae40
mov rcx, r13
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x78], 0x20
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], 0x20
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r10, [0x14020e8f0]
call qword [r10]
inc esi
cmp esi, 3
jl 0x1400c8c2a
lea rcx, [rbx + 0x3a48]
mov rdx, qword [rcx]
or rdx, qword [rcx + 8]
je 0x1400c9042
lea rcx, [rbx + 0x3a58]
mov rdx, rcx
mov r8, qword [rdx]
or r8, qword [rdx + 8]
je 0x1400c9042
xorps xmm0, xmm0
movups xmmword [rsp + 0x1e0], xmm0
lea rdx, [rsp + 0x1e0]
mov r8, rcx
mov r8, qword [r8]
mov r9, rbp
xor r8, qword [r9]
mov qword [rdx], r8
lea rdx, [rsp + 0x1e0]
add rdx, 8
mov rcx, qword [rcx + 8]
xor rcx, qword [rbp + 8]
mov qword [rdx], rcx
cmp dword [rbx + 0x10], 0
je 0x1400c8e99
lea rcx, [rbx + 0x4ce8]
jmp 0x1400c8ea0
lea rcx, [rbx + 0x3aa8]
add rcx, 0x200
cmp byte [rcx], cl
lea rdx, [rbx + 0x3a48]
lea r8, [rsp + 0x210]
lea r9, [rbx + 0x3938]
xor eax, eax
mov qword [rsp + 0x70], rcx
mov dword [rsp + 0x78], 0x10
mov qword [rsp + 0x60], rdx
mov dword [rsp + 0x68], 0x10
mov qword [rsp + 0x50], r8
mov dword [rsp + 0x58], 0x10
mov qword [rsp + 0x40], r9
mov dword [rsp + 0x48], 0x10
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov dword [rsp + 0x38], ecx
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x40]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.1400c9060
lea rsi, [rsp + 0x1e0]
cmp dword [rbx + 0x10], 0
je 0x1400c8f3a
add rbx, 0x7a78
jmp 0x1400c8f41
add rbx, 0x7558
cmp byte [rbx], bl
add rbx, 0x4b0
lea rdi, [rsp + 0x210]
test byte [0x1403678b0], 1
je 0x1400c8fb6
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x78], 0x10
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x80]
mov r8d, 1
call fcn.1400bbcc0
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x78], 0x10
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x58], 0x10
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x80]
call fcn.1400bb4c0
jmp 0x1400c9042
lea rcx, [0x140215c88]
call fcn.140003510
mov rbp, rax
xor ecx, ecx
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rcx
lea rcx, [rbp + 8]
xor edx, edx
mov qword [rcx], rdx
mov qword [rcx + 8], rdx
mov qword [rsp + 0x70], rdi
mov dword [rsp + 0x78], 0x10
mov qword [rsp + 0x60], rdx
xor edx, edx
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x20], 1
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x60]
mov r9d, 2
call fcn.1400bae40
mov rcx, rbp
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x78], 0x10
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x58], 0x10
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r10, [0x14020e8f0]
call qword [r10]
nop
add rsp, 0x220
pop rbx
pop rbp
pop rsi
pop rdi
pop r13
pop r14
pop r15
ret