Function at 0x14002b2a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x14008e1c0]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r11, rdx
mov qword [rbp - 0x61], rcx
xor r9d, r9d
lea r10, [rbp - 0x19]
lea eax, [r9*4]
inc r9d
movzx r8d, byte [rax + r11 + 1]
lea r10, [r10 + 4]
mov edx, eax
movzx eax, byte [rax + r11]
shl eax, 8
or r8d, eax
movzx eax, byte [rdx + r11 + 2]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdx + r11 + 3]
shl r8d, 8
or r8d, eax
mov dword [r10 - 4], r8d
cmp r9d, 0x10
jb 0x14002b2e0
movups xmm0, xmmword [rcx]
mov r15d, dword [rcx + 0x20]
mov r13d, dword [rcx + 0x24]
xor r15d, 0x243f6a88
mov ebx, dword [rcx + 0x28]
xor r13d, 0x85a308d3
mov eax, dword [rcx + 0x2c]
xor ebx, 0x13198a2e
movups xmm1, xmmword [rcx + 0x10]
xor eax, 0x3707344
cmp byte [rcx + 0x40], 0
movups xmmword [rbp - 0x59], xmm0
mov dword [rsp + 0x18], eax
movaps xmm0, xmmword [0x140062e20]
movups xmmword [rbp - 0x29], xmm0
mov esi, dword [rbp - 0x29]
mov r14d, dword [rbp - 0x25]
mov edi, dword [rbp - 0x21]
mov edx, dword [rbp - 0x1d]
movups xmmword [rbp - 0x49], xmm1
jne 0x14002b38b
xor esi, dword [rcx + 0x30]
xor r14d, dword [rcx + 0x30]
xor edi, dword [rcx + 0x34]
xor edx, dword [rcx + 0x34]
mov eax, dword [rbp - 0x3d]
lea r12, [0x140062d10]
mov ecx, dword [rbp - 0x41]
lea r10, [0x140062e10]
mov r8d, dword [rbp - 0x51]
mov r11d, dword [rbp - 0x59]
mov dword [rsp + 0x20], eax
mov eax, dword [rbp - 0x45]
mov dword [rsp + 0x14], eax
mov eax, dword [rbp - 0x4d]
mov dword [rsp + 4], edx
mov edx, dword [rbp - 0x49]
mov dword [rsp + 0xc], eax
mov eax, dword [rbp - 0x55]
mov dword [rsp + 0x1c], ecx
mov ecx, dword [rsp + 4]
mov dword [rsp + 8], eax
mov qword [rsp + 0x28], r12
mov qword [rbp - 0x69], select
mov dword [rsp + 0x10], edx
mov dword [rsp], r8d
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r12]
lea r9, [rax*4]
movzx eax, byte [r12 + 1]
lea r8, [rax*4]
mov eax, dword [r8 + r10]
xor eax, dword [rbp + r9 - 0x19]
mov r12d, dword [rbp + r8 - 0x19]
add eax, edx
add r11d, eax
mov eax, r11d
mov dword [rsp + 4], r11d
xor eax, esi
mov r10d, r11d
shl eax, 0x10
xor r10d, esi
shr r10d, 0x10
lea rsi, [0x140062e10]
xor r12d, dword [r9 + rsi]
or r10d, eax
add r12d, dword [rsp + 4]
lea edx, [r10 + r15]
mov r15, qword [rsp + 0x28]
mov eax, edx
mov r11d, edx
xor eax, dword [rsp + 0x10]
xor r11d, dword [rsp + 0x10]
shr eax, 0xc
shl r11d, 0x14
or r11d, eax
add r12d, r11d
mov eax, r12d
mov r8d, r12d
xor eax, r10d
xor r8d, r10d
shr eax, 8
shl r8d, 0x18
or r8d, eax
mov dword [rsp + 0x10], r8d
lea eax, [r8 + rdx]
mov r8d, dword [rsp + 8]
mov dword [rbp - 0x39], eax
mov edx, r11d
xor r11d, eax
xor edx, eax
movzx eax, byte [r15 + 3]
shr r11d, 7
shl edx, 0x19
or edx, r11d
lea r9, [rax*4]
mov dword [rbp - 0x75], edx
movzx eax, byte [r15 + 2]
lea rdx, [rax*4]
mov eax, dword [r9 + rsi]
xor eax, dword [rbp + rdx - 0x19]
mov esi, dword [rsp + 0x14]
add eax, esi
add r8d, eax
mov r11d, r8d
mov dword [rsp + 8], r8d
xor r11d, r14d
mov eax, r8d
xor eax, r14d
shr r11d, 0x10
shl eax, 0x10
lea r14, [0x140062e10]
or r11d, eax
lea r8d, [r11 + r13]
mov r13d, dword [rbp + r9 - 0x19]
xor r13d, dword [rdx + r14]
mov r10d, r8d
xor r10d, esi
mov eax, r8d
xor eax, esi
shl r10d, 0x14
shr eax, 0xc
or r10d, eax
mov eax, r11d
add r13d, r10d
add r13d, dword [rsp + 8]
xor eax, r13d
shl eax, 0x18
mov edx, dword [rsp]
mov esi, r10d
xor r11d, r13d
shr r11d, 8
or eax, r11d
mov dword [rbp - 0x79], eax
add eax, r8d
xor r10d, eax
mov dword [rbp - 0x35], eax
xor esi, eax
shr r10d, 7
movzx eax, byte [r15 + 5]
shl esi, 0x19
or esi, r10d
lea r9, [rax*4]
movzx eax, byte [r15 + 4]
lea r8, [rax*4]
mov eax, dword [rbp + r8 - 0x19]
xor eax, dword [r9 + r14]
mov r14d, dword [rsp + 0x1c]
add eax, r14d
add edx, eax
mov eax, edx
mov dword [rsp], edx
xor eax, edi
mov r11d, edx
shl eax, 0x10
xor r11d, edi
shr r11d, 0x10
lea rdi, [0x140062e10]
or r11d, eax
lea edx, [rbx + r11]
mov eax, edx
mov r10d, edx
xor eax, r14d
xor r10d, r14d
shr eax, 0xc
shl r10d, 0x14
or r10d, eax
mov eax, dword [r8 + rdi]
xor eax, dword [rbp + r9 - 0x19]
mov r14d, r10d
add eax, r10d
mov r8d, r11d
add eax, dword [rsp]
xor r8d, eax
mov dword [rsp], eax
xor r11d, eax
shl r8d, 0x18
movzx eax, byte [r15 + 6]
shr r11d, 8
or r8d, r11d
mov r11d, dword [rsp + 0x20]
mov r9d, r11d
mov dword [rbp - 0x71], r8d
lea ebx, [rdx + r8]
lea r8, [rax*4]
xor r10d, ebx
movzx eax, byte [r15 + 7]
xor r14d, ebx
shr r10d, 7
shl r14d, 0x19
or r14d, r10d
lea rdx, [rax*4]
mov eax, dword [rdx + rdi]
xor eax, dword [rbp + r8 - 0x19]
mov edi, dword [rsp + 0xc]
add eax, r11d
add edi, eax
mov r10d, edi
mov eax, edi
xor eax, ecx
xor r10d, ecx
shl eax, 0x10
shr r10d, 0x10
or r10d, eax
mov eax, dword [rsp + 0x18]
add eax, r10d
xor r9d, eax
shr r9d, 0xc
xor r11d, eax
mov rcx, qword [rsp + 0x28]
shl r11d, 0x14
or r9d, r11d
mov r11d, dword [rbp + rdx - 0x19]
mov r15d, r9d
lea rdx, [0x140062e10]
xor r11d, dword [r8 + rdx]
mov edx, r10d
add r11d, r9d
add r11d, edi
xor edx, r11d
mov dword [rsp + 0xc], r11d
xor r10d, r11d
shl edx, 0x18
shr r10d, 8
or edx, r10d
lea edi, [rax + rdx]
movzx eax, byte [rcx + 9]
xor r9d, edi
xor r15d, edi
shr r9d, 7
shl r15d, 0x19
or r15d, r9d
lea r9, [rax*4]
movzx eax, byte [rcx + 8]
lea rcx, [0x140062e10]
lea r8, [rax*4]
mov r10d, dword [rbp + r8 - 0x19]
xor r10d, dword [r9 + rcx]
add r10d, r12d
mov r12, qword [rsp + 0x28]
add r10d, esi
mov eax, r10d
mov r11d, r10d
xor eax, edx
xor r11d, edx
shl eax, 0x10
shr r11d, 0x10
or r11d, eax
lea edx, [rbx + r11]
mov eax, edx
mov ebx, edx
xor eax, esi
xor ebx, esi
shr eax, 0xc
shl ebx, 0x14
or ebx, eax
mov eax, dword [r8 + rcx]
xor eax, dword [rbp + r9 - 0x19]
mov ecx, r11d
add eax, ebx
add eax, r10d
xor ecx, eax
mov dword [rsp + 4], eax
xor r11d, eax
mov dword [rbp - 0x59], eax
shl ecx, 0x18
shr r11d, 8
or ecx, r11d
mov dword [rbp - 0x1d], ecx
lea eax, [rdx + rcx]
mov edx, ebx
xor edx, eax
mov dword [rbp - 0x6d], eax
xor ebx, eax
shl edx, 0x19
mov dword [rbp - 0x31], eax
movzx eax, byte [r12 + 0xb]
shr ebx, 7
or edx, ebx
mov dword [rsp + 0x14], edx
lea r8, [rax*4]
mov dword [rbp - 0x45], edx
movzx eax, byte [r12 + 0xa]
lea rdx, [0x140062e10]
mov r9d, dword [rbp + rax*4 - 0x19]
xor r9d, dword [r8 + rdx]
mov edx, dword [rsp + 0x10]
add r9d, r14d
add r9d, r13d
mov r10d, edx
xor r10d, r9d
lea r13, [0x140062e10]
mov eax, dword [r13 + rax*4]
xor edx, r9d
xor eax, dword [rbp + r8 - 0x19]
mov r11d, r14d
shl edx, 0x10
mov ebx, r15d
shr r10d, 0x10
or r10d, edx
mov esi, r10d
lea edx, [rdi + r10]
xor r11d, edx
xor r14d, edx
shl r11d, 0x14
shr r14d, 0xc
or r11d, r14d
add eax, r11d
add eax, r9d
xor r10d, eax
mov dword [rsp + 8], eax
xor esi, eax
mov dword [rbp - 0x55], eax
shr r10d, 8
shl esi, 0x18
or esi, r10d
mov dword [rbp - 0x29], esi
lea eax, [rdx + rsi]
mov edx, r11d
xor r11d, eax
mov dword [rsp + 0x18], eax
xor edx, eax
mov dword [rbp - 0x2d], eax
movzx eax, byte [r12 + 0xd]
shr r11d, 7
shl edx, 0x19
or edx, r11d
lea r9, [rax*4]
mov dword [rsp + 0x1c], edx
movzx eax, byte [r12 + 0xc]
mov dword [rbp - 0x41], edx
mov edx, dword [rbp - 0x39]
lea r8, [rax*4]
mov r10d, dword [rbp + r8 - 0x19]
xor r10d, dword [r9 + r13]
add r10d, r15d
add r10d, dword [rsp]
mov r11d, r10d
mov eax, r10d
xor eax, dword [rbp - 0x79]
xor r11d, dword [rbp - 0x79]
shl eax, 0x10
shr r11d, 0x10
or r11d, eax
mov eax, dword [r8 + r13]
xor eax, dword [rbp + r9 - 0x19]
add edx, r11d
xor ebx, edx
xor r15d, edx
shl ebx, 0x14
mov r14d, r11d
shr r15d, 0xc
or ebx, r15d
add eax, ebx
add eax, r10d
xor r14d, eax
mov dword [rsp], eax
xor r11d, eax
mov dword [rbp - 0x51], eax
mov eax, ebx
shl r14d, 0x18
shr r11d, 8
or r14d, r11d
mov dword [rbp - 0x25], r14d
lea r15d, [rdx + r14]
xor eax, r15d
mov dword [rbp - 0x39], r15d
xor ebx, r15d
shl eax, 0x19
shr ebx, 7
or eax, ebx
mov edi, dword [rbp - 0x75]
mov ebx, edi
mov edx, dword [rbp - 0x35]
mov dword [rsp + 0x20], eax
mov dword [rbp - 0x3d], eax
movzx eax, byte [r12 + 0xf]
lea r9, [rax*4]
movzx eax, byte [r12 + 0xe]
add r12, 0x10
mov qword [rsp + 0x28], r12
lea r8, [rax*4]
mov r10d, dword [rbp + r8 - 0x19]
xor r10d, dword [r9 + r13]
add r10d, edi
add r10d, dword [rsp + 0xc]
mov r11d, r10d
mov eax, r10d
xor r11d, dword [rbp - 0x71]
xor eax, dword [rbp - 0x71]
shl eax, 0x10
shr r11d, 0x10
or r11d, eax
mov eax, dword [r8 + r13]
xor eax, dword [rbp + r9 - 0x19]
add edx, r11d
xor ebx, edx
xor edi, edx
shr edi, 0xc
shl ebx, 0x14
or ebx, edi
mov edi, r11d
add eax, ebx
add eax, r10d
lea r10, [0x140062e10]
xor edi, eax
mov dword [rsp + 0xc], eax
xor r11d, eax
shl edi, 0x18
shr r11d, 8
or edi, r11d
mov dword [rbp - 0x4d], eax
mov r11d, dword [rsp + 4]
mov dword [rbp - 0x21], edi
lea r13d, [rdx + rdi]
mov edx, ebx
xor edx, r13d
mov dword [rbp - 0x35], r13d
xor ebx, r13d
shl edx, 0x19
shr ebx, 7
or edx, ebx
mov ebx, dword [rbp - 0x6d]
sub qword [rbp - 0x69], 1
mov dword [rsp + 0x10], edx
mov dword [rbp - 0x49], edx
jne 0x14002b3f0
mov rcx, qword [rbp - 0x61]
lea r9, [rbp - 0x55]
mov r8d, 2
lea r10d, [r8 + 2]
lea rax, [r8 - 2]
and eax, 7
lea r9, [r9 + 0x10]
lea rdx, [rcx + rax*4]
mov eax, dword [r9 - 0x14]
xor dword [rdx], eax
lea rax, [r8 - 1]
and eax, 7
lea rdx, [rcx + rax*4]
mov eax, dword [r9 - 0x10]
xor dword [rdx], eax
mov rax, r8
and eax, 7
lea rdx, [rcx + rax*4]
mov eax, dword [r9 - 0xc]
xor dword [rdx], eax
lea rax, [r8 + 1]
and eax, 7
add r8, 4
lea rdx, [rcx + rax*4]
mov eax, dword [r9 - 8]
xor dword [rdx], eax
sub r10, 1
jne 0x14002b971
mov r8d, dword [rcx + 0x20]
xor dword [rcx], r8d
mov r9d, dword [rcx + 0x24]
xor dword [rcx + 4], r9d
mov edx, dword [rcx + 0x28]
xor dword [rcx + 8], edx
mov eax, dword [rcx + 0x2c]
xor dword [rcx + 0xc], eax
xor dword [rcx + 0x10], r8d
xor dword [rcx + 0x14], r9d
xor dword [rcx + 0x18], edx
xor dword [rcx + 0x1c], eax
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400496c0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret