Function at 0x1401c6e60
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0x870
mov word [rsp + 0x36], dx
test rcx, rcx
je 0x1401c7361
call fcn.1400f3740
mov ecx, 0x7e
mov r12d, 1
lea rdi, [rsp + 0x80]
mov qword [rsp + 0x38], rax
xor eax, eax
lea r15, [rsp + 0x70]
rep stosq qword [rdi], rax
lea rdi, [rsp + 0x480]
mov ecx, 0x7e
mov qword [rsp + 0x70], 0
rep stosq qword [rdi], rax
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x470], 0
mov qword [rsp + 0x478], 0
mov qword [rsp + 0x48], 0xffffffffffffffff
mov rax, qword [rsp + 0x38]
lea rdi, [rsp + 0x470]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x50], rax
mov rbx, rax
test rax, rax
jne 0x1401c6f33
jmp 0x1401c7105
cmp r12d, 1
je 0x1401c7300
test rbx, rbx
je 0x1401c7105
mov rax, rbx
mov qword [rsp + 0x58], rbx
mov rbx, qword [rbx + 8]
mov r13, qword [rax]
cmp r12d, 2
je 0x1401c7150
cmp r12d, 3
jne 0x1401c6f20
xor eax, eax
mov ecx, pe_nt_image_headers64
mov rdi, r15
cmp word [r13 + 0x56], 0
rep stosq qword [rdi], rax
lea rdi, [r13 + 0x32]
je 0x1401c70cd
xor r14d, r14d
lea rsi, [rsp + 0x68]
nop word [rax + rax]
mov edx, dword [r13 + 0x2a]
mov r8d, r14d
mov rcx, rdi
call fcn.140080100
mov rdx, rsi
mov qword [rsp + 0x68], 0
mov rcx, rax
call fcn.1400fb150
mov ecx, 0x400
mov r8, rax
mov rax, qword [rsp + 0x68]
cmp rax, rcx
cmovbe rcx, rax
test rax, rax
je 0x1401c70bb
cmp rax, 0xf
jbe 0x1401c732a
mov r9, rcx
mov rdx, r15
mov rax, r8
and r9, 0xfffffffffffffff0
add r9, r8
nop word [rax + rax]
movdqu xmm0, xmmword [rax]
pxor xmm0, xmmword [rdx]
add rax, 0x10
add rdx, 0x10
movaps xmmword [rdx - 0x10], xmm0
cmp r9, rax
jne 0x1401c6fe0
mov rax, rcx
and rax, 0xfffffffffffffff0
test cl, 0xf
je 0x1401c70bb
mov rdx, rcx
sub rdx, rax
lea r9, [rdx - 1]
cmp r9, 6
jbe 0x1401c7040
lea r9, [r15 + rax]
movq xmm1, qword [r8 + rax]
movq xmm0, qword [r9]
pxor xmm0, xmm1
movq qword [r9], xmm0
mov r9, rdx
and r9, 0xfffffffffffffff8
add rax, r9
cmp rdx, r9
je 0x1401c70bb
movzx edx, byte [r8 + rax]
xor byte [r15 + rax], dl
lea rdx, [rax + 1]
cmp rcx, rdx
jbe 0x1401c70bb
movzx r9d, byte [r8 + rax + 1]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 2]
cmp rcx, rdx
jbe 0x1401c70bb
movzx r9d, byte [r8 + rax + 2]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 3]
cmp rcx, rdx
jbe 0x1401c70bb
movzx r9d, byte [r8 + rax + 3]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 4]
cmp rcx, rdx
jbe 0x1401c70bb
movzx r9d, byte [r8 + rax + 4]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 5]
cmp rcx, rdx
jbe 0x1401c70bb
movzx r9d, byte [r8 + rax + 5]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 6]
cmp rcx, rdx
jbe 0x1401c70bb
movzx eax, byte [r8 + rax + 6]
xor byte [r15 + rdx], al
movzx eax, word [r13 + 0x56]
add r14d, 1
cmp r14d, eax
jl 0x1401c6f80
mov rcx, qword [rsp + 0x40]
mov r8d, 0x400
mov rdx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401c6f2a
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.1400f3990
mov qword [rsp + 0x50], rax
test rbx, rbx
jne 0x1401c6f33
mov rcx, qword [rsp + 0x50]
call fcn.1400f3d20
test eax, eax
je 0x1401c7361
cmp eax, 1
je 0x1401c73b0
add r12d, 1
cmp r12d, 5
je 0x1401c736d
cmp qword [rsp + 0x38], 0
je 0x1401c7331
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
jmp 0x1401c6ef2
mov rax, qword [rsp + 0x48]
cmp qword [r13 + 2], rax
jne 0x1401c70e8
xor eax, eax
mov ecx, pe_nt_image_headers64
mov rdi, r15
cmp word [r13 + 0x56], 0
rep stosq qword [rdi], rax
lea rdi, [r13 + 0x32]
je 0x1401c72cd
xor r14d, r14d
lea rsi, [rsp + 0x68]
mov edx, dword [r13 + 0x2a]
mov r8d, r14d
mov rcx, rdi
call fcn.140080100
mov rdx, rsi
mov qword [rsp + 0x68], 0
mov rcx, rax
call fcn.1400fb150
mov ecx, 0x400
mov r8, rax
mov rax, qword [rsp + 0x68]
cmp rax, rcx
cmovbe rcx, rax
test rax, rax
je 0x1401c72bb
cmp rax, 0xf
jbe 0x1401c7366
mov r9, rcx
mov rdx, r8
mov rax, r15
and r9, 0xfffffffffffffff0
add r9, r8
nop word [rax + rax]
movdqu xmm0, xmmword [rdx]
pxor xmm0, xmmword [rax]
add rdx, 0x10
add rax, 0x10
movaps xmmword [rax - 0x10], xmm0
cmp rdx, r9
jne 0x1401c71e0
mov rax, rcx
and rax, 0xfffffffffffffff0
test cl, 0xf
je 0x1401c72bb
mov rdx, rcx
sub rdx, rax
lea r9, [rdx - 1]
cmp r9, 6
jbe 0x1401c7240
lea r9, [r15 + rax]
movq xmm1, qword [r8 + rax]
movq xmm0, qword [r9]
pxor xmm0, xmm1
movq qword [r9], xmm0
mov r9, rdx
and r9, 0xfffffffffffffff8
add rax, r9
cmp r9, rdx
je 0x1401c72bb
movzx edx, byte [r8 + rax]
xor byte [r15 + rax], dl
lea rdx, [rax + 1]
cmp rcx, rdx
jbe 0x1401c72bb
movzx r9d, byte [r8 + rax + 1]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 2]
cmp rcx, rdx
jbe 0x1401c72bb
movzx r9d, byte [r8 + rax + 2]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 3]
cmp rcx, rdx
jbe 0x1401c72bb
movzx r9d, byte [r8 + rax + 3]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 4]
cmp rcx, rdx
jbe 0x1401c72bb
movzx r9d, byte [r8 + rax + 4]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 5]
cmp rcx, rdx
jbe 0x1401c72bb
movzx r9d, byte [r8 + rax + 5]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 6]
cmp rcx, rdx
jbe 0x1401c72bb
movzx eax, byte [r8 + rax + 6]
xor byte [r15 + rdx], al
movzx eax, word [r13 + 0x56]
add r14d, 1
cmp r14d, eax
jl 0x1401c7180
mov rdi, qword [rsp + 0x40]
mov r8d, 0x400
mov rdx, r15
mov rcx, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401c6f2a
mov ecx, pe_nt_image_headers64
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
jmp 0x1401c6f2a
movzx eax, word [rsp + 0x36]
cmp word [r13 + 0x56], ax
jne 0x1401c70e8
mov rsi, qword [rsp + 0x48]
mov rax, qword [r13 + 2]
cmp rsi, rax
cmovbe rax, rsi
mov qword [rsp + 0x48], rax
jmp 0x1401c6f2a
xor eax, eax
jmp 0x1401c7009
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1400f3d20
test eax, eax
je 0x1401c7361
cmp eax, 1
je 0x1401c73b0
lea eax, [r12 + 1]
cmp r12d, 3
ja 0x1401c736d
mov rcx, rbx
mov r12d, eax
call fcn.1400f3d20
test eax, eax
jne 0x1401c7342
xor r12d, r12d
jmp 0x1401c739c
xor eax, eax
jmp 0x1401c7209
lea rax, str.POA_rounds_filtering:_Cant_choose_only_one_item_with_current_filters__need_to_increase_its_number
xor ecx, ecx
mov r9d, 7
xor edx, edx
mov qword [rsp + 0x20], rax
lea r8, str.dap_chain_cs_dag_poa
call fcn.14005a150
mov rcx, qword [rsp + 0x50]
mov r12, qword [rcx]
call fcn.1400f3ae0
lea rsp, [rbp - 0x38]
mov rax, r12
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [rsp + 0x50]
mov r12, qword [rcx]
call sub.msvcrt.dll_free
jmp 0x1401c739c