Function at 0x18001e300
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
xor r10d, r10d
mov r14, r9
mov rsi, r8
mov eax, r10d
test rdx, rdx
je 0x18001e329
mov eax, dword [rdx]
mov r8d, r10d
add rdx, 4
je 0x18001e335
mov r8d, dword [rdx]
mov r11d, r10d
add rdx, 4
je 0x18001e341
mov r11d, dword [rdx]
add rdx, 4
je 0x18001e34a
mov r10d, dword [rdx]
mov rdi, qword [rcx + 0x238]
xor r8d, dword [rdi + 4]
xor eax, dword [rdi]
xor r10d, dword [rdi + 0xc]
xor r11d, dword [rdi + 8]
xor r10d, eax
mov edx, r10d
mov ecx, r10d
and ecx, r8d
or edx, eax
xor ecx, eax
mov r9d, r11d
xor r9d, r8d
xor edx, r9d
xor r9d, r10d
xor r10d, r11d
or r11d, ecx
xor r11d, r9d
not r9d
or r9d, ecx
mov eax, r9d
xor eax, r10d
or r10d, edx
xor ecx, eax
xor r9d, r10d
xor ecx, r10d
lea eax, [r11*8]
mov r8d, ecx
shl ecx, 0xd
shr r8d, 0x13
or r8d, ecx
mov ecx, r11d
shr ecx, 0x1d
or ecx, eax
xor r9d, ecx
xor r9d, r8d
lea eax, [r8*8]
xor eax, ecx
mov r10d, r9d
xor eax, edx
shr r10d, 0x1f
mov r11d, eax
shl eax, 7
shr r11d, 0x19
or r11d, eax
lea eax, [r9 + r9]
or r10d, eax
mov edx, r10d
xor edx, r8d
mov r8d, r10d
xor r10d, dword [rdi + 0x14]
xor edx, r11d
shl r8d, 7
xor r8d, ecx
ror edx, 0x1b
xor edx, dword [rdi + 0x10]
xor r8d, r11d
xor r11d, dword [rdi + 0x1c]
not edx
mov eax, edx
ror r8d, 0xa
xor r8d, dword [rdi + 0x18]
and edx, r10d
not r8d
xor r8d, edx
or edx, r11d
xor r10d, edx
xor r11d, r8d
xor edx, eax
or eax, r10d
or r8d, edx
xor r10d, r11d
xor edx, r10d
and r8d, eax
and r10d, r8d
mov ecx, r8d
and ecx, edx
xor r10d, edx
xor ecx, eax
mov edx, r8d
shr edx, 0x13
lea eax, [r11*8]
shl r8d, 0xd
or edx, r8d
mov r9d, r11d
shr r9d, 0x1d
or r9d, eax
lea eax, [rdx*8]
xor eax, r10d
xor eax, r9d
mov ebx, eax
shl eax, 7
shr ebx, 0x19
or ebx, eax
mov eax, edx
xor eax, ecx
mov r11d, ebx
xor eax, r9d
xor r11d, edx
mov r8d, eax
add eax, eax
shr r8d, 0x1f
or r8d, eax
xor r11d, r8d
mov r10d, r8d
xor r8d, dword [rdi + 0x24]
shl r10d, 7
xor r10d, ebx
ror r11d, 0x1b
xor r11d, dword [rdi + 0x20]
xor r10d, r9d
xor ebx, dword [rdi + 0x2c]
mov ecx, r11d
ror r10d, 0xa
xor r10d, dword [rdi + 0x28]
and ecx, r10d
xor ecx, ebx
or ebx, r11d
xor ebx, r8d
mov eax, ecx
xor eax, r8d
mov edx, ebx
xor r10d, eax
xor r11d, r10d
or edx, r11d
xor edx, ecx
and ecx, ebx
xor r11d, ecx
mov eax, edx
xor eax, r11d
mov ecx, r10d
xor ebx, eax
shl r10d, 0xd
not r11d
shr ecx, 0x13
or ecx, r10d
mov r8d, ebx
shr r8d, 0x1d
lea eax, [rbx*8]
or r8d, eax
xor edx, r8d
lea eax, [rcx*8]
xor eax, r11d
xor edx, ecx
xor eax, r8d
mov r11d, edx
mov r10d, eax
shr r11d, 0x1f
shl eax, 7
shr r10d, 0x19
or r10d, eax
lea eax, [rdx + rdx]
or r11d, eax
mov r9d, r11d
mov eax, r11d
xor r11d, dword [rdi + 0x34]
xor r9d, r10d
xor r9d, ecx
shl eax, 7
ror r9d, 0x1b
xor r9d, dword [rdi + 0x30]
xor eax, r10d
xor r10d, dword [rdi + 0x3c]
xor eax, r8d
ror eax, 0xa
mov edx, r9d
xor eax, dword [rdi + 0x38]
or r9d, r10d
xor r10d, r11d
and r11d, edx
xor edx, eax
xor eax, r10d
and r10d, r9d
or edx, r11d
xor r10d, edx
xor r9d, r11d
and edx, r9d
xor r11d, r10d
xor edx, eax
or r11d, r9d
xor r11d, eax
mov ecx, r10d
shr ecx, 0x1d
mov eax, r11d
or eax, r10d
xor eax, r10d
xor eax, r9d
mov ebx, eax
shl eax, 0xd
shr ebx, 0x13
or ebx, eax
lea eax, [r10*8]
or ecx, eax
lea eax, [rbx*8]
xor eax, ecx
xor eax, edx
mov r10d, eax
shl eax, 7
shr r10d, 0x19
or r10d, eax
mov eax, ebx
xor ebx, r10d
xor eax, ecx
xor eax, r11d
mov edx, eax
add eax, eax
shr edx, 0x1f
or edx, eax
xor ebx, edx
mov r9d, edx
shl r9d, 7
xor r9d, ecx
ror ebx, 0x1b
xor ebx, dword [rdi + 0x40]
xor r9d, r10d
xor r10d, dword [rdi + 0x4c]
ror r9d, 0xa
mov eax, r10d
xor r9d, dword [rdi + 0x48]
not r10d
xor eax, dword [rdi + 0x44]
xor r9d, r10d
xor r10d, ebx
xor edx, eax
mov eax, r10d
and eax, edx
xor edx, r10d
xor eax, r9d
xor ebx, edx
and r9d, edx
mov r8d, eax
xor r9d, ebx
or r8d, edx
and ebx, eax
mov ecx, eax
xor r10d, ebx
shr ecx, 0x13
xor r8d, ebx
or ebx, r10d
xor ebx, r9d
and r9d, r10d
shl eax, 0xd
not ebx
or ecx, eax
mov edx, ebx
shr edx, 0x1d
lea eax, [rbx*8]
or edx, eax
lea eax, [rcx*8]
xor eax, edx
xor eax, r10d
mov ebx, eax
shl eax, 7
shr ebx, 0x19
or ebx, eax
mov eax, edx
xor eax, r9d
mov r9d, ebx
xor eax, ecx
xor r9d, ecx
xor eax, r8d
mov r8d, eax
add eax, eax
shr r8d, 0x1f
or r8d, eax
xor r9d, r8d
mov r10d, r8d
xor r8d, dword [rdi + 0x54]
shl r10d, 7
xor r10d, edx
ror r9d, 0x1b
xor r9d, dword [rdi + 0x50]
xor r10d, ebx
xor ebx, dword [rdi + 0x5c]
xor r9d, r8d
xor r8d, ebx
ror r10d, 0xa
xor r10d, dword [rdi + 0x58]
not ebx
xor r10d, ebx
mov ecx, r9d
and ecx, r8d
xor ecx, r10d
or r10d, r8d
xor r8d, ebx
mov edx, r10d
xor edx, r8d
and ebx, ecx
xor edx, ecx
xor ebx, r9d
xor r10d, r9d
mov r8d, ecx
shl ecx, 0xd
not r10d
mov eax, ebx
shr r8d, 0x13
and eax, r9d
or r8d, ecx
xor eax, edx
or edx, ebx
mov ecx, eax
shr ecx, 0x1d
lea eax, [rax*8]
or ecx, eax
lea eax, [r8*8]
xor edx, eax
xor ebx, ecx
xor edx, r10d
xor ebx, r8d
xor edx, ecx
mov r11d, ebx
mov r10d, edx
shr r11d, 0x1f
shl edx, 7
shr r10d, 0x19
lea eax, [rbx + rbx]
or r10d, edx
or r11d, eax
mov edx, r11d
mov r9d, r10d
shl edx, 7
xor r9d, r11d
xor edx, r10d
xor r9d, r8d
xor r10d, dword [rdi + 0x6c]
xor edx, ecx
mov ecx, r10d
ror edx, 0xa
xor edx, dword [rdi + 0x68]
not edx
ror r9d, 0x1b
xor r9d, dword [rdi + 0x60]
and r10d, r9d
xor r9d, ecx
xor r10d, edx
mov eax, r10d
mov r8d, r10d
xor eax, dword [rdi + 0x64]
xor r11d, eax
mov eax, ecx
or eax, edx
mov edx, r10d
xor eax, r9d
not r10d
xor eax, r11d
or r9d, r11d
xor ecx, r9d
or r8d, r9d
xor r8d, eax
xor edx, ecx
xor edx, r8d
mov r9d, r8d
mov ecx, edx
shl r8d, 0xd
and ecx, eax
shr r9d, 0x13
xor ecx, r10d
or r9d, r8d
lea eax, [rdx*8]
mov r8d, edx
shr r8d, 0x1d
or r8d, eax
lea eax, [r9*8]
xor eax, r8d
xor eax, ecx
mov r10d, eax
shl eax, 7
shr r10d, 0x19
or r10d, eax
mov eax, r8d
xor eax, r11d
xor eax, r9d
mov edx, eax
add eax, eax
shr edx, 0x1f
or edx, eax
mov eax, edx
mov ecx, edx
xor edx, dword [rdi + 0x74]
xor ecx, r10d
shl eax, 7
xor ecx, r9d
xor eax, r8d
ror ecx, 0x1b
xor ecx, dword [rdi + 0x70]
xor eax, r10d
xor r10d, dword [rdi + 0x7c]
ror eax, 0xa
xor eax, dword [rdi + 0x78]
mov r11d, eax
and r11d, edx
xor r11d, r10d
and r10d, edx
xor eax, r11d
xor r11d, edx
mov ebx, eax
xor edx, ecx
xor r10d, edx
or ebx, ecx
xor ebx, r11d
xor r11d, r10d
and r10d, ebx
xor r10d, eax
xor eax, r11d
not eax
and r11d, ebx
mov ebp, 3
xor r11d, eax
and eax, ebx
xor eax, edx
xor eax, r10d
lea ecx, [r10*8]
mov r9d, r10d
shr r9d, 0x1d
lea rdi, [rdi + 0x80]
or r9d, ecx
mov r8d, r11d
shr r8d, 0x13
shl r11d, 0xd
or r8d, r11d
lea ecx, [r8*8]
xor ecx, ebx
xor ecx, r9d
mov ebx, ecx
shl ecx, 7
shr ebx, 0x19
or ebx, ecx
mov ecx, r9d
xor ecx, eax
xor ecx, r8d
mov edx, ecx
shr edx, 0x1f
lea eax, [rcx + rcx]
or edx, eax
mov eax, ebx
xor eax, edx
mov r10d, edx
xor edx, dword [rdi + 4]
xor eax, r8d
shl r10d, 7
xor r10d, ebx
ror eax, 0x1b
xor eax, dword [rdi]
xor r10d, r9d
xor ebx, dword [rdi + 0xc]
xor ebx, eax
ror r10d, 0xa
xor r10d, dword [rdi + 8]
mov ecx, ebx
and ecx, edx
mov r9d, r10d
xor ecx, eax
xor r9d, edx
mov edx, ebx
or edx, eax
xor edx, r9d
xor r9d, ebx
xor ebx, r10d
or r10d, ecx
xor r10d, r9d
not r9d
or r9d, ecx
mov eax, r9d
xor eax, ebx
or ebx, edx
xor ecx, eax
xor r9d, ebx
xor ecx, ebx
lea eax, [r10*8]
mov r8d, ecx
shl ecx, 0xd
shr r8d, 0x13
or r8d, ecx
mov ecx, r10d
shr ecx, 0x1d
or ecx, eax
xor r9d, ecx
xor r9d, r8d
lea eax, [r8*8]
xor eax, ecx
mov r10d, r9d
xor eax, edx
shr r10d, 0x1f
mov r11d, eax
shl eax, 7
shr r11d, 0x19
or r11d, eax
lea eax, [r9 + r9]
or r10d, eax
mov edx, r10d
xor edx, r8d
xor edx, r11d
mov r8d, r10d
ror edx, 0x1b
xor r10d, dword [rdi + 0x14]
xor edx, dword [rdi + 0x10]
shl r8d, 7
not edx
xor r8d, ecx
mov eax, edx
and edx, r10d
xor r8d, r11d
xor r11d, dword [rdi + 0x1c]
ror r8d, 0xa
xor r8d, dword [rdi + 0x18]
not r8d
xor r8d, edx
or edx, r11d
xor r10d, edx
xor r11d, r8d
xor edx, eax
mov r9d, r11d
or eax, r10d
shr r9d, 0x1d
xor r10d, r11d
or r8d, edx
and r8d, eax
xor edx, r10d
and r10d, r8d
mov ecx, r8d
xor r10d, edx
and ecx, edx
xor ecx, eax
mov edx, r8d
lea eax, [r11*8]
shl r8d, 0xd
or r9d, eax
shr edx, 0x13
or edx, r8d
lea eax, [rdx*8]
xor eax, r10d
xor eax, r9d
mov ebx, eax
shl eax, 7
shr ebx, 0x19
or ebx, eax
mov eax, edx
xor eax, ecx
mov r11d, ebx
xor r11d, edx
xor eax, r9d
mov r8d, eax
add eax, eax
shr r8d, 0x1f
or r8d, eax
xor r11d, r8d
mov r10d, r8d
xor r8d, dword [rdi + 0x24]
shl r10d, 7
xor r10d, ebx
ror r11d, 0x1b
xor r11d, dword [rdi + 0x20]
xor r10d, r9d
xor ebx, dword [rdi + 0x2c]
mov ecx, r11d
ror r10d, 0xa
xor r10d, dword [rdi + 0x28]
and ecx, r10d
xor ecx, ebx
or ebx, r11d
xor ebx, r8d
mov eax, ecx
xor eax, r8d
mov edx, ebx
xor r10d, eax
xor r11d, r10d
or edx, r11d
xor edx, ecx
and ecx, ebx
xor r11d, ecx
mov eax, edx
xor eax, r11d
xor ebx, eax
mov ecx, r10d
lea eax, [rbx*8]
shl r10d, 0xd
not r11d
shr ecx, 0x13
mov r8d, ebx
or ecx, r10d
shr r8d, 0x1d
or r8d, eax
xor edx, r8d
xor edx, ecx
lea eax, [rcx*8]
xor eax, r11d
mov r11d, edx
xor eax, r8d
shr r11d, 0x1f
mov r10d, eax
shl eax, 7
shr r10d, 0x19
or r10d, eax
lea eax, [rdx + rdx]
or r11d, eax
mov r9d, r11d
mov eax, r11d
xor r11d, dword [rdi + 0x34]
xor r9d, r10d
shl eax, 7
xor r9d, ecx
xor eax, r10d
ror r9d, 0x1b
xor r9d, dword [rdi + 0x30]
xor eax, r8d
xor r10d, dword [rdi + 0x3c]
mov edx, r9d
ror eax, 0xa
or r9d, r10d
xor eax, dword [rdi + 0x38]
xor r10d, r11d
and r11d, edx
xor edx, eax
xor eax, r10d
or edx, r11d
and r10d, r9d
xor r9d, r11d
xor r10d, edx
and edx, r9d
xor edx, eax
xor r11d, r10d
or r11d, r9d
mov ecx, r10d
xor r11d, eax
shr ecx, 0x1d
mov eax, r11d
or eax, r10d
xor eax, r10d
xor eax, r9d
mov ebx, eax
shl eax, 0xd
shr ebx, 0x13
or ebx, eax
lea eax, [r10*8]
or ecx, eax
lea eax, [rbx*8]
xor eax, ecx
xor eax, edx
mov r10d, eax
shl eax, 7
shr r10d, 0x19
or r10d, eax
mov eax, ebx
xor eax, ecx
xor eax, r11d
mov edx, eax
add eax, eax
shr edx, 0x1f
or edx, eax
mov r9d, edx
shl r9d, 7
xor r9d, ecx
xor r9d, r10d
xor ebx, r10d
xor r10d, dword [rdi + 0x4c]
xor ebx, edx
ror ebx, 0x1b
mov eax, r10d
xor eax, dword [rdi + 0x44]
not r10d
xor ebx, dword [rdi + 0x40]
xor edx, eax
ror r9d, 0xa
xor r9d, dword [rdi + 0x48]
xor r9d, r10d
xor r10d, ebx
mov eax, r10d
and eax, edx
xor edx, r10d
xor eax, r9d
xor ebx, edx
and r9d, edx
mov r8d, eax
xor r9d, ebx
or r8d, edx
and ebx, eax
mov ecx, eax
xor r10d, ebx
shl eax, 0xd
xor r8d, ebx
shr ecx, 0x13
or ebx, r10d
or ecx, eax
xor ebx, r9d
and r9d, r10d
not ebx
mov edx, ebx
shr edx, 0x1d
lea eax, [rbx*8]
or edx, eax
lea eax, [rcx*8]
xor eax, edx
xor eax, r10d
mov ebx, eax
shl eax, 7
shr ebx, 0x19
or ebx, eax
mov eax, edx
xor eax, r9d
mov r9d, ebx
xor r9d, ecx
xor eax, ecx
xor eax, r8d
mov r8d, eax
add eax, eax
shr r8d, 0x1f
or r8d, eax
xor r9d, r8d
mov r10d, r8d
xor r8d, dword [rdi + 0x54]
shl r10d, 7
xor r10d, edx
ror r9d, 0x1b
xor r9d, dword [rdi + 0x50]
xor r10d, ebx
xor ebx, dword [rdi + 0x5c]
xor r9d, r8d
xor r8d, ebx
ror r10d, 0xa
xor r10d, dword [rdi + 0x58]
not ebx
xor r10d, ebx
mov ecx, r9d
and ecx, r8d
xor ecx, r10d
or r10d, r8d
xor r8d, ebx
mov edx, r10d
xor edx, r8d
and ebx, ecx
xor ebx, r9d
xor edx, ecx
xor r10d, r9d
mov eax, ebx
not r10d
and eax, r9d
mov r8d, ecx
xor eax, edx
shl ecx, 0xd
or edx, ebx
shr r8d, 0x13
or r8d, ecx
mov ecx, eax
shr ecx, 0x1d
lea eax, [rax*8]
or ecx, eax
lea eax, [r8*8]
xor ebx, ecx
xor edx, eax
xor ebx, r8d
xor edx, r10d
mov r11d, ebx
xor edx, ecx
shr r11d, 0x1f
mov r10d, edx
shl edx, 7
shr r10d, 0x19
lea eax, [rbx + rbx]
or r10d, edx
or r11d, eax
mov r9d, r10d
mov edx, r11d
shl edx, 7
xor r9d, r11d
xor edx, r10d
xor r9d, r8d
xor r10d, dword [rdi + 0x6c]
xor edx, ecx
mov ecx, r10d
ror edx, 0xa
xor edx, dword [rdi + 0x68]
ror r9d, 0x1b
not edx
xor r9d, dword [rdi + 0x60]
and r10d, r9d
xor r9d, ecx
xor r10d, edx
mov eax, r10d
mov r8d, r10d
xor eax, dword [rdi + 0x64]
xor r11d, eax
mov eax, ecx
or eax, edx
mov edx, r10d
xor eax, r9d
not r10d
xor eax, r11d
or r9d, r11d
or r8d, r9d
xor ecx, r9d
xor r8d, eax
xor edx, ecx
xor edx, r8d
mov r9d, r8d
shl r8d, 0xd
mov ecx, edx
and ecx, eax
shr r9d, 0x13
or r9d, r8d
xor ecx, r10d
lea eax, [rdx*8]
mov r8d, edx
shr r8d, 0x1d
or r8d, eax
lea eax, [r9*8]
xor eax, r8d
xor eax, ecx
mov r10d, eax
shl eax, 7
shr r10d, 0x19
or r10d, eax
mov eax, r8d
xor eax, r11d
xor eax, r9d
mov edx, eax
shr edx, 0x1f
add eax, eax
or edx, eax
mov r11d, edx
mov ecx, edx
xor edx, dword [rdi + 0x74]
xor ecx, r10d
shl r11d, 7
xor ecx, r9d
xor r11d, r8d
ror ecx, 0x1b
xor ecx, dword [rdi + 0x70]
xor r11d, r10d
xor r10d, dword [rdi + 0x7c]
ror r11d, 0xa
xor r11d, dword [rdi + 0x78]
mov eax, r11d
and r11d, edx
xor r11d, r10d
and r10d, edx
xor eax, r11d
xor r11d, edx
mov ebx, eax
xor edx, ecx
xor r10d, edx
or ebx, ecx
xor ebx, r11d
xor r11d, r10d
and r10d, ebx
xor r10d, eax
xor eax, r11d
not eax
and r11d, ebx
xor r11d, eax
and eax, ebx
xor eax, edx
xor eax, r10d
sub rbp, 1
jne 0x18001e840
xor eax, dword [rdi + 0x84]
xor r10d, dword [rdi + 0x88]
xor ebx, dword [rdi + 0x8c]
xor r11d, dword [rdi + 0x80]
test rsi, rsi
je 0x18001edbc
xor r11d, dword [rsi]
test r14, r14
je 0x18001edc4
mov dword [r14], r11d
test rsi, rsi
lea rcx, [rsi + 4]
lea rdx, [r14 + 4]
cmove rcx, rsi
test rcx, rcx
je 0x18001edda
xor eax, dword [rcx]
test rdx, rdx
je 0x18001ede1
mov dword [rdx], eax
add rdx, 4
lea rax, [rcx + 4]
test rcx, rcx
cmove rax, rcx
test rax, rax
je 0x18001edf8
xor r10d, dword [rax]
test rdx, rdx
je 0x18001ee00
mov dword [rdx], r10d
add rdx, 4
lea rcx, [rax + 4]
test rax, rax
cmove rcx, rax
test rcx, rcx
je 0x18001ee16
xor ebx, dword [rcx]
test rdx, rdx
je 0x18001ee1d
mov dword [rdx], ebx
mov rbx, qword [rsp + 0x10]
mov rbp, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
pop r14
ret