Function at 0x1400c1900
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rax, qword [rdx]
mov rdi, qword [rcx]
lea r15, [0x1401f08e0]
lea rbp, [0x1401ed0e0]
mov r11, qword [rdx + 8]
mov rbx, qword [rdx + 0x10]
lea r8, [0x1401ef0e0]
mov rsi, qword [rdx + 0x18]
mov r10, qword [rdx + 0x20]
mov r12, qword [rdx + 0x28]
mov r13, qword [rdx + 0x30]
xor rdi, rax
mov qword [rsp + 0x78], rax
mov rax, qword [rcx + 8]
mov r14, qword [rdx + 0x38]
mov r9, rdx
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x48], rsi
lea rdx, [0x1401ee0e0]
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x38], r12
xor rax, r11
mov qword [rsp + 0x88], rax
mov rax, qword [rcx + 0x10]
xor rax, rbx
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 0x18]
xor rax, rsi
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 0x20]
xor rax, r10
mov qword [rsp + 0x20], rax
mov rax, qword [rcx + 0x28]
xor rax, r12
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0x30]
xor rax, r13
mov qword [rsp + 0x18], rax
mov rax, qword [rcx + 0x38]
lea rcx, [0x1401ee8e0]
xor rax, r14
mov qword [rsp + 8], rax
lea rax, [0x1401ed080]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x90], r11
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], r10
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xc8], rdi
mov qword [rsp], r14
mov qword [rsp + 0x128], r9
lea r12, [0x1401ef8e0]
lea rsi, [0x1401f00e0]
lea r14, [0x1401ed8e0]
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp]
mov rbx, qword [rsp + 0x78]
mov r11, qword [rsp + 0x60]
mov r13, qword [rsp + 0x30]
mov r10, rdi
movzx eax, ah
shr r10, 0x10
mov r9, qword [rsi + rax*8]
mov qword [rsp + 0x10], rbx
shr r11, 0x38
movzx r10d, r10b
mov rax, qword [rsp + 0x38]
xor r9, qword [r12 + r10*8]
movzx r10d, byte [rsp + 0x10]
mov rbx, qword [rsp + 0x70]
mov r10, qword [r15 + r10*8]
xor r10, qword [rbp + r11*8]
mov r11, r13
shr r11, 0x20
movzx r11d, r11b
xor r9, r10
mov r10d, eax
shr r10d, 0x18
mov r10, qword [r8 + r10*8]
xor r10, qword [rcx + r11*8]
xor r10, qword [rbx]
mov rbx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x68]
xor r9, r10
mov r10, rbx
shr r11, 0x30
shr r10, 0x28
movzx r11d, r11b
movzx r10d, r10b
mov r10, qword [rdx + r10*8]
xor r10, qword [r14 + r11*8]
mov r11, rax
mov r14, r13
shr r11, 0x20
movzx r11d, r11b
xor r9, r10
mov r10, r13
mov r13, rdi
mov qword [rsp + 0x78], r9
mov r9, qword [rsp + 0x60]
shr r10, 0x28
movzx r10d, r10b
mov r10, qword [rdx + r10*8]
mov qword [rsp + 0x50], r9
mov r9, rbx
lea rbx, [0x1401ed8e0]
shr r9, 0x30
movzx r9d, r9b
xor r10, qword [rbx + r9*8]
mov r9d, edi
mov rbx, qword [rsp + 0x10]
shr r9d, 0x18
mov r9, qword [r8 + r9*8]
xor r9, qword [rcx + r11*8]
mov r11, qword [rsp]
movzx edi, bh
shr r11, 0x10
xor r10, r9
mov r9, qword [rsi + rdi*8]
movzx r11d, r11b
xor r9, qword [r12 + r11*8]
movzx r11d, byte [rsp + 0x50]
mov rdi, qword [rsp + 0x68]
mov r11, qword [r15 + r11*8]
mov rbx, rdi
shr rbx, 0x38
xor r11, qword [rbp + rbx*8]
mov rbx, rdi
xor r9, r11
mov r11d, dword [rsp]
xor r10, r9
mov r9, r14
mov r14, r13
mov qword [rsp + 0x60], r10
mov r10, rax
shr r9, 0x30
lea rax, [0x1401ed8e0]
shr r10, 0x28
movzx r9d, r9b
shr r11d, 0x18
movzx r10d, r10b
mov r10, qword [rdx + r10*8]
xor r10, qword [rax + r9*8]
mov r9d, r11d
mov r11, r13
shr r11, 0x20
mov rax, qword [rsp + 0x50]
mov r9, qword [r8 + r9*8]
mov r13, rsi
movzx r11d, r11b
xor r9, qword [rcx + r11*8]
movzx edi, ah
mov rax, qword [rsp + 0x48]
xor r10, r9
mov r9, rdi
mov rdi, qword [rsp + 0x10]
mov r9, qword [rsi + r9*8]
mov rsi, rax
shr rsi, 0x38
mov r11, rdi
shr r11, 0x10
movzx r11d, r11b
xor r9, qword [r12 + r11*8]
movzx r11d, bl
mov r11, qword [r15 + r11*8]
xor r11, qword [rbp + rsi*8]
lea rsi, [0x1401ed8e0]
xor r9, r11
mov r11, r10
mov r10, qword [rsp + 0x38]
xor r11, r9
mov r9, rax
mov rax, r14
mov qword [rsp + 0x68], r11
mov r11, r14
mov r14, qword [rsp + 0x50]
shr r11, 0x28
shr r10, 0x30
movzx r11d, r11b
movzx r10d, r10b
mov r11, qword [rdx + r11*8]
xor r11, qword [rsi + r10*8]
mov rsi, qword [rsp]
mov r10d, edi
movzx edi, bh
shr r10d, 0x18
mov r10, qword [r8 + r10*8]
shr rsi, 0x20
movzx esi, sil
xor r10, qword [rcx + rsi*8]
mov rsi, r14
shr rsi, 0x10
movzx esi, sil
xor r11, r10
mov r10, qword [r13 + rdi*8]
mov rdi, qword [rsp + 0x30]
xor r10, qword [r12 + rsi*8]
movzx esi, r9b
mov rsi, qword [r15 + rsi*8]
shr rdi, 0x38
xor rsi, qword [rbp + rdi*8]
mov rdi, qword [rsp]
shr rdi, 0x28
xor r10, rsi
movzx esi, dil
mov edi, r14d
xor r11, r10
shr edi, 0x18
mov r10, qword [rsp + 0x30]
mov qword [rsp + 0x48], r11
mov r11, rax
mov qword [rsp + 0x50], rax
lea rax, [0x1401ed8e0]
shr r11, 0x30
movzx r11d, r11b
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [rax + r11*8]
mov r11d, edi
mov rdi, qword [rsp + 0x10]
mov rax, r9
mov r11, qword [r8 + r11*8]
shr rdi, 0x20
movzx edi, dil
xor r11, qword [rcx + rdi*8]
movzx edi, ah
mov rax, qword [rsp + 0x38]
xor rsi, r11
mov r11, rdi
mov rdi, rbx
shr rdi, 0x10
mov r11, qword [r13 + r11*8]
movzx edi, dil
xor r11, qword [r12 + rdi*8]
mov r12, rax
movzx edi, r10b
shr r12, 0x38
mov rdi, qword [r15 + rdi*8]
xor rdi, qword [rbp + r12*8]
mov r12, qword [rsp]
xor r11, rdi
mov rdi, rsi
shr r12, 0x30
xor rdi, r11
movzx esi, r12b
mov r12d, ebx
mov r11, rax
mov qword [rsp + 0x30], rdi
mov rdi, qword [rsp + 0x10]
shr r12d, 0x18
lea rax, [0x1401ed8e0]
shr rdi, 0x28
movzx edi, dil
mov rdi, qword [rdx + rdi*8]
xor rdi, qword [rax + rsi*8]
mov esi, r12d
mov r12, r14
shr r12, 0x20
mov rsi, qword [r8 + rsi*8]
mov rax, r10
movzx r12d, r12b
xor rsi, qword [rcx + r12*8]
mov r12, r9
shr r12, 0x10
movzx r12d, r12b
xor rdi, rsi
movzx esi, ah
lea rax, [0x1401ef8e0]
mov rsi, qword [r13 + rsi*8]
xor rsi, qword [rax + r12*8]
movzx r12d, r11b
mov rax, qword [rsp + 0x50]
mov r12, qword [r15 + r12*8]
mov r13, rax
shr r13, 0x38
xor r12, qword [rbp + r13*8]
mov r13d, r9d
shr r13d, 0x18
xor rsi, r12
mov r12, rdi
xor r12, rsi
mov rsi, r14
shr rsi, 0x28
mov qword [rsp + 0x38], r12
mov r12, rax
lea rax, [0x1401ed8e0]
movzx edi, sil
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rdx + rdi*8]
shr rsi, 0x30
movzx esi, sil
xor rdi, qword [rax + rsi*8]
mov esi, r13d
mov r13, rbx
mov rax, r11
shr r13, 0x20
mov rsi, qword [r8 + rsi*8]
shr rbx, 0x28
movzx r13d, r13b
movzx ebx, bl
xor rsi, qword [rcx + r13*8]
mov r13, r10
shr r10d, 0x18
shr r13, 0x10
movzx r13d, r13b
xor rdi, rsi
movzx esi, ah
lea rax, [0x1401f00e0]
mov rsi, qword [rax + rsi*8]
lea rax, [0x1401ef8e0]
xor rsi, qword [rax + r13*8]
mov rax, qword [rsp]
movzx r13d, r12b
mov r13, qword [r15 + r13*8]
shr rax, 0x38
xor r13, qword [rbp + rax*8]
mov rbx, qword [rdx + rbx*8]
mov rax, r12
lea r12, [0x1401ef8e0]
mov r10, qword [r8 + r10*8]
movzx eax, ah
xor rsi, r13
lea r13, [0x1401f00e0]
xor rdi, rsi
mov rsi, r14
shr rsi, 0x30
mov qword [rsp + 0x50], rdi
lea rdi, [0x1401ed8e0]
movzx esi, sil
xor rbx, qword [rdi + rsi*8]
shr r9, 0x20
shr r11, 0x10
mov rsi, qword [rsp + 0x80]
movzx r9d, r9b
movzx r11d, r11b
xor r10, qword [rcx + r9*8]
mov r9, qword [r13 + rax*8]
xor r9, qword [r12 + r11*8]
movzx r11d, byte [rsp]
mov rax, qword [rsp + 0x78]
xor r10, rbx
mov rbx, qword [rsp + 0x10]
mov r11, qword [r15 + r11*8]
mov r14, r10
mov r10, qword [rsp + 0x18]
shr rbx, 0x38
xor r11, qword [rbp + rbx*8]
shr r10, 0x10
movzx r10d, r10b
xor r9, r11
xor r14, r9
mov r9, qword [rsp + 0x58]
mov qword [rsp], r14
mov r14, rsi
shr r9, 0x30
movzx r9d, r9b
xor rax, qword [rdi + r9*8]
mov rbx, rax
mov rax, qword [rsp + 8]
movzx edi, ah
mov rax, qword [rsp + 0x88]
mov r9, qword [r13 + rdi*8]
xor r9, qword [r12 + r10*8]
movzx r10d, sil
mov r10, qword [r15 + r10*8]
mov rsi, qword [rsp + 0x40]
mov r11, rax
shr r11, 0x38
xor r10, qword [rbp + r11*8]
mov r11, qword [rsp + 0x20]
shr r11, 0x20
xor r9, r10
mov r10d, dword [rsp + 0x28]
movzx r11d, r11b
shr r10d, 0x18
mov r10, qword [r8 + r10*8]
xor r10, qword [rcx + r11*8]
mov r11, rsi
shr r11, 0x28
movzx r11d, r11b
xor r10, qword [rdx + r11*8]
xor r9, r10
xor r9, rbx
lea rbx, [0x1401ed8e0]
mov qword [rsp + 0x80], r9
mov r9, rsi
mov rsi, qword [rsp + 0x60]
shr r9, 0x30
movzx r9d, r9b
xor rsi, qword [rbx + r9*8]
mov rbx, rax
mov rax, r14
mov r11, qword [rsp + 0x58]
movzx edi, ah
mov rax, qword [rsp + 0x18]
mov r9, rdi
mov rdi, qword [rsp + 8]
mov r9, qword [r13 + r9*8]
shr r11, 0x38
shr rdi, 0x10
movzx r10d, dil
mov rdi, qword [rsp + 0x20]
xor r9, qword [r12 + r10*8]
movzx r10d, bl
mov r10, qword [r15 + r10*8]
xor r10, qword [rbp + r11*8]
mov r11, qword [rsp + 0x28]
xor r9, r10
shr r11, 0x20
mov r10d, eax
shr r10d, 0x18
movzx r11d, r11b
mov r10, qword [r8 + r10*8]
xor r10, qword [rcx + r11*8]
mov r11, rdi
shr r11, 0x28
movzx r11d, r11b
xor r10, qword [rdx + r11*8]
mov r11, qword [rsp + 0x58]
mov qword [rsp + 0x10], r11
mov r11, qword [rsp + 0x40]
xor r9, r10
mov r10, r9
mov r9, rdi
lea rdi, [0x1401ed8e0]
xor r10, rsi
shr r9, 0x30
mov rsi, qword [rsp + 0x68]
mov qword [rsp + 0x88], r10
mov r10, r14
movzx r9d, r9b
shr r11, 0x38
shr r10, 0x10
xor rsi, qword [rdi + r9*8]
movzx edi, bh
movzx r10d, r10b
mov r9, qword [r13 + rdi*8]
mov rdi, qword [rsp + 0x28]
xor r9, qword [r12 + r10*8]
movzx r10d, byte [rsp + 0x10]
mov r10, qword [r15 + r10*8]
xor r10, qword [rbp + r11*8]
mov r11, rax
lea rax, [0x1401ed8e0]
shr r11, 0x20
movzx r11d, r11b
xor r9, r10
mov r10d, dword [rsp + 8]
shr r10d, 0x18
mov r10, qword [r8 + r10*8]
xor r10, qword [rcx + r11*8]
mov r11, rdi
shr r11, 0x28
movzx r11d, r11b
xor r10, qword [rdx + r11*8]
xor r9, r10
mov r10, r9
xor r10, rsi
mov rsi, rdi
shr rsi, 0x30
mov qword [rsp + 0x58], r10
movzx r9d, sil
mov rsi, qword [rsp + 0x48]
xor rsi, qword [rax + r9*8]
mov r9, qword [rsp + 0x40]
mov rax, qword [rsp + 0x10]
mov rdi, rsi
movzx esi, ah
mov rax, qword [rsp + 0x18]
mov r10, rsi
mov rsi, rbx
shr rsi, 0x10
mov r10, qword [r13 + r10*8]
movzx r11d, sil
mov rsi, qword [rsp + 0x20]
xor r10, qword [r12 + r11*8]
movzx r11d, r9b
mov r11, qword [r15 + r11*8]
shr rsi, 0x38
xor r11, qword [rbp + rsi*8]
mov rsi, qword [rsp + 8]
shr rsi, 0x20
xor r10, r11
mov r11d, r14d
movzx esi, sil
shr r11d, 0x18
mov r11, qword [r8 + r11*8]
xor r11, qword [rcx + rsi*8]
mov rsi, rax
shr rsi, 0x28
movzx esi, sil
xor r11, qword [rdx + rsi*8]
mov rsi, rax
lea rax, [0x1401ed8e0]
xor r10, r11
mov r11, qword [rsp + 0x30]
xor r10, rdi
shr rsi, 0x30
mov qword [rsp + 0x40], r10
movzx r10d, sil
mov rsi, qword [rsp + 0x10]
xor r11, qword [rax + r10*8]
mov rax, r9
movzx edi, ah
mov rax, qword [rsp + 0x28]
mov r10, qword [rsp + 0x20]
shr rsi, 0x10
movzx esi, sil
mov r12, r11
mov r11, qword [r13 + rdi*8]
lea rdi, [0x1401ef8e0]
mov r13d, ebx
xor r11, qword [rdi + rsi*8]
mov rdi, rax
movzx esi, r10b
shr r13d, 0x18
shr rdi, 0x38
mov rsi, qword [r15 + rsi*8]
xor rsi, qword [rbp + rdi*8]
mov rdi, r14
shr rdi, 0x20
movzx edi, dil
xor r11, rsi
mov esi, r13d
mov r13, qword [rsp + 8]
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rcx + rdi*8]
mov rdi, r13
shr rdi, 0x28
movzx edi, dil
xor rsi, qword [rdx + rdi*8]
xor r11, rsi
mov rsi, qword [rsp + 0x38]
xor r11, r12
mov r12, r9
mov qword [rsp + 0x20], r11
mov r11, r13
lea r13, [0x1401ed8e0]
shr r12, 0x10
shr r11, 0x30
movzx edi, r12b
lea r12, [0x1401f00e0]
movzx r11d, r11b
xor rsi, qword [r13 + r11*8]
mov r11, rax
mov rax, r10
mov r13, rsi
movzx esi, ah
mov rax, qword [rsp + 0x18]
mov rsi, qword [r12 + rsi*8]
lea r12, [0x1401ef8e0]
xor rsi, qword [r12 + rdi*8]
movzx edi, r11b
mov rdi, qword [r15 + rdi*8]
mov r12, rax
shr r12, 0x38
xor rdi, qword [rbp + r12*8]
mov r12, rbx
shr r12, 0x20
movzx r12d, r12b
xor rsi, rdi
mov edi, dword [rsp + 0x10]
shr edi, 0x18
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rcx + r12*8]
mov r12, r14
shr r12, 0x28
movzx r12d, r12b
xor rdi, qword [rdx + r12*8]
mov r12, rax
mov rax, r11
xor rsi, rdi
mov rdi, qword [rsp + 0x50]
xor rsi, r13
lea r13, [0x1401ed8e0]
mov qword [rsp + 0x28], rsi
mov rsi, r14
shr rsi, 0x30
movzx esi, sil
xor rdi, qword [r13 + rsi*8]
movzx esi, ah
lea r13, [0x1401f00e0]
mov rax, r10
mov rsi, qword [r13 + rsi*8]
mov r13, qword [rsp + 8]
shr rax, 0x10
mov qword [rsp + 0x18], rdi
movzx edi, al
lea rax, [0x1401ef8e0]
xor rsi, qword [rax + rdi*8]
shr r13, 0x38
movzx edi, r12b
shr r11, 0x10
mov rdi, qword [r15 + rdi*8]
xor rdi, qword [rbp + r13*8]
shr r10d, 0x18
movzx r11d, r11b
mov rax, qword [rsp + 0x10]
mov r10, qword [r8 + r10*8]
xor rsi, rdi
shr rax, 0x20
mov edi, r9d
shr r9, 0x20
movzx r13d, al
shr edi, 0x18
lea rax, [0x1401ed8e0]
movzx r9d, r9b
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rcx + r13*8]
mov r13, rbx
shr rbx, 0x30
shr r13, 0x28
movzx ebx, bl
xor r10, qword [rcx + r9*8]
mov r9, qword [rsp + 0x10]
movzx r13d, r13b
xor rdi, qword [rdx + r13*8]
lea r13, [0x1401f00e0]
shr r9, 0x28
movzx r9d, r9b
xor r10, qword [rdx + r9*8]
xor rsi, rdi
mov rdi, qword [rsp + 0x18]
xor rdi, rsi
mov rsi, qword [rsp]
xor rsi, qword [rax + rbx*8]
mov rax, r12
mov qword [rsp + 0x18], rdi
movzx edi, ah
lea rax, [0x1401ef8e0]
mov rbx, rsi
mov rsi, qword [r13 + rdi*8]
xor rsi, qword [rax + r11*8]
mov rdi, r14
movzx r11d, byte [rsp + 8]
shr rdi, 0x38
lea rax, [0x1401ed0d0]
mov r11, qword [r15 + r11*8]
xor r11, qword [rbp + rdi*8]
xor r11, rsi
xor r11, r10
xor r11, rbx
mov qword [rsp + 8], r11
add qword [rsp + 0x70], 8
mov rbx, qword [rsp + 0x70]
cmp rax, rbx
jne 0x1400c1a40
mov rdi, qword [rsp + 0xc8]
mov rax, qword [rsp + 0x80]
mov r9, qword [rsp + 0x128]
mov r11, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb0]
xor rax, rdi
mov r14, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xb8]
mov qword [r9], rax
mov rax, qword [rsp + 0x120]
xor r11, qword [rax + 8]
mov rax, qword [rsp + 0x88]
xor r11, rax
mov rax, qword [rsp + 0x120]
mov qword [r9 + 8], r11
xor rbx, qword [rax + 0x10]
mov rax, qword [rsp + 0x58]
xor rbx, rax
mov rax, qword [rsp + 0x120]
mov qword [r9 + 0x10], rbx
xor rsi, qword [rax + 0x18]
mov rax, qword [rsp + 0x40]
xor rsi, rax
mov rax, qword [rsp + 0x120]
mov qword [r9 + 0x18], rsi
mov rdi, qword [rax + 0x20]
mov rax, qword [rsp + 0x20]
xor rdi, r10
xor rdi, rax
mov rax, qword [rsp + 0x120]
mov qword [r9 + 0x20], rdi
xor r12, qword [rax + 0x28]
mov rax, qword [rsp + 0x28]
xor r12, rax
mov rax, qword [rsp + 0x120]
mov qword [r9 + 0x28], r12
xor r13, qword [rax + 0x30]
mov rax, qword [rsp + 0x18]
xor r13, rax
mov rax, qword [rsp + 0x120]
mov qword [r9 + 0x30], r13
xor r14, qword [rax + 0x38]
mov rax, qword [rsp + 8]
xor r14, rax
mov qword [r9 + 0x38], r14
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret