Function at 0x1401c61d0
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 0x1401c66d1
call fcn.1400f2900
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 0x1401c62a3
jmp 0x1401c6475
cmp r12d, 1
je 0x1401c6670
test rbx, rbx
je 0x1401c6475
mov rax, rbx
mov qword [rsp + 0x58], rbx
mov rbx, qword [rbx + 8]
mov r13, qword [rax]
cmp r12d, 2
je 0x1401c64c0
cmp r12d, 3
jne 0x1401c6290
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 0x1401c643d
xor r14d, r14d
lea rsi, [rsp + 0x68]
nop word [rax + rax]
mov edx, dword [r13 + 0x2a]
mov r8d, r14d
mov rcx, rdi
call fcn.14007f110
mov rdx, rsi
mov qword [rsp + 0x68], 0
mov rcx, rax
call fcn.1400fa310
mov ecx, 0x400
mov r8, rax
mov rax, qword [rsp + 0x68]
cmp rax, rcx
cmovbe rcx, rax
test rax, rax
je 0x1401c642b
cmp rax, 0xf
jbe 0x1401c669a
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 0x1401c6350
mov rax, rcx
and rax, 0xfffffffffffffff0
test cl, 0xf
je 0x1401c642b
mov rdx, rcx
sub rdx, rax
lea r9, [rdx - 1]
cmp r9, 6
jbe 0x1401c63b0
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 0x1401c642b
movzx edx, byte [r8 + rax]
xor byte [r15 + rax], dl
lea rdx, [rax + 1]
cmp rcx, rdx
jbe 0x1401c642b
movzx r9d, byte [r8 + rax + 1]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 2]
cmp rcx, rdx
jbe 0x1401c642b
movzx r9d, byte [r8 + rax + 2]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 3]
cmp rcx, rdx
jbe 0x1401c642b
movzx r9d, byte [r8 + rax + 3]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 4]
cmp rcx, rdx
jbe 0x1401c642b
movzx r9d, byte [r8 + rax + 4]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 5]
cmp rcx, rdx
jbe 0x1401c642b
movzx r9d, byte [r8 + rax + 5]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 6]
cmp rcx, rdx
jbe 0x1401c642b
movzx eax, byte [r8 + rax + 6]
xor byte [r15 + rdx], al
movzx eax, word [r13 + 0x56]
add r14d, 1
cmp r14d, eax
jl 0x1401c62f0
mov rcx, qword [rsp + 0x40]
mov r8d, 0x400
mov rdx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401c629a
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.1400f2b50
mov qword [rsp + 0x50], rax
test rbx, rbx
jne 0x1401c62a3
mov rcx, qword [rsp + 0x50]
call fcn.1400f2ee0
test eax, eax
je 0x1401c66d1
cmp eax, 1
je 0x1401c6720
add r12d, 1
cmp r12d, 5
je 0x1401c66dd
cmp qword [rsp + 0x38], 0
je 0x1401c66a1
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
jmp 0x1401c6262
mov rax, qword [rsp + 0x48]
cmp qword [r13 + 2], rax
jne 0x1401c6458
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 0x1401c663d
xor r14d, r14d
lea rsi, [rsp + 0x68]
mov edx, dword [r13 + 0x2a]
mov r8d, r14d
mov rcx, rdi
call fcn.14007f110
mov rdx, rsi
mov qword [rsp + 0x68], 0
mov rcx, rax
call fcn.1400fa310
mov ecx, 0x400
mov r8, rax
mov rax, qword [rsp + 0x68]
cmp rax, rcx
cmovbe rcx, rax
test rax, rax
je 0x1401c662b
cmp rax, 0xf
jbe 0x1401c66d6
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 0x1401c6550
mov rax, rcx
and rax, 0xfffffffffffffff0
test cl, 0xf
je 0x1401c662b
mov rdx, rcx
sub rdx, rax
lea r9, [rdx - 1]
cmp r9, 6
jbe 0x1401c65b0
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 0x1401c662b
movzx edx, byte [r8 + rax]
xor byte [r15 + rax], dl
lea rdx, [rax + 1]
cmp rcx, rdx
jbe 0x1401c662b
movzx r9d, byte [r8 + rax + 1]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 2]
cmp rcx, rdx
jbe 0x1401c662b
movzx r9d, byte [r8 + rax + 2]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 3]
cmp rcx, rdx
jbe 0x1401c662b
movzx r9d, byte [r8 + rax + 3]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 4]
cmp rcx, rdx
jbe 0x1401c662b
movzx r9d, byte [r8 + rax + 4]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 5]
cmp rcx, rdx
jbe 0x1401c662b
movzx r9d, byte [r8 + rax + 5]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 6]
cmp rcx, rdx
jbe 0x1401c662b
movzx eax, byte [r8 + rax + 6]
xor byte [r15 + rdx], al
movzx eax, word [r13 + 0x56]
add r14d, 1
cmp r14d, eax
jl 0x1401c64f0
mov rdi, qword [rsp + 0x40]
mov r8d, 0x400
mov rdx, r15
mov rcx, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401c629a
mov ecx, pe_nt_image_headers64
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
jmp 0x1401c629a
movzx eax, word [rsp + 0x36]
cmp word [r13 + 0x56], ax
jne 0x1401c6458
mov rsi, qword [rsp + 0x48]
mov rax, qword [r13 + 2]
cmp rsi, rax
cmovbe rax, rsi
mov qword [rsp + 0x48], rax
jmp 0x1401c629a
xor eax, eax
jmp 0x1401c6379
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1400f2ee0
test eax, eax
je 0x1401c66d1
cmp eax, 1
je 0x1401c6720
lea eax, [r12 + 1]
cmp r12d, 3
ja 0x1401c66dd
mov rcx, rbx
mov r12d, eax
call fcn.1400f2ee0
test eax, eax
jne 0x1401c66b2
xor r12d, r12d
jmp 0x1401c670c
xor eax, eax
jmp 0x1401c6579
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.14005aec0
mov rcx, qword [rsp + 0x50]
mov r12, qword [rcx]
call fcn.1400f2ca0
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 0x1401c670c