Function at 0x14017fc65
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc0
vmovdqa xmmword [rsp + 0xb0], xmm6
mov rdi, r8
mov rsi, rcx
mov rax, qword [0x1402e0038]
xor rax, rsp
mov qword [rsp + 0xa8], rax
vpbroadcastb ymm0, byte [0x1402a24ce]
lea rbx, [rsp + 0x20]
vmovdqu ymmword [rbx + 0x20], ymm0
vmovdqu ymmword [rbx], ymm0
vmovups ymm0, ymmword [rdx]
vmovups ymm1, ymmword [rdx + 0x20]
vmovups ymmword [rsp + 0x60], ymm0
vmovups ymmword [rsp + 0x80], ymm1
xor r14d, r14d
lea r8, [rsp + r14]
add r8, 0x60
lea rdx, [rbx + 0x20]
mov rcx, rbx
vzeroupper
call fcn.14017f6e3
add r14, 0x10
add rbx, 8
cmp r14, 0x40
jne 0x14017fcca
lea rbx, [rsp + 0x20]
mov rcx, rbx
call fcn.14017f791
mov rax, qword [rdi]
xor qword [rbx], rax
mov rax, qword [rdi + 8]
xor qword [rbx + 8], rax
mov rax, qword [rdi + 0x10]
xor qword [rbx + 0x10], rax
mov rax, qword [rdi + 0x18]
xor qword [rbx + 0x18], rax
mov rax, qword [rdi + 0x20]
xor qword [rbx + 0x20], rax
mov rax, qword [rdi + 0x28]
xor qword [rbx + 0x28], rax
mov rax, qword [rdi + 0x30]
xor qword [rbx + 0x30], rax
mov rax, qword [rdi + 0x38]
xor qword [rbx + 0x38], rax
mov r14d, pe_nt_image_headers64
mov rcx, rbx
call fcn.14017f994
mov rcx, rbx
call fcn.140180038
mov r12, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov r13, r12
rol r13, 0x30
mov rax, qword [rsp + 0x58]
mov r8, rax
rol r8, 0x30
xor r12, r13
mov r15, r12
rol r15, 0x20
xor rax, r8
xor r15, qword [rdi + r14 - 0x38]
xor r13, rax
xor r13, r15
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0x20], r13
mov r13, r11
rol r13, 0x30
xor r11, r13
xor r12, rax
xor r12, r13
mov r13, r11
rol r13, 0x20
xor r13, qword [rdi + r14 - 0x30]
xor r12, r13
mov qword [rsp + 0x28], r12
mov r12, r10
rol r12, 0x30
xor r10, r12
xor r11, r12
mov r12, r10
rol r12, 0x20
xor r12, qword [rdi + r14 - 0x28]
xor r11, r12
mov r12, r9
rol r12, 0x30
xor r9, r12
mov qword [rsp + 0x30], r11
mov r11, r9
rol r11, 0x20
xor r10, rax
xor r10, r12
xor r11, qword [rdi + r14 - 0x20]
xor r10, r11
mov qword [rsp + 0x38], r10
mov r10, rdx
rol r10, 0x30
xor rdx, r10
xor r9, rax
xor r9, r10
mov r10, rdx
rol r10, 0x20
xor r10, qword [rdi + r14 - 0x18]
xor r9, r10
mov r10, rcx
rol r10, 0x30
mov qword [rsp + 0x40], r9
xor rcx, r10
xor rdx, r10
mov r9, rcx
rol r9, 0x20
xor r9, qword [rdi + r14 - 0x10]
xor rdx, r9
mov r9, r15
rol r9, 0x30
mov qword [rsp + 0x48], rdx
xor r15, r9
xor rcx, r9
mov rdx, r15
rol rdx, 0x20
xor rdx, qword [rdi + r14 - 8]
xor rcx, rdx
mov qword [rsp + 0x50], rcx
xor r15, r8
rol rax, 0x20
xor rax, qword [rdi + r14]
xor r15, rax
mov qword [rsp + 0x58], r15
add r14, 0x40
cmp r14, 0x3b8
jne 0x14017fd40
lea rbx, [rsp + 0x20]
mov rcx, rbx
call fcn.14017f994
mov rcx, rbx
call fcn.140180038
mov rax, qword [rdi + 0x380]
xor qword [rbx], rax
mov rax, qword [rdi + 0x388]
xor qword [rbx + 8], rax
mov rax, qword [rdi + 0x390]
xor qword [rbx + 0x10], rax
mov rax, qword [rdi + 0x398]
xor qword [rbx + 0x18], rax
mov rax, qword [rdi + 0x3a0]
xor qword [rbx + 0x20], rax
mov rax, qword [rdi + 0x3a8]
xor qword [rbx + 0x28], rax
mov rax, qword [rdi + 0x3b0]
xor qword [rbx + 0x30], rax
mov rax, qword [rdi + 0x3b8]
xor qword [rbx + 0x38], rax
mov rcx, rbx
call fcn.14017f791
vmovdqu ymm0, ymmword [rbx]
vmovdqu ymm1, ymmword [rbx + 0x20]
vpbroadcastw ymm2, word [0x1402a24d0]
vpand ymm3, ymm0, ymm2
vpand ymm2, ymm1, ymm2
vpsrlq ymm4, ymm3, 8
vpor ymm3, ymm4, ymm3
vpsrlq ymm4, ymm2, 8
vpor ymm2, ymm4, ymm2
vmovdqa ymm4, ymmword [0x1402a24e0]
vpshufb ymm0, ymm0, ymm4
vpsrlq ymm5, ymm0, 8
vpshufb ymm1, ymm1, ymm4
vpsrlq ymm4, ymm1, 8
vpxor xmm6, xmm6, xmm6
vpblendw ymm3, ymm3, ymm6, 0xaa
vpblendw ymm2, ymm2, ymm6, 0xaa
vpsrlq ymm6, ymm3, 0x10
vpor ymm3, ymm6, ymm3
vpsrlq ymm6, ymm2, 0x10
vpor ymm2, ymm6, ymm2
vpsrlq ymm0, ymm0, 0x18
vpor ymm0, ymm5, ymm0
vpsrlq ymm1, ymm1, 0x18
vpor ymm1, ymm4, ymm1
vperm2i128 ymm4, ymm3, ymm2, 0x31
vinserti128 ymm2, ymm3, xmm2, 1
vshufps ymm2, ymm2, ymm4, 0x88
vperm2i128 ymm3, ymm0, ymm1, 0x31
vinserti128 ymm0, ymm0, xmm1, 1
vshufps ymm0, ymm0, ymm3, 0x88
vmovaps ymm1, ymmword [0x1402a2500]
vpermps ymm1, ymm1, ymm2
vmovaps ymm3, ymmword [0x1402a2520]
vpermps ymm3, ymm3, ymm0
vblendps ymm1, ymm1, ymm3, 0xcc
vmovaps ymm3, ymmword [0x1402a2540]
vpermps ymm2, ymm3, ymm2
vmovaps ymm3, ymmword [0x1402a2560]
vpermps ymm0, ymm3, ymm0
vblendps ymm0, ymm2, ymm0, 0xcc
vmovups ymmword [rsp + 0x80], ymm0
vmovups ymmword [rsp + 0x60], ymm1
xor eax, eax
mov ecx, dword [rsp + rax*4 + 0x60]
mov dword [rsi + rax*4], ecx
inc rax
cmp rax, 0x10
jne 0x14017fff9
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
vzeroupper
call fcn.14010fba0
vmovaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc0
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret