Function at 0x4297f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2d8
vmovdqu8 ymm0, ymmword [0x0073ee40]
vmovdqu ymm5, ymmword [0x0073ef40]
movabs r13, 0x7000000000000000
xor eax, eax
xor esi, esi
vmovdqu8 ymmword [rsp + 0x1c0], ymm0
vmovdqu8 ymm0, ymmword [0x0073ee60]
vmovdqu ymmword [rsp + 0x80], ymm5
vmovdqu8 ymmword [rsp + 0x1e0], ymm0
vmovdqu8 ymm0, ymmword [0x0073ee80]
vmovdqu ymm5, ymmword [0x0073ef60]
vmovdqu8 ymmword [rsp + 0x200], ymm0
vmovdqu8 ymm0, ymmword [0x0073eea0]
vmovdqu ymmword [rsp + 0xa0], ymm5
vmovdqu8 ymmword [rsp + 0x220], ymm0
vmovdqu8 ymm0, ymmword [0x0073eec0]
vmovdqu ymm5, ymmword [0x0073ef40]
vmovdqu8 ymmword [rsp + 0x240], ymm0
vmovdqu8 ymm0, ymmword [0x0073eee0]
lea rdi, [rsp + 0x1c0]
vmovdqu8 ymmword [rsp + 0x260], ymm0
vmovdqu8 ymm0, ymmword [0x0073ef00]
vmovdqu ymmword [rsp + 0x120], ymm5
vmovdqu8 ymmword [rsp + 0x280], ymm0
vmovdqu ymm5, ymmword [0x0073ef60]
vmovdqu8 ymm0, ymmword [0x0073ef20]
mov qword [rsp + 0x20], rdi
mov r8, rdi
lea rcx, [rsp + 0x80]
xor edx, edx
lea rdi, [rsp + 0x120]
lea rbx, [rsp + 0x174]
lea rbp, [rsp + 0xd4]
lea r12, [rsp + 0x40]
movabs r14, 0x8000000000000000
mov byte [rsp + 0x2c0], 0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], r13
mov dword [rsp + 0xd0], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], r13
mov dword [rsp + 0x170], 0
vmovdqu8 ymmword [rsp + 0x2a0], ymm0
vmovdqu ymmword [rsp + 0x140], ymm5
mov qword [rsp + 0x30], rcx
vzeroupper
add rax, rbx
cmp rdx, 0x20
jae 0x429bcb
nop dword [rax]
test dl, 0x10
jne 0x429d28
test dl, 8
jne 0x429d50
test dl, 4
jne 0x429d68
test rdx, rdx
je 0x4299c0
movzx ecx, byte [r8]
mov byte [rax], cl
test dl, 2
jne 0x429d80
nop word [rax + rax]
add edx, dword [rsp + 0x170]
mov r15d, 0x40
mov ecx, edx
mov r8d, r15d
sub r8d, edx
mov dword [rsp + 0x170], edx
add rcx, rbx
xor edx, edx
call sub.msvcrt.dll_memset
mov r9d, dword [rsp + 0x170]
mov r8d, 1
mov rdx, rbx
mov rcx, rdi
or qword [rsp + 0x168], r14
call fcn.00427790
movabs rax, 0xff00000000000000
mov rcx, rdi
mov r9d, 8
mov r8d, 1
mov rdx, rbx
mov qword [rbx], 0
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], 0
mov qword [rbx + 0x28], 0
mov qword [rbx + 0x30], 0
mov qword [rbx + 0x38], 0
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x160], 0
call fcn.00427790
mov rax, qword [rsp + 0x120]
mov ecx, dword [rsp + 0xd0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x78], rax
test ecx, ecx
jne 0x429c78
mov r15d, 0x40
xor ecx, ecx
mov eax, 0x40
mov r10, r12
add rcx, rbp
mov r8, rax
mov rdx, r10
call sub.msvcrt.dll_memcpy
add dword [rsp + 0xd0], r15d
lea r15, [rsi + 1]
cmp rsi, 0x101
je 0x429d90
vmovdqu ymm1, ymmword [0x0073ef40]
vmovdqu ymm2, ymmword [0x0073ef60]
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], r13
mov dword [rsp + 0x170], 0
vmovdqu ymmword [rsp + 0x120], ymm1
vmovdqu ymmword [rsp + 0x140], ymm2
cmp r15, 0x40
jbe 0x429c60
mov rax, rsi
mov rdx, qword [rsp + 0x20]
shr rsi, 6
and rax, 0xffffffffffffffc0
mov r9d, 0x40
mov r8, rsi
mov rcx, rdi
mov qword [rsp + 0x28], rax
vzeroupper
call fcn.00427790
mov rax, qword [rsp + 0x28]
mov rsi, r15
sub rsi, rax
mov rdx, rsi
mov rsi, qword [rsp + 0x20]
lea r8, [rsi + rax]
mov eax, dword [rsp + 0x170]
mov rsi, r15
add rax, rbx
cmp rdx, 0x20
jb 0x429988
mov rcx, qword [r8]
lea r9, [rax + 8]
mov qword [rax], rcx
and r9, 0xfffffffffffffff8
mov rcx, qword [r8 + rdx - 0x20]
mov qword [rax + rdx - 0x20], rcx
mov rcx, qword [r8 + rdx - 0x18]
mov qword [rax + rdx - 0x18], rcx
mov rcx, qword [r8 + rdx - 0x10]
mov qword [rax + rdx - 0x10], rcx
mov rcx, qword [r8 + rdx - 8]
mov qword [rax + rdx - 8], rcx
sub rax, r9
sub r8, rax
add rax, rdx
and rax, 0xffffffffffffffe0
cmp rax, 0x20
jb 0x4299c0
mov qword [rsp + 0x28], rdx
and rax, 0xffffffffffffffe0
xor ecx, ecx
mov r15, qword [r8 + rcx + 8]
mov r11, qword [r8 + rcx + 0x10]
mov r10, qword [r8 + rcx + 0x18]
mov rdx, qword [r8 + rcx]
mov qword [r9 + rcx + 8], r15
mov qword [r9 + rcx], rdx
mov qword [r9 + rcx + 0x10], r11
mov qword [r9 + rcx + 0x18], r10
add rcx, 0x20
cmp rcx, rax
jb 0x429c23
mov rdx, qword [rsp + 0x28]
jmp 0x4299c0
mov r8, qword [rsp + 0x20]
mov rdx, r15
xor eax, eax
vzeroupper
jmp 0x429bbb
sub r15d, ecx
mov r8, r15
add rcx, rbp
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x30]
mov eax, 0x40
sub rax, r15
lea r10, [r12 + r15]
mov r9d, 0x40
mov r8d, 1
mov rdx, rbp
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x28], rax
mov dword [rsp + 0xd0], 0
call fcn.00427790
mov rax, qword [rsp + 0x28]
mov r10, qword [rsp + 0x38]
cmp rax, 0x40
jbe 0x429d14
mov r8d, 0x3f
sub r8, r15
mov rcx, qword [rsp + 0x30]
mov r15, r8
mov rdx, r10
mov r9d, 0x40
shr r8, 6
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], r10
call fcn.00427790
mov rax, qword [rsp + 0x38]
mov r10, qword [rsp + 0x28]
and r15, 0xffffffffffffffc0
sub rax, r15
add r10, r15
mov ecx, dword [rsp + 0xd0]
mov r15d, eax
jmp 0x429b02
vmovdqu8 xmm3, xmmword [r8]
vmovdqu8 xmmword [rax], xmm3
vmovdqu8 xmm4, xmmword [r8 + rdx - 0x10]
vmovdqu8 xmmword [rax + rdx - 0x10], xmm4
jmp 0x4299c0
mov rcx, qword [r8]
mov qword [rax], rcx
mov rcx, qword [r8 + rdx - 8]
mov qword [rax + rdx - 8], rcx
jmp 0x4299c0
mov ecx, dword [r8]
mov dword [rax], ecx
mov ecx, dword [r8 + rdx - 4]
mov dword [rax + rdx - 4], ecx
jmp 0x4299c0
movzx ecx, word [r8 + rdx - 2]
mov word [rax + rdx - 2], cx
jmp 0x4299c0
mov rcx, qword [rsp + 0x30]
mov rdx, rdi
call fcn.00428790
lea rdx, [0x0073ec00]
xor ecx, ecx
lea r8, [rdx + 0x40]
nop word [rax + rax]
movzx eax, byte [rdi]
inc rdx
xor al, byte [rdx - 1]
movzx eax, al
inc rdi
or ecx, eax
cmp rdx, r8
jne 0x429db0
lea eax, [rcx - 1]
shr eax, 8
and eax, 1
add rsp, 0x2d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret