Function at 0x18002c950
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov eax, dword [rcx + 0x10]
mov r14d, 8
mov ebx, dword [rcx + 0x64]
mov r15d, dword [rcx + 0xc]
mov dword [rsp + 0x10], eax
mov dword [rbp + 0x88], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x14], eax
mov dword [rbp + 0x90], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x18], eax
mov dword [rbp + 0x98], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x1c], eax
mov dword [rsp], eax
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x20], eax
mov dword [rsp + 4], eax
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x24], eax
mov dword [rsp + 8], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0xc], eax
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x30]
mov dword [rsp + 0x34], eax
mov eax, dword [rcx + 0x34]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x48]
mov dword [rsp + 0x4c], eax
mov eax, dword [rcx + 0x4c]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x50]
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + 0x54]
mov dword [rsp + 0x58], eax
mov eax, dword [rcx + 0x58]
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 0x5c]
mov dword [rsp + 0x60], eax
mov eax, dword [rcx + 0x60]
mov dword [rsp + 0x64], eax
mov eax, dword [rcx + 0x68]
mov dword [rsp + 0x6c], eax
lea rax, [rsp + 0x68]
mov dword [rsp + 0x68], ebx
nop
mov r11d, dword [rax - 0x34]
mov edx, ebx
ror edx, 0x13
mov r10d, r11d
ror r10d, 0x12
mov ecx, r11d
ror ecx, 7
mov esi, ebx
xor r10d, ecx
mov ecx, r11d
shr ecx, 3
xor r10d, ecx
mov ecx, ebx
ror ecx, 0x11
xor edx, ecx
mov ecx, ebx
shr ecx, 0xa
xor edx, ecx
add r10d, edx
add r10d, dword [rax - 0x38]
add r10d, dword [rax - 0x14]
mov dword [rax + 8], r10d
mov edi, dword [rax - 0x30]
mov r9d, edi
mov r8d, dword [rax + 4]
mov ecx, edi
ror ecx, 7
mov edx, r8d
ror r9d, 0x12
xor r9d, ecx
ror edx, 0x13
mov ecx, edi
shr ecx, 3
xor r9d, ecx
mov ecx, r8d
ror ecx, 0x11
xor edx, ecx
shr r8d, 0xa
xor edx, r8d
add r9d, edx
mov edx, r10d
add r9d, dword [rax - 0x10]
add r11d, r9d
ror edx, 0x13
mov dword [rax + 0xc], r11d
mov ebx, dword [rax - 0x2c]
mov r9d, ebx
ror r9d, 0x12
mov ecx, ebx
ror ecx, 7
xor r9d, ecx
mov ecx, ebx
shr ecx, 3
xor r9d, ecx
mov ecx, r10d
ror ecx, 0x11
xor edx, ecx
shr r10d, 0xa
xor edx, r10d
add r9d, edx
mov edx, r11d
add r9d, dword [rax - 0xc]
add r9d, edi
ror edx, 0x13
mov dword [rax + 0x10], r9d
mov edi, dword [rax - 0x28]
mov r10d, edi
ror r10d, 0x12
mov ecx, edi
ror ecx, 7
xor r10d, ecx
mov ecx, edi
shr ecx, 3
xor r10d, ecx
mov ecx, r11d
ror ecx, 0x11
xor edx, ecx
shr r11d, 0xa
xor edx, r11d
add r10d, edx
add r10d, dword [rax - 8]
add r10d, ebx
mov edx, r9d
ror edx, 0x13
mov dword [rax + 0x14], r10d
mov r11d, dword [rax - 0x24]
lea rax, [rax + 0x18]
mov ebx, r11d
mov ecx, r11d
ror ecx, 7
ror ebx, 0x12
xor ebx, ecx
mov ecx, r11d
shr ecx, 3
xor ebx, ecx
mov ecx, r9d
ror ecx, 0x11
xor edx, ecx
shr r9d, 0xa
xor edx, r9d
add ebx, edx
add ebx, dword [rax - 0x1c]
add ebx, edi
mov dword [rax], ebx
mov edx, dword [rax - 0x38]
mov r8d, edx
mov ecx, edx
ror r8d, 0x12
shr edx, 3
ror ecx, 7
xor r8d, ecx
mov ecx, r10d
xor r8d, edx
ror ecx, 0x11
mov edx, r10d
shr r10d, 0xa
ror edx, 0x13
xor edx, ecx
xor edx, r10d
lea ecx, [rsi + r8]
add edx, ecx
add edx, r11d
mov dword [rax + 4], edx
sub r14, 1
jne 0x18002ca40
mov r11d, dword [rbp + 0x88]
lea r13, [0x18004c1a0]
mov r10d, dword [rbp + 0x90]
xor r12d, r12d
mov r9d, dword [rbp + 0x98]
mov ebx, dword [rsp]
mov r14d, dword [rsp + 4]
mov esi, dword [rsp + 8]
mov edi, dword [rsp + 0xc]
nop word [rax + rax]
mov r8d, ebx
mov eax, ebx
ror eax, 0xb
mov edx, r15d
ror r8d, 0x19
xor r8d, eax
ror edx, 0x16
mov eax, ebx
ror eax, 6
xor r8d, eax
mov eax, r14d
xor eax, esi
and eax, ebx
xor eax, esi
add r8d, eax
mov eax, r15d
add r8d, dword [r12 + r13]
add r8d, dword [rsp + r12 + 0x30]
ror eax, 0xd
add r8d, edi
xor edx, eax
mov eax, r15d
ror eax, 2
xor edx, eax
mov eax, r11d
and eax, r15d
lea edi, [r9 + r8]
mov r9d, r11d
or r9d, r15d
and r9d, r10d
or r9d, eax
lea eax, [r8 + rdx]
add r9d, eax
mov r8d, edi
ror r8d, 0x19
mov eax, edi
ror eax, 0xb
mov edx, r9d
xor r8d, eax
ror edx, 0x16
mov eax, edi
ror eax, 6
xor r8d, eax
mov eax, r14d
xor eax, ebx
and eax, edi
xor eax, r14d
add r8d, eax
mov eax, r9d
add r8d, dword [rsp + r12 + 0x34]
add r8d, dword [r12 + r13 + 4]
ror eax, 0xd
add r8d, esi
xor edx, eax
mov eax, r9d
ror eax, 2
xor edx, eax
mov eax, r15d
lea esi, [r10 + r8]
and eax, r9d
mov r10d, r15d
or r10d, r9d
and r10d, r11d
or r10d, eax
lea eax, [r8 + rdx]
add r10d, eax
mov r8d, esi
ror r8d, 0x19
mov eax, esi
ror eax, 0xb
xor r8d, eax
mov eax, esi
ror eax, 6
xor r8d, eax
mov eax, ebx
xor eax, edi
and eax, esi
xor eax, ebx
add r8d, eax
add r8d, dword [rsp + r12 + 0x38]
add r8d, dword [r12 + r13 + 8]
add r8d, r14d
mov edx, r10d
ror edx, 0x16
mov eax, r10d
ror eax, 0xd
xor edx, eax
mov eax, r10d
ror eax, 2
lea r14d, [r11 + r8]
xor edx, eax
mov r11d, r9d
mov eax, r9d
or r11d, r10d
and eax, r10d
and r11d, r15d
or r11d, eax
lea eax, [r8 + rdx]
mov r8d, r14d
add r11d, eax
ror r8d, 0x19
mov eax, r14d
mov edx, r11d
ror eax, 0xb
xor r8d, eax
ror edx, 0x16
mov eax, r14d
ror eax, 6
xor r8d, eax
mov eax, edi
xor eax, esi
and eax, r14d
xor eax, edi
add r8d, eax
mov eax, r11d
add r8d, dword [rsp + r12 + 0x3c]
add r8d, dword [r12 + r13 + 0xc]
ror eax, 0xd
add r8d, ebx
xor edx, eax
add r15d, r8d
mov eax, r11d
mov ebx, r10d
ror eax, 2
or ebx, r11d
xor edx, eax
and ebx, r9d
mov eax, r10d
and eax, r11d
or ebx, eax
lea eax, [r8 + rdx]
mov r8d, r15d
add ebx, eax
ror r8d, 0x19
mov eax, r15d
mov edx, ebx
ror eax, 0xb
xor r8d, eax
ror edx, 0xd
mov eax, r15d
ror eax, 6
xor r8d, eax
mov eax, r14d
xor eax, esi
and eax, r15d
xor eax, esi
add r8d, eax
mov eax, ebx
add r8d, dword [rsp + r12 + 0x40]
add r8d, dword [r12 + r13 + 0x10]
ror eax, 2
add r8d, edi
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, ebx
lea edi, [r9 + r8]
mov r9d, ebx
or r9d, r11d
and r9d, r10d
and eax, r11d
or r9d, eax
lea eax, [r8 + rdx]
add r9d, eax
mov r8d, edi
ror r8d, 0x19
mov eax, edi
ror eax, 0xb
mov edx, r9d
xor r8d, eax
ror edx, 0xd
mov eax, edi
ror eax, 6
xor r8d, eax
mov eax, r14d
xor eax, r15d
and eax, edi
xor eax, r14d
add r8d, eax
mov eax, r9d
add r8d, dword [rsp + r12 + 0x44]
add r8d, dword [r12 + r13 + 0x14]
ror eax, 2
add r8d, esi
xor edx, eax
mov eax, r9d
ror eax, 0x16
xor edx, eax
mov eax, r9d
and eax, ebx
lea esi, [r10 + r8]
mov r10d, r9d
or r10d, ebx
and r10d, r11d
or r10d, eax
lea eax, [r8 + rdx]
add r10d, eax
mov r8d, esi
ror r8d, 0x19
mov eax, esi
ror eax, 0xb
mov edx, r10d
xor r8d, eax
ror edx, 0xd
mov eax, esi
ror eax, 6
xor r8d, eax
mov eax, edi
xor eax, r15d
and eax, esi
xor eax, r15d
add r8d, eax
mov eax, r10d
add r8d, dword [rsp + r12 + 0x48]
add r8d, dword [r12 + r13 + 0x18]
ror eax, 2
add r8d, r14d
xor edx, eax
mov eax, r10d
ror eax, 0x16
xor edx, eax
mov eax, r10d
lea r14d, [r11 + r8]
and eax, r9d
mov r11d, r10d
or r11d, r9d
and r11d, ebx
or r11d, eax
lea eax, [r8 + rdx]
add r11d, eax
mov r8d, r14d
ror r8d, 0x19
mov eax, r14d
ror eax, 0xb
xor r8d, eax
mov eax, r14d
ror eax, 6
xor r8d, eax
mov eax, edi
xor eax, esi
and eax, r14d
xor eax, edi
add r8d, eax
mov edx, r11d
add r8d, dword [rsp + r12 + 0x4c]
mov eax, r11d
add r8d, dword [r12 + r13 + 0x1c]
add r12, 0x20
add r8d, r15d
ror eax, 2
ror edx, 0xd
mov r15d, r11d
xor edx, eax
or r15d, r10d
and r15d, r9d
mov eax, r11d
ror eax, 0x16
add ebx, r8d
xor edx, eax
mov eax, r11d
and eax, r10d
or r15d, eax
lea eax, [r8 + rdx]
add r15d, eax
cmp r12, 0x100
jl 0x18002cbf0
mov r13, qword [rbp + 0x80]
mov eax, dword [rsp + 0x10]
add eax, r11d
add dword [r13 + 0xc], r15d
mov dword [r13 + 0x10], eax
mov eax, dword [rsp + 0x14]
add eax, r10d
mov dword [r13 + 0x14], eax
mov eax, dword [rsp + 0x18]
add eax, r9d
mov dword [r13 + 0x18], eax
mov eax, dword [rsp + 0x1c]
add eax, ebx
mov dword [r13 + 0x1c], eax
mov eax, dword [rsp + 0x20]
add eax, r14d
mov dword [r13 + 0x20], eax
mov eax, dword [rsp + 0x24]
add eax, esi
mov dword [r13 + 0x24], eax
mov eax, dword [rsp + 0x28]
add eax, edi
mov dword [r13 + 0x28], eax
xor eax, eax
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret