Function at 0x14000c109
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rsi, rdx
mov r13, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x50], 0
mov rbx, qword [rdx + 8]
mov ecx, ebx
call fcn.14002509f
lea ecx, [rax - 5]
sar rbx, cl
add rbx, 0xffffffffffffffe0
add rax, 0xfffffffffffffffa
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x60], rbx
mov r8, rsi
lea rax, [rsi + 0x10]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
xor eax, eax
lea rcx, [0x1400e6580]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x30], 0x78c104ba
add rax, 4
cmp rax, 0x24
jne 0x14000c17d
lea r12, [r8 + 0x18]
mov ecx, 0x2f7d4ef2
xor r9d, r9d
lea rdx, [0x1400e6560]
lea rbx, [0x1400e7480]
lea rbp, [0x1400e6a00]
lea rsi, [0x1400e7498]
xor r11d, r11d
xor r14d, r14d
xor r10d, r10d
xor r15d, r15d
cmp ecx, 0x634c96fe
jle 0x14000c25b
cmp ecx, 0x771e161a
jle 0x14000c2a2
cmp ecx, 0x775b11f8
je 0x14000c363
cmp ecx, 0x7cbfe930
jne 0x14000c42f
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x60]
shl rax, 8
add rax, r13
lea rax, [rax + rcx*8]
add rax, 0x878
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x80]
test r11b, r11b
jne 0x14000c23f
xor eax, eax
movsxd rdi, dword [rax + rsi]
xor dword [rsp + rdi*4 + 0x30], 0x28a16966
add rax, 4
cmp rax, 0x10
jne 0x14000c229
cmp qword [rcx], r8
mov ecx, 0x44936b67
mov eax, 0x5aed4d2e
cmove ecx, eax
xor ecx, dword [rsp + 0x44]
mov r11b, 1
jmp 0x14000c1c7
cmp ecx, 0x2f7d4ef1
jg 0x14000c306
cmp ecx, 0x13cd7de5
je 0x14000c380
cmp ecx, 0x1b98f6ac
jne 0x14000c1c7
mov rcx, qword [rsp + 0x28]
mov eax, 0xfffffffe
rol eax, cl
and dword [r13 + 0x810], eax
mov ecx, dword [rsp + 0x50]
mov eax, 0x41161606
xor ecx, eax
jmp 0x14000c1c7
cmp ecx, 0x634c96ff
je 0x14000c3a1
cmp ecx, 0x69603052
jne 0x14000c1c7
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x80]
mov qword [rax], rcx
test r14b, r14b
jne 0x14000c2ea
xor eax, eax
movsxd rdi, dword [rax + rbp]
xor dword [rsp + rdi*4 + 0x30], 0x23b3651a
add rax, 4
cmp rax, 8
jne 0x14000c2d4
test rcx, rcx
mov ecx, 0x6c320201
mov eax, 0x4775a2d9
cmove ecx, eax
xor ecx, dword [rsp + 0x48]
mov r14b, 1
jmp 0x14000c1c7
cmp ecx, 0x2f7d4ef2
je 0x14000c3f1
cmp ecx, 0x5c59b6c3
jne 0x14000c1c7
mov rax, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x60]
mov ecx, dword [r13 + rax*4 + 0x814]
btr ecx, edi
mov dword [r13 + rax*4 + 0x814], ecx
test r10b, r10b
jne 0x14000c348
xor dword [rsp + 0x50], 0xe97711d
test ecx, ecx
mov ecx, 0x4f81671b
mov eax, 0x230787ac
cmove ecx, eax
xor ecx, dword [rsp + 0x4c]
mov r10b, 1
jmp 0x14000c1c7
mov rax, qword [r12]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x18], rax
mov ecx, dword [rsp + 0x38]
mov eax, 0x61ac573a
xor ecx, eax
jmp 0x14000c1c7
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 0x10], rax
mov ecx, dword [rsp + 0x40]
mov eax, 0x4f32944c
xor ecx, eax
jmp 0x14000c1c7
mov qword [rsp + 0x70], r12
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x78]
test r9b, r9b
jne 0x14000c3d5
xor eax, eax
movsxd rdi, dword [rax + rbx]
xor dword [rsp + rdi*4 + 0x30], 0x316dbcb9
add rax, 4
cmp rax, 0x18
jne 0x14000c3bf
test rcx, rcx
mov ecx, 0x112dbc20
mov eax, 0x7e5f28f5
cmove ecx, eax
xor ecx, dword [rsp + 0x3c]
mov r9b, 1
jmp 0x14000c1c7
mov rcx, qword [rsp + 0x68]
test r15b, r15b
jne 0x14000c413
xor eax, eax
movsxd rdi, dword [rax + rdx]
xor dword [rsp + rdi*4 + 0x30], 0x7a21c57f
add rax, 4
cmp rax, 0x20
jne 0x14000c3fd
test rcx, rcx
mov ecx, 0xf9a1542
mov eax, 0x1b8d9245
cmove ecx, eax
xor ecx, dword [rsp + 0x30]
mov r15b, 1
jmp 0x14000c1c7
cmp ecx, 0x771e161b
jne 0x14000c1c7
mov rax, qword [rsp + 0x70]
xor ecx, ecx
mov qword [rax], rcx
mov rax, qword [rsp + 0x20]
mov qword [rax], rcx
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret