Function at 0x1400c61d0
Capabilities:
Encode data using add xor sub operations

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x10], rdx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov esi, dword [rcx]
lea r12, [0x140000000]
mov r13, rdx
lea eax, [rsi*8 + 4]
mov r11d, dword [rcx + rax*4 + 0xc]
lea rax, [rcx + rax*4]
xor r11d, dword [r8 + 0xc]
mov rdi, rax
mov ecx, dword [rax + 8]
xor ecx, dword [r8 + 8]
mov ebx, dword [rax]
xor ebx, dword [r8]
mov r10d, dword [rax + 4]
sub rax, 0x20
xor r10d, dword [r8 + 4]
mov r9d, ecx
shr ecx, 0x10
movzx r8d, cl
mov ecx, r11d
shr ecx, 8
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov ebp, dword [r12 + r8*4 + 0x1118e0]
xor ebp, dword [r12 + rdx*4 + 0x1114e0]
xor ebp, dword [r12 + rcx*4 + 0x111ce0]
movzx ecx, bl
xor ebp, dword [r12 + rcx*4 + 0x1110e0]
mov ecx, r11d
xor ebp, dword [rdi - 0x10]
shr ecx, 0x10
movzx r8d, cl
mov ecx, ebx
shr ecx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r14d, dword [r12 + r8*4 + 0x1118e0]
xor r14d, dword [r12 + rdx*4 + 0x1114e0]
xor r14d, dword [r12 + rcx*4 + 0x111ce0]
movzx ecx, r10b
xor r14d, dword [r12 + rcx*4 + 0x1110e0]
mov ecx, ebx
xor r14d, dword [rdi - 0xc]
shr ecx, 0x10
movzx r8d, cl
mov ecx, r10d
shr ecx, 8
movzx edx, cl
mov ecx, r11d
shr rcx, 0x18
mov r15d, dword [r12 + r8*4 + 0x1118e0]
shr r10d, 0x10
xor r15d, dword [r12 + rdx*4 + 0x1114e0]
xor r15d, dword [r12 + rcx*4 + 0x111ce0]
movzx ecx, r9b
shr r9d, 8
movzx edx, r9b
lea r9, [0x140000000]
shr rbx, 0x18
xor r15d, dword [r12 + rcx*4 + 0x1110e0]
xor r15d, dword [rdi - 8]
mov r12d, dword [r12 + rdx*4 + 0x1114e0]
movzx ecx, r10b
xor r12d, dword [r9 + rcx*4 + 0x1118e0]
xor r12d, dword [r9 + rbx*4 + 0x111ce0]
movzx ecx, r11b
lea r11, [0x140000000]
xor r12d, dword [r11 + rcx*4 + 0x1110e0]
xor r12d, dword [rdi - 4]
add esi, 0xffffffff
je 0x1400c6569
mov r13d, esi
nop dword [rax]
mov ebx, ebp
lea r9, [0x140000000]
mov ecx, r12d
shr rbx, 0x18
shr ecx, 8
movzx r8d, cl
mov ecx, r15d
shr ecx, 0x10
movzx edx, cl
mov ecx, r14d
mov esi, dword [r11 + r8*4 + 0x1114e0]
shr rcx, 0x18
xor esi, dword [r11 + rdx*4 + 0x1118e0]
xor esi, dword [r11 + rcx*4 + 0x111ce0]
movzx ecx, bpl
xor esi, dword [r11 + rcx*4 + 0x1110e0]
lea r11, [0x140000000]
xor esi, dword [rax]
mov ecx, r12d
shr ecx, 0x10
movzx r8d, cl
mov ecx, ebp
shr ecx, 8
movzx edx, cl
shr ebp, 0x10
mov edi, dword [r9 + r8*4 + 0x1118e0]
lea r8, [0x140000000]
mov ecx, r15d
xor edi, dword [r8 + rdx*4 + 0x1114e0]
shr rcx, 0x18
xor edi, dword [r8 + rcx*4 + 0x111ce0]
movzx ecx, r14b
xor edi, dword [r8 + rcx*4 + 0x1110e0]
mov ecx, r14d
xor edi, dword [rax + 4]
shr ecx, 8
movzx edx, cl
movzx ecx, bpl
shr r14d, 0x10
mov r10d, dword [r8 + rdx*4 + 0x1114e0]
lea rdx, [0x140000000]
xor r10d, dword [rdx + rcx*4 + 0x1118e0]
movzx r8d, sil
mov ecx, r12d
shr rcx, 0x18
mov ebp, dword [r11 + r8*4 + 0x1110e0]
xor r10d, dword [rdx + rcx*4 + 0x111ce0]
movzx ecx, r15b
shr r15d, 8
movzx edx, r15b
xor r10d, dword [r11 + rcx*4 + 0x1110e0]
xor r10d, dword [rax + 8]
mov r9d, dword [r11 + rdx*4 + 0x1114e0]
movzx ecx, r14b
xor r9d, dword [r11 + rcx*4 + 0x1118e0]
xor r9d, dword [r11 + rbx*4 + 0x111ce0]
movzx ecx, r12b
xor r9d, dword [r11 + rcx*4 + 0x1110e0]
xor r9d, dword [rax + 0xc]
sub rax, 0x20
mov ecx, r9d
shr ecx, 8
movzx edx, cl
mov ecx, r10d
shr ecx, 0x10
xor ebp, dword [r11 + rdx*4 + 0x1114e0]
movzx edx, cl
mov ecx, edi
shr rcx, 0x18
xor ebp, dword [r11 + rdx*4 + 0x1118e0]
xor ebp, dword [r11 + rcx*4 + 0x111ce0]
mov ecx, r9d
xor ebp, dword [rax + 0x10]
shr ecx, 0x10
movzx r8d, cl
mov ecx, esi
shr ecx, 8
movzx edx, cl
mov ecx, r10d
mov r14d, dword [r11 + r8*4 + 0x1118e0]
xor r14d, dword [r11 + rdx*4 + 0x1114e0]
shr rcx, 0x18
xor r14d, dword [r11 + rcx*4 + 0x111ce0]
movzx ecx, dil
xor r14d, dword [r11 + rcx*4 + 0x1110e0]
mov ecx, esi
xor r14d, dword [rax + 0x14]
shr ecx, 0x10
movzx r8d, cl
mov ecx, edi
shr ecx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r15d, dword [r11 + r8*4 + 0x1118e0]
shr edi, 0x10
xor r15d, dword [r11 + rdx*4 + 0x1114e0]
mov edx, esi
xor r15d, dword [r11 + rcx*4 + 0x111ce0]
movzx ecx, r10b
shr rdx, 0x18
shr r10d, 8
xor r15d, dword [r11 + rcx*4 + 0x1110e0]
mov r12d, dword [r11 + rdx*4 + 0x111ce0]
xor r15d, dword [rax + 0x18]
movzx ecx, r10b
xor r12d, dword [r11 + rcx*4 + 0x1114e0]
movzx ecx, dil
xor r12d, dword [r11 + rcx*4 + 0x1118e0]
movzx ecx, r9b
xor r12d, dword [r11 + rcx*4 + 0x1110e0]
xor r12d, dword [rax + 0x1c]
add r13d, 0xffffffff
jne 0x1400c6340
mov r13, qword [rsp + 0x40]
lea rbx, [0x140000000]
mov ecx, r14d
shr rcx, 0x18
mov r11d, ebp
shr r11, 0x18
movzx r8d, byte [rcx + rbx + 0x1120e0]
mov ecx, r15d
shr ecx, 0x10
movzx edx, cl
shl r8d, 8
movzx ecx, byte [rdx + rbx + 0x1120e0]
or r8d, ecx
mov ecx, r12d
shr ecx, 8
movzx edx, cl
shl r8d, 8
movzx ecx, byte [rdx + rbx + 0x1120e0]
or r8d, ecx
movzx ecx, bpl
shl r8d, 8
movzx ecx, byte [rcx + rbx + 0x1120e0]
or r8d, ecx
mov ecx, r12d
xor r8d, dword [rax]
shr ecx, 0x10
movzx edx, cl
mov dword [r13], r8d
mov ecx, r15d
shr rcx, 0x18
movzx r8d, byte [rdx + rbx + 0x1120e0]
movzx ecx, byte [rcx + rbx + 0x1120e0]
shl ecx, 8
or r8d, ecx
mov ecx, ebp
shr ecx, 8
movzx edx, cl
shl r8d, 8
shr ebp, 0x10
movzx ecx, byte [rdx + rbx + 0x1120e0]
or r8d, ecx
movzx ecx, r14b
shl r8d, 8
movzx ecx, byte [rcx + rbx + 0x1120e0]
or r8d, ecx
mov ecx, r12d
xor r8d, dword [rax + 4]
shr rcx, 0x18
mov dword [r13 + 4], r8d
movzx r8d, byte [rcx + rbx + 0x1120e0]
shl r8d, 8
movzx ecx, bpl
movzx ecx, byte [rcx + rbx + 0x1120e0]
or r8d, ecx
mov ecx, r14d
shr ecx, 8
movzx edx, cl
shl r8d, 8
shr r14d, 0x10
movzx ecx, byte [rdx + rbx + 0x1120e0]
movzx edx, byte [r11 + rbx + 0x1120e0]
or r8d, ecx
shl edx, 8
movzx ecx, r15b
shl r8d, 8
shr r15d, 8
movzx ecx, byte [rcx + rbx + 0x1120e0]
or r8d, ecx
movzx ecx, r14b
xor r8d, dword [rax + 8]
mov dword [r13 + 8], r8d
movzx ecx, byte [rcx + rbx + 0x1120e0]
or edx, ecx
movzx ecx, r15b
shl edx, 8
movzx ecx, byte [rcx + rbx + 0x1120e0]
or edx, ecx
movzx ecx, r12b
shl edx, 8
movzx ecx, byte [rcx + rbx + 0x1120e0]
or edx, ecx
xor edx, dword [rax + 0xc]
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov dword [r13 + 0xc], edx
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret