Function at 0x140004290
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x8b8
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffc0
movzx eax, byte [section..data]
cmp al, 1
jne 0x1400042c4
call fcn.140004d20
jmp 0x140004d02
mov qword [rsp + 0x78], rcx
lea rcx, [rsp + 0x480]
mov rsi, r8
mov r8d, 0x400
call sub.VCRUNTIME140.dll_memcpy
mov rax, rsi
mov ecx, 6
nop word [rax + rax]
movaps xmm0, xmmword [rsp + rcx*8 + 0x450]
movaps xmm1, xmmword [rsp + rcx*8 + 0x460]
movaps xmm2, xmmword [rsp + rcx*8 + 0x470]
movaps xmm3, xmmword [rsp + rcx*8 + 0x480]
xorps xmm0, xmmword [rax + rcx*8 - 0x30]
xorps xmm1, xmmword [rax + rcx*8 - 0x20]
movaps xmmword [rsp + rcx*8 + 0x450], xmm0
movaps xmmword [rsp + rcx*8 + 0x460], xmm1
xorps xmm2, xmmword [rax + rcx*8 - 0x10]
xorps xmm3, xmmword [rax + rcx*8]
movaps xmmword [rsp + rcx*8 + 0x470], xmm2
movaps xmmword [rsp + rcx*8 + 0x480], xmm3
add rcx, 8
cmp rcx, 0x86
jne 0x1400042f0
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x480]
mov r8d, 0x400
call sub.VCRUNTIME140.dll_memcpy
xor r13d, r13d
nop
mov rcx, qword [rsp + r13*8 + 0xa0]
mov rax, qword [rsp + r13*8 + 0x80]
mov r9d, ecx
mov edx, eax
add rdx, rdx
imul rdx, r9
add rdx, rcx
add rdx, rax
mov r11, qword [rsp + r13*8 + 0xe0]
xor r11, rdx
rol r11, 0x20
mov rax, qword [rsp + r13*8 + 0x88]
mov r8, qword [rsp + r13*8 + 0xc0]
lea r9, [r11 + r8]
mov r10d, r11d
mov r8d, r8d
add r8, r8
imul r8, r10
add r8, r9
xor rcx, r8
rol rcx, 0x28
mov qword [rsp + 0x70], rcx
lea r9, [rcx + rdx]
mov r10d, ecx
mov ecx, edx
add rcx, rcx
imul rcx, r10
add rcx, r9
mov qword [rsp + 0x58], rcx
xor r11, rcx
rol r11, 0x30
lea rdx, [r11 + r8]
mov r9d, r11d
mov ecx, r8d
add rcx, rcx
imul rcx, r9
mov rbx, qword [rsp + r13*8 + 0xa8]
lea r8, [rbx + rax]
mov r9d, ebx
mov eax, eax
add rax, rax
imul rax, r9
add rax, r8
mov r9, qword [rsp + r13*8 + 0xe8]
xor r9, rax
rol r9, 0x20
add rcx, rdx
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + r13*8 + 0xc8]
lea r8, [r9 + rdx]
mov r10d, r9d
mov edx, edx
add rdx, rdx
imul rdx, r10
add rdx, r8
xor rbx, rdx
rol rbx, 0x28
lea r8, [rbx + rax]
mov r10d, ebx
mov eax, eax
add rax, rax
imul rax, r10
add rax, r8
mov qword [rsp + 0x60], rax
xor r9, rax
rol r9, 0x30
mov r8d, r9d
mov ecx, edx
add rcx, rcx
imul rcx, r8
add rcx, r9
add rcx, rdx
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + r13*8 + 0x90]
mov rdi, qword [rsp + r13*8 + 0xb0]
mov r10d, edi
mov r8d, eax
add r8, r8
imul r8, r10
add r8, rdi
add r8, rax
mov rdx, qword [rsp + r13*8 + 0xf0]
xor rdx, r8
rol rdx, 0x20
mov r10, qword [rsp + r13*8 + 0xd0]
mov eax, r10d
add rax, rax
mov r14d, edx
imul rax, r14
add r10, rdx
add rax, r10
xor rdi, rax
rol rdi, 0x28
mov ecx, r8d
add rcx, rcx
mov r10d, edi
imul rcx, r10
add r8, rdi
add rcx, r8
mov qword [rsp + 0x48], rcx
mov r8, qword [rsp + r13*8 + 0x98]
mov r15d, r8d
add r15, r15
mov r14, qword [rsp + r13*8 + 0xb8]
mov r10d, r14d
imul r15, r10
xor rdx, rcx
rol rdx, 0x30
add r8, r14
add r15, r8
mov r10d, eax
add r10, r10
mov r8, qword [rsp + r13*8 + 0xf8]
xor r8, r15
rol r8, 0x20
mov r12d, edx
imul r10, r12
mov rcx, qword [rsp + r13*8 + 0xd8]
mov r12d, ecx
add r12, r12
mov esi, r8d
imul r12, rsi
add rcx, r8
add r12, rcx
add rax, rdx
xor r14, r12
rol r14, 0x28
add r10, rax
mov ecx, r15d
add rcx, rcx
mov eax, r14d
imul rcx, rax
add rcx, r14
add rcx, r15
mov qword [rsp + 0x50], rcx
xor r8, rcx
rol r8, 0x30
mov eax, r12d
add rax, rax
mov ecx, r8d
imul rax, rcx
add rax, r8
add rax, r12
mov r12, qword [rsp + 0x40]
xor rbx, r12
rol rbx, 1
mov rsi, qword [rsp + 0x58]
mov r15d, esi
add r15, r15
mov ecx, ebx
imul r15, rcx
add r15, rbx
add r15, rsi
xor r8, r15
rol r8, 0x20
mov esi, r10d
add rsi, rsi
mov ecx, r8d
imul rsi, rcx
xor rdi, r10
add rsi, r8
add rsi, r10
xor rbx, rsi
rol rbx, 0x28
mov ecx, r15d
add rcx, rcx
mov r10d, ebx
imul rcx, r10
add rcx, rbx
add rcx, r15
mov qword [rsp + r13*8 + 0x80], rcx
xor rcx, r8
rol rcx, 0x30
mov qword [rsp + r13*8 + 0xf8], rcx
lea r10, [rcx + rsi]
mov ecx, ecx
mov r8d, esi
add r8, r8
imul r8, rcx
add r8, r10
mov qword [rsp + r13*8 + 0xd0], r8
xor r8, rbx
rol rdi, 1
mov rsi, qword [rsp + 0x60]
mov r10d, esi
add r10, r10
mov ecx, edi
imul r10, rcx
add r10, rdi
add r10, rsi
xor r11, r10
rol r11, 0x20
mov esi, r11d
add rsi, rsi
mov ecx, eax
imul rsi, rcx
xor r14, rax
rol r8, 1
add rax, r11
add rsi, rax
xor rdi, rsi
rol rdi, 0x28
mov qword [rsp + r13*8 + 0xa8], r8
mov eax, r10d
add rax, rax
mov ecx, edi
imul rax, rcx
add rax, rdi
add rax, r10
mov qword [rsp + r13*8 + 0x88], rax
xor rax, r11
rol rax, 0x30
mov qword [rsp + r13*8 + 0xe0], rax
lea rcx, [rax + rsi]
mov eax, eax
mov r8d, esi
add r8, r8
imul r8, rax
add r8, rcx
rol r14, 1
mov qword [rsp + r13*8 + 0xd8], r8
xor r8, rdi
rol r8, 1
mov r11, qword [rsp + 0x70]
mov r10, qword [rsp + 0x68]
xor r11, r10
mov qword [rsp + r13*8 + 0xb0], r8
mov rax, qword [rsp + 0x48]
lea rcx, [r14 + rax]
mov r8d, r14d
mov eax, eax
add rax, rax
imul rax, r8
add rax, rcx
xor r9, rax
rol r9, 0x20
mov r8, r10
lea rcx, [r9 + r10]
mov r10d, r9d
mov r8d, r8d
add r8, r8
imul r8, r10
add r8, rcx
xor r14, r8
rol r14, 0x28
mov ecx, r14d
mov r10d, eax
add r10, r10
imul r10, rcx
add rax, r14
add r10, rax
mov qword [rsp + r13*8 + 0x90], r10
xor r10, r9
rol r10, 0x30
mov qword [rsp + r13*8 + 0xe8], r10
lea rax, [r10 + r8]
mov ecx, r10d
mov r8d, r8d
add r8, r8
imul r8, rcx
mov r10, r11
rol r10, 1
add r8, rax
mov qword [rsp + r13*8 + 0xc0], r8
xor r8, r14
mov r9, qword [rsp + 0x50]
mov ecx, r9d
mov eax, r10d
add rax, rax
imul rax, rcx
rol r8, 1
add rax, r9
add rax, r10
xor rdx, rax
rol rdx, 0x20
mov qword [rsp + r13*8 + 0xb8], r8
mov r8, r12
mov r9d, edx
mov r8d, r8d
add r8, r8
imul r8, r9
add r8, rdx
add r8, r12
xor r10, r8
rol r10, 0x28
mov ecx, r10d
mov r9d, eax
add r9, r9
imul r9, rcx
add rax, r10
add r9, rax
mov qword [rsp + r13*8 + 0x98], r9
xor r9, rdx
rol r9, 0x30
mov qword [rsp + r13*8 + 0xf0], r9
mov ecx, r9d
mov edx, r8d
add rdx, rdx
imul rdx, rcx
add rdx, r9
add rdx, r8
mov qword [rsp + r13*8 + 0xc8], rdx
xor rdx, r10
rol rdx, 1
mov qword [rsp + r13*8 + 0xa0], rdx
add r13, 0x10
cmp r13, 0x80
jne 0x140004370
mov r13d, 0x388
nop dword [rax]
mov rdx, qword [rsp + r13 - 0x208]
mov rax, qword [rsp + r13 - 0x308]
mov r9d, edx
mov ecx, eax
add rcx, rcx
imul rcx, r9
add rcx, rdx
add rcx, rax
mov rsi, qword [rsp + r13 - 8]
xor rsi, rcx
rol rsi, 0x20
mov rax, qword [rsp + r13 - 0x300]
mov r8, qword [rsp + r13 - 0x108]
mov r11d, esi
mov r9d, r8d
add r9, r9
imul r9, r11
add r9, rsi
add r9, r8
xor rdx, r9
rol rdx, 0x28
mov qword [rsp + 0x70], rdx
lea r8, [rdx + rcx]
mov r10d, edx
mov ecx, ecx
add rcx, rcx
imul rcx, r10
add rcx, r8
mov qword [rsp + 0x58], rcx
xor rsi, rcx
rol rsi, 0x30
lea r8, [rsi + r9]
mov r10d, esi
mov ecx, r9d
add rcx, rcx
imul rcx, r10
mov rbx, qword [rsp + r13 - 0x200]
lea r9, [rbx + rax]
mov r10d, ebx
mov eax, eax
add rax, rax
imul rax, r10
add rax, r9
mov r10, qword [rsp + r13]
xor r10, rax
rol r10, 0x20
add rcx, r8
mov qword [rsp + 0x68], rcx
mov r8, qword [rsp + r13 - 0x100]
lea r9, [r10 + r8]
mov r11d, r10d
mov r8d, r8d
add r8, r8
imul r8, r11
add r8, r9
xor rbx, r8
rol rbx, 0x28
lea r9, [rbx + rax]
mov r11d, ebx
mov eax, eax
add rax, rax
imul rax, r11
add rax, r9
mov qword [rsp + 0x60], rax
xor r10, rax
rol r10, 0x30
mov r9d, r10d
mov ecx, r8d
add rcx, rcx
imul rcx, r9
add rcx, r10
add rcx, r8
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + r13 - 0x288]
mov rdi, qword [rsp + r13 - 0x188]
mov r11d, edi
mov r9d, eax
add r9, r9
imul r9, r11
add r9, rdi
add r9, rax
mov r8, qword [rsp + r13 + 0x78]
xor r8, r9
rol r8, 0x20
mov r11, qword [rsp + r13 - 0x88]
mov eax, r11d
add rax, rax
mov r14d, r8d
imul rax, r14
add r11, r8
add rax, r11
xor rdi, rax
rol rdi, 0x28
mov ecx, r9d
add rcx, rcx
mov r11d, edi
imul rcx, r11
add r9, rdi
add rcx, r9
mov qword [rsp + 0x48], rcx
mov r9, qword [rsp + r13 - 0x280]
mov r15d, r9d
add r15, r15
mov r14, qword [rsp + r13 - 0x180]
mov r11d, r14d
imul r15, r11
xor r8, rcx
rol r8, 0x30
add r9, r14
add r15, r9
mov r11d, eax
add r11, r11
mov r9, qword [rsp + r13 + 0x80]
xor r9, r15
rol r9, 0x20
mov r12d, r8d
imul r11, r12
mov rcx, qword [rsp + r13 - 0x80]
mov r12d, ecx
add r12, r12
mov edx, r9d
imul r12, rdx
add rcx, r9
add r12, rcx
add rax, r8
xor r14, r12
rol r14, 0x28
add r11, rax
mov ecx, r15d
add rcx, rcx
mov eax, r14d
imul rcx, rax
add rcx, r14
add rcx, r15
mov qword [rsp + 0x50], rcx
xor r9, rcx
rol r9, 0x30
mov eax, r12d
add rax, rax
mov ecx, r9d
imul rax, rcx
add rax, r9
add rax, r12
mov r12, qword [rsp + 0x40]
xor rbx, r12
rol rbx, 1
mov rdx, qword [rsp + 0x58]
mov r15d, edx
add r15, r15
mov ecx, ebx
imul r15, rcx
add r15, rbx
add r15, rdx
xor r9, r15
rol r9, 0x20
mov ecx, r11d
add rcx, rcx
mov edx, r9d
imul rcx, rdx
xor rdi, r11
add rcx, r9
add rcx, r11
xor rbx, rcx
rol rbx, 0x28
mov edx, r15d
add rdx, rdx
mov r11d, ebx
imul rdx, r11
add rdx, rbx
add rdx, r15
mov qword [rsp + r13 - 0x308], rdx
xor rdx, r9
rol rdx, 0x30
mov qword [rsp + r13 + 0x80], rdx
lea r9, [rdx + rcx]
mov edx, edx
mov ecx, ecx
add rcx, rcx
imul rcx, rdx
add rcx, r9
mov qword [rsp + r13 - 0x88], rcx
xor rcx, rbx
rol rdi, 1
mov r11, qword [rsp + 0x60]
mov r9d, r11d
add r9, r9
mov edx, edi
imul r9, rdx
add r9, rdi
add r9, r11
xor rsi, r9
rol rsi, 0x20
mov r11d, esi
add r11, r11
mov edx, eax
imul r11, rdx
xor r14, rax
rol rcx, 1
add rax, rsi
add r11, rax
xor rdi, r11
rol rdi, 0x28
mov qword [rsp + r13 - 0x200], rcx
mov eax, r9d
add rax, rax
mov ecx, edi
imul rax, rcx
add rax, rdi
add rax, r9
mov qword [rsp + r13 - 0x300], rax
xor rax, rsi
rol rax, 0x30
mov qword [rsp + r13 - 8], rax
lea rcx, [rax + r11]
mov eax, eax
mov edx, r11d
add rdx, rdx
imul rdx, rax
add rdx, rcx
rol r14, 1
mov qword [rsp + r13 - 0x80], rdx
xor rdx, rdi
rol rdx, 1
mov r11, qword [rsp + 0x70]
mov r9, qword [rsp + 0x68]
xor r11, r9
mov qword [rsp + r13 - 0x188], rdx
mov rax, qword [rsp + 0x48]
lea rcx, [r14 + rax]
mov edx, r14d
mov eax, eax
add rax, rax
imul rax, rdx
add rax, rcx
xor r10, rax
rol r10, 0x20
lea rdx, [r10 + r9]
mov rcx, r9
mov r9d, r10d
mov ecx, ecx
add rcx, rcx
imul rcx, r9
add rcx, rdx
xor r14, rcx
rol r14, 0x28
mov edx, r14d
mov r9d, eax
add r9, r9
imul r9, rdx
add rax, r14
add r9, rax
mov qword [rsp + r13 - 0x288], r9
xor r9, r10
rol r9, 0x30
mov qword [rsp + r13], r9
lea rax, [r9 + rcx]
mov edx, r9d
mov ecx, ecx
add rcx, rcx
imul rcx, rdx
mov r10, r11
rol r10, 1
add rcx, rax
mov qword [rsp + r13 - 0x108], rcx
xor rcx, r14
mov r9, qword [rsp + 0x50]
mov edx, r9d
mov eax, r10d
add rax, rax
imul rax, rdx
rol rcx, 1
add rax, r9
add rax, r10
xor r8, rax
rol r8, 0x20
mov qword [rsp + r13 - 0x180], rcx
mov rcx, r12
mov r9d, r8d
mov ecx, ecx
add rcx, rcx
imul rcx, r9
add rcx, r8
add rcx, r12
xor r10, rcx
rol r10, 0x28
mov edx, r10d
mov r9d, eax
add r9, r9
imul r9, rdx
add rax, r10
add r9, rax
mov qword [rsp + r13 - 0x280], r9
xor r9, r8
rol r9, 0x30
mov qword [rsp + r13 + 0x78], r9
lea rax, [r9 + rcx]
mov edx, r9d
mov ecx, ecx
add rcx, rcx
imul rcx, rdx
add rcx, rax
mov qword [rsp + r13 - 0x100], rcx
xor rcx, r10
rol rcx, 1
mov qword [rsp + r13 - 0x208], rcx
add r13, 0x10
cmp r13, 0x408
jne 0x140004810
mov eax, 6
nop
movaps xmm0, xmmword [rsp + rax*8 + 0x50]
movaps xmm1, xmmword [rsp + rax*8 + 0x60]
movaps xmm2, xmmword [rsp + rax*8 + 0x70]
movaps xmm3, xmmword [rsp + rax*8 + 0x80]
xorps xmm0, xmmword [rsp + rax*8 + 0x450]
xorps xmm1, xmmword [rsp + rax*8 + 0x460]
movaps xmmword [rsp + rax*8 + 0x50], xmm0
movaps xmmword [rsp + rax*8 + 0x60], xmm1
xorps xmm2, xmmword [rsp + rax*8 + 0x470]
xorps xmm3, xmmword [rsp + rax*8 + 0x480]
movaps xmmword [rsp + rax*8 + 0x70], xmm2
movaps xmmword [rsp + rax*8 + 0x80], xmm3
add rax, 8
cmp rax, 0x86
jne 0x140004c90
lea rdx, [rsp + 0x80]
mov r8d, 0x400
mov rcx, qword [rsp + 0x78]
call sub.VCRUNTIME140.dll_memcpy
nop
lea rsp, [rbp + 0x838]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret