Function at 0x1401a7ea0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x140264330]
xor rax, rsp
mov qword [rbp], rax
lea r8, [rsp + 0x60]
mov rbx, rcx
mov r14, rdx
mov qword [rsp + 0x28], rdx
lea rcx, [rdx + 0x40]
sub r8, rdx
mov edx, 8
nop word [rax + rax]
mov eax, dword [rcx - 0x40]
lea rcx, [rcx + 4]
xor eax, dword [rcx + 0x3c]
xor eax, dword [rcx - 0x24]
xor eax, dword [rcx + 0x1c]
xor eax, dword [rcx - 4]
mov dword [r8 + rcx - 0x44], eax
dec rdx
jne 0x1401a7ef0
mov edx, dword [rsp + 0x7c]
mov r8d, dword [rsp + 0x6c]
mov r9d, dword [rsp + 0x68]
mov r11d, dword [rsp + 0x78]
mov edi, dword [rsp + 0x74]
mov r12d, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x64]
mov r10d, dword [rsp + 0x60]
xor r8d, edx
xor r9d, edx
lea rsi, [r14 + 8]
mov r15d, 5
xor r10d, edx
mov dword [rsp + 0x7c], r11d
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x74], r12d
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x6c], r9d
mov dword [rsp + 0x64], r10d
mov dword [rsp + 0x68], r13d
mov rax, rsi
mov ecx, r15d
nop
xor dword [rax - 8], edx
xor dword [rax - 4], r10d
xor dword [rax], r13d
xor dword [rax + 4], r9d
xor dword [rax + 8], r8d
xor dword [rax + 0xc], r12d
xor dword [rax + 0x10], edi
xor dword [rax + 0x14], r11d
lea rax, [rax + 0x20]
dec rcx
jne 0x1401a7f70
lea rcx, [rsp + 0x60]
mov r8d, 0xa0
mov rdx, r14
call sub.MSVCR120.dll_memcpy
lea rdi, [r14 + 0x18]
mov r8, r15
mov rdx, rdi
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [rdx + 4]
mov eax, dword [rdx]
lea rdx, [rdx + 0x20]
mov dword [rdx - 0x1c], eax
mov eax, dword [rdx - 0x24]
mov dword [rdx - 0x20], eax
mov eax, dword [rdx - 0x28]
mov dword [rdx - 0x24], eax
mov eax, dword [rdx - 0x2c]
xor eax, ecx
mov dword [rdx - 0x28], eax
mov eax, dword [rdx - 0x30]
xor eax, ecx
mov dword [rdx - 0x2c], eax
mov eax, dword [rdx - 0x34]
mov dword [rdx - 0x30], eax
mov eax, dword [rdx - 0x38]
mov dword [rdx - 0x38], ecx
xor eax, ecx
mov dword [rdx - 0x34], eax
dec r8
jne 0x1401a7fc0
mov r10d, 1
mov r9, rsi
mov r11, r15
nop word [rax + rax]
mov ecx, r10d
mov eax, 0x66666667
lea r9, [r9 + 0x20]
imul r10d
sar edx, 1
inc r10d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
movsxd rdx, ecx
shl rdx, 5
mov eax, dword [rsp + rdx + 0x60]
xor dword [r9 - 0x28], eax
mov eax, dword [rsp + rdx + 0x64]
xor dword [r9 - 0x24], eax
mov eax, dword [rsp + rdx + 0x68]
xor dword [r9 - 0x20], eax
mov eax, dword [rsp + rdx + 0x6c]
xor dword [r9 - 0x1c], eax
mov eax, dword [rsp + rdx + 0x70]
xor dword [r9 - 0x18], eax
mov eax, dword [rsp + rdx + 0x74]
xor dword [r9 - 0x14], eax
mov eax, dword [rsp + rdx + 0x78]
xor dword [r9 - 0x10], eax
mov eax, dword [rsp + rdx + 0x7c]
xor dword [r9 - 0xc], eax
dec r11
jne 0x1401a8010
lea rcx, [rsp + 0x60]
mov r8d, 0xa0
mov rdx, r14
call sub.MSVCR120.dll_memcpy
mov rdx, r15
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [rdi + 4]
mov eax, dword [rdi]
lea rdi, [rdi + 0x20]
mov dword [rdi - 0x1c], eax
mov eax, dword [rdi - 0x24]
mov dword [rdi - 0x20], eax
mov eax, dword [rdi - 0x28]
mov dword [rdi - 0x24], eax
mov eax, dword [rdi - 0x2c]
xor eax, ecx
mov dword [rdi - 0x28], eax
mov eax, dword [rdi - 0x30]
xor eax, ecx
mov dword [rdi - 0x2c], eax
mov eax, dword [rdi - 0x34]
mov dword [rdi - 0x30], eax
mov eax, ecx
xor eax, dword [rdi - 0x38]
mov dword [rdi - 0x38], ecx
mov dword [rdi - 0x34], eax
dec rdx
jne 0x1401a80a0
mov r9d, 4
mov r8, rsi
mov r10, r15
nop word [rax + rax]
mov ecx, r9d
mov eax, 0x66666667
lea r8, [r8 + 0x20]
imul r9d
sar edx, 1
inc r9d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
movsxd rdx, ecx
shl rdx, 5
mov eax, dword [rsp + rdx + 0x60]
xor dword [r8 - 0x28], eax
mov eax, dword [rsp + rdx + 0x64]
xor dword [r8 - 0x24], eax
mov eax, dword [rsp + rdx + 0x68]
xor dword [r8 - 0x20], eax
mov eax, dword [rsp + rdx + 0x6c]
xor dword [r8 - 0x1c], eax
mov eax, dword [rsp + rdx + 0x70]
xor dword [r8 - 0x18], eax
mov eax, dword [rsp + rdx + 0x74]
xor dword [r8 - 0x14], eax
mov eax, dword [rsp + rdx + 0x78]
xor dword [r8 - 0x10], eax
mov eax, dword [rsp + rdx + 0x7c]
xor dword [r8 - 0xc], eax
dec r10
jne 0x1401a80f0
nop dword [rax]
mov eax, dword [rbx]
lea rsi, [rsi + 0x20]
xor dword [rsi - 0x28], eax
mov eax, dword [rbx + 4]
xor dword [rsi - 0x24], eax
mov eax, dword [rbx + 8]
xor dword [rsi - 0x20], eax
mov eax, dword [rbx + 0xc]
xor dword [rsi - 0x1c], eax
mov eax, dword [rbx + 0x10]
xor dword [rsi - 0x18], eax
mov eax, dword [rbx + 0x14]
xor dword [rsi - 0x14], eax
mov eax, dword [rbx + 0x18]
xor dword [rsi - 0x10], eax
mov eax, dword [rbx + 0x1c]
xor dword [rsi - 0xc], eax
mov ecx, dword [rbx + 0x1c]
mov eax, dword [rbx + 0x18]
mov dword [rbx + 0x1c], eax
mov eax, dword [rbx + 0x14]
mov dword [rbx + 0x18], eax
mov eax, dword [rbx + 0x10]
mov dword [rbx + 0x14], eax
mov eax, dword [rbx + 0xc]
xor eax, ecx
mov dword [rbx + 0x10], eax
mov eax, dword [rbx + 8]
xor eax, ecx
mov dword [rbx + 0xc], eax
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
mov eax, dword [rbx]
mov dword [rbx], ecx
xor eax, ecx
mov dword [rbx + 4], eax
dec r15
jne 0x1401a8160
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
lea r13, [0x140264154]
lea r12, [0x140264194]
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm1
mov esi, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x50]
mov r15d, dword [rsp + 0x4c]
mov r9d, dword [rsp + 0x48]
mov r11d, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x40]
mov r10d, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x38]
xor esi, r9d
xor ebx, r11d
mov edx, edi
or edi, r10d
mov ecx, r15d
or r15d, r8d
xor edi, r11d
xor r15d, r9d
and r9d, ecx
and r11d, edx
not r10d
not r8d
xor r8d, r9d
xor r9d, esi
xor r10d, r11d
xor r11d, ebx
and ebx, edi
and esi, r15d
xor ebx, r10d
or r10d, r11d
xor esi, r8d
or r8d, r9d
xor r11d, ebx
and ebx, r10d
xor r9d, esi
and esi, r8d
xor edx, r10d
xor esi, r11d
not edi
xor ecx, r8d
xor r10d, edi
xor r8d, ebx
xor r9d, edx
not r15d
rol r11d, 2
mov edi, edx
xor r8d, r15d
xor r11d, esi
mov r15d, r10d
xor r15d, ecx
add r13, 8
rol edi, 2
xor edi, r9d
rol r9d, 0xe
xor r9d, edi
rol r10d, 2
xor r10d, r15d
rol ebx, 2
xor ebx, r8d
rol edi, 0xa
xor edi, dword [r13 - 0xc]
xor edi, r9d
rol r15d, 0xe
xor r15d, r10d
rol r8d, 0xe
xor r8d, ebx
rol esi, 0xe
xor esi, r11d
rol r9d, 1
xor r9d, dword [r13 - 8]
rol r10d, 0xa
xor r10d, r15d
rol ebx, 0xa
xor ebx, r8d
rol r11d, 0xa
xor r11d, esi
rol r15d, 1
rol r8d, 1
rol esi, 1
cmp r13, r12
jl 0x1401a8212
mov dword [rsp + 0x50], r8d
lea rax, [rsp + 0x38]
mov r8, r14
xor edx, edx
mov dword [rsp + 0x48], r9d
mov dword [rsp + 0x3c], r10d
sub r8, rax
mov dword [rsp + 0x44], r11d
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x4c], r15d
lea rax, [r8 + rdx*4]
lea rcx, [rsp + 0x38]
inc rdx
add rcx, rax
mov eax, dword [rsp + rdx*4 + 0x34]
mov dword [rcx], eax
mov eax, dword [rcx + 0x20]
mov dword [rsp + rdx*4 + 0x34], eax
cmp rdx, 8
jl 0x1401a8321
mov r9d, dword [rsp + 0x48]
mov ebx, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x50]
rol ebx, 1
mov r11d, dword [rsp + 0x54]
mov edi, dword [rsp + 0x44]
rol r8d, 1
mov esi, dword [rsp + 0x40]
mov r10d, dword [rsp + 0x3c]
mov r15d, dword [rsp + 0x38]
lea r13, [0x1402641d4]
rol r9d, 1
rol r11d, 1
nop word [rax + rax]
xor r11d, r9d
xor esi, edi
mov edx, r15d
or r15d, r10d
mov ecx, ebx
or ebx, r8d
xor r15d, edi
xor ebx, r9d
and r9d, ecx
and edi, edx
not r10d
not r8d
xor r8d, r9d
xor r9d, r11d
xor r10d, edi
xor edi, esi
and esi, r15d
and r11d, ebx
xor esi, r10d
or r10d, edi
xor r11d, r8d
or r8d, r9d
xor edi, esi
and esi, r10d
xor edx, r10d
not r15d
xor ecx, r8d
xor r10d, r15d
xor r9d, edx
not ebx
xor r9d, r11d
and r11d, r8d
xor r8d, esi
xor r8d, ebx
xor r11d, edi
rol esi, 2
xor esi, r8d
mov r15d, edx
rol edi, 2
xor edi, r11d
mov ebx, ecx
rol r15d, 2
xor r15d, r9d
xor ebx, r10d
rol r9d, 0xe
xor r9d, r15d
add r12, 8
rol r8d, 0xe
xor r8d, esi
rol r10d, 2
xor r10d, ebx
rol r15d, 0xa
xor r15d, dword [r12 - 0xc]
xor r15d, r9d
rol ebx, 0xe
xor ebx, r10d
rol r11d, 0xe
xor r11d, edi
rol r9d, 1
xor r9d, dword [r12 - 8]
rol r10d, 0xa
xor r10d, ebx
rol esi, 0xa
xor esi, r8d
rol edi, 0xa
xor edi, r11d
rol ebx, 1
rol r8d, 1
rol r11d, 1
cmp r12, r13
jl 0x1401a8380
mov r12d, dword [r14 + 0x40]
mov dword [r14 + 0x30], r9d
mov r9d, dword [r14 + 0x50]
rol r9d, 2
mov dword [r14 + 0x34], ebx
mov ebx, dword [r14 + 0x54]
mov dword [r14 + 0x38], r8d
mov r8d, dword [r14 + 0x58]
mov dword [r14 + 0x24], r10d
mov r10d, dword [r14 + 0x5c]
rol ebx, 2
mov dword [r14 + 0x3c], r11d
lea r11, [0x140264214]
rol r8d, 2
mov dword [r14 + 0x20], r15d
mov r15d, dword [r14 + 0x44]
mov dword [r14 + 0x28], esi
mov esi, dword [r14 + 0x48]
mov dword [r14 + 0x2c], edi
mov edi, dword [r14 + 0x4c]
rol r10d, 2
mov qword [rsp + 0x30], r11
nop word [rax + rax]
xor r10d, r9d
xor esi, edi
mov edx, r12d
or r12d, r15d
mov ecx, ebx
or ebx, r8d
xor r12d, edi
xor ebx, r9d
and r9d, ecx
and edi, edx
not r15d
not r8d
xor r8d, r9d
xor r9d, r10d
xor r15d, edi
xor edi, esi
and esi, r12d
and r10d, ebx
xor esi, r15d
or r15d, edi
xor r10d, r8d
or r8d, r9d
xor edi, esi
and esi, r15d
xor edx, r15d
not r12d
xor ecx, r8d
xor r15d, r12d
xor r9d, edx
not ebx
xor r9d, r10d
and r10d, r8d
xor r8d, esi
xor r8d, ebx
xor r10d, edi
rol esi, 2
xor esi, r8d
mov r12d, edx
rol edi, 2
xor edi, r10d
mov ebx, ecx
rol r12d, 2
xor r12d, r9d
xor ebx, r15d
rol r9d, 0xe
xor r9d, r12d
add r13, 8
rol r8d, 0xe
xor r8d, esi
rol r15d, 2
xor r15d, ebx
rol r12d, 0xa
xor r12d, dword [r13 - 0xc]
xor r12d, r9d
rol ebx, 0xe
xor ebx, r15d
rol r10d, 0xe
xor r10d, edi
rol r9d, 1
xor r9d, dword [r13 - 8]
rol r15d, 0xa
xor r15d, ebx
rol esi, 0xa
xor esi, r8d
rol edi, 0xa
xor edi, r10d
rol ebx, 1
rol r8d, 1
rol r10d, 1
cmp r13, r11
jl 0x1401a84c0
mov dword [r14 + 0x40], r12d
mov eax, dword [r14 + 0x60]
mov dword [r14 + 0x44], r15d
mov r11d, dword [r14 + 0x64]
mov dword [r14 + 0x48], esi
mov esi, dword [r14 + 0x68]
mov dword [r14 + 0x4c], edi
mov r13d, dword [r14 + 0x6c]
mov dword [r14 + 0x50], r9d
mov r9d, dword [r14 + 0x70]
mov dword [r14 + 0x54], ebx
mov ebx, dword [r14 + 0x74]
rol r9d, 3
mov dword [r14 + 0x58], r8d
mov r8d, dword [r14 + 0x78]
rol ebx, 3
mov dword [r14 + 0x5c], r10d
mov r12d, dword [r14 + 0x7c]
rol r8d, 3
mov dword [rsp + 0x20], eax
lea r10, [0x140264254]
rol r12d, 3
mov r14d, eax
nop word [rax + rax]
mov rax, qword [rsp + 0x30]
xor r12d, r9d
xor esi, r13d
mov edx, r14d
or r14d, r11d
mov ecx, ebx
xor r14d, r13d
or ebx, r8d
and r13d, edx
xor ebx, r9d
and r9d, ecx
not r11d
xor r11d, r13d
xor r13d, esi
and esi, r14d
xor esi, r11d
or r11d, r13d
not r8d
xor r8d, r9d
xor r9d, r12d
and r12d, ebx
xor r12d, r8d
or r8d, r9d
xor r13d, esi
and esi, r11d
xor edx, r11d
not r14d
xor r11d, r14d
xor ecx, r8d
xor r9d, edx
xor r9d, r12d
and r12d, r8d
xor r8d, esi
xor r12d, r13d
not ebx
rol esi, 2
xor r8d, ebx
add rax, 8
rol r13d, 2
xor esi, r8d
xor r13d, r12d
rol r8d, 0xe
xor r8d, esi
mov r14d, edx
rol r12d, 0xe
xor r12d, r13d
mov ebx, ecx
rol r14d, 2
xor r14d, r9d
xor ebx, r11d
rol r9d, 0xe
xor r9d, r14d
mov qword [rsp + 0x30], rax
rol esi, 0xa
xor esi, r8d
rol r11d, 2
xor r11d, ebx
rol r14d, 0xa
xor r14d, dword [rax - 0xc]
xor r14d, r9d
rol ebx, 0xe
xor ebx, r11d
rol r9d, 1
xor r9d, dword [rax - 8]
rol r11d, 0xa
xor r11d, ebx
rol r13d, 0xa
xor r13d, r12d
rol ebx, 1
rol r8d, 1
rol r12d, 1
cmp rax, r10
jl 0x1401a8600
mov dword [rsp + 0x20], r14d
mov r14, qword [rsp + 0x28]
mov eax, dword [rsp + 0x20]
mov r15d, dword [r14 + 0x80]
mov r10d, dword [r14 + 0x84]
mov edi, dword [r14 + 0x88]
mov dword [r14 + 0x70], r9d
mov r9d, dword [r14 + 0x90]
mov dword [r14 + 0x74], ebx
mov ebx, dword [r14 + 0x94]
mov dword [r14 + 0x78], r8d
mov r8d, dword [r14 + 0x98]
rol ebx, 4
mov dword [r14 + 0x64], r11d
mov r11d, dword [r14 + 0x9c]
rol r9d, 4
mov dword [r14 + 0x68], esi
mov esi, dword [r14 + 0x8c]
rol r8d, 4
mov dword [r14 + 0x7c], r12d
mov dword [r14 + 0x60], eax
mov dword [r14 + 0x6c], r13d
lea r12, [0x140264294]
lea r14, [0x140264254]
rol r11d, 4
nop dword [rax]
xor r11d, r9d
xor edi, esi
mov edx, r15d
or r15d, r10d
mov ecx, ebx
or ebx, r8d
xor r15d, esi
xor ebx, r9d
and r9d, ecx
and esi, edx
not r10d
not r8d
xor r8d, r9d
xor r9d, r11d
xor r10d, esi
xor esi, edi
and edi, r15d
and r11d, ebx
xor edi, r10d
or r10d, esi
xor r11d, r8d
or r8d, r9d
xor esi, edi
and edi, r10d
xor edx, r10d
not r15d
xor ecx, r8d
xor r10d, r15d
xor r9d, edx
not ebx
xor r9d, r11d
and r11d, r8d
xor r8d, edi
xor r8d, ebx
xor r11d, esi
rol edi, 2
xor edi, r8d
mov r15d, edx
rol esi, 2
xor esi, r11d
mov ebx, ecx
rol r15d, 2
xor r15d, r9d
xor ebx, r10d
rol r9d, 0xe
xor r9d, r15d
add r14, 8
rol r8d, 0xe
xor r8d, edi
rol r10d, 2
xor r10d, ebx
rol r15d, 0xa
xor r15d, dword [r14 - 0xc]
xor r15d, r9d
rol ebx, 0xe
xor ebx, r10d
rol r11d, 0xe
xor r11d, esi
rol r9d, 1
xor r9d, dword [r14 - 8]
rol r10d, 0xa
xor r10d, ebx
rol edi, 0xa
xor edi, r8d
rol esi, 0xa
xor esi, r11d
rol ebx, 1
rol r8d, 1
rol r11d, 1
cmp r14, r12
jl 0x1401a8770
mov r14, qword [rsp + 0x28]
mov dword [r14 + 0x80], r15d
mov dword [r14 + 0x84], r10d
mov dword [r14 + 0x88], edi
mov dword [r14 + 0x8c], esi
mov dword [r14 + 0x90], r9d
mov dword [r14 + 0x94], ebx
mov dword [r14 + 0x98], r8d
mov dword [r14 + 0x9c], r11d
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1401bb2c0
mov rbx, qword [rsp + 0x160]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret