Function at 0x1401cd600
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 0x1401cdb01
call fcn.1400f92f0
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 0x1401cd6d3
jmp 0x1401cd8a5
cmp r12d, 1
je 0x1401cdaa0
test rbx, rbx
je 0x1401cd8a5
mov rax, rbx
mov qword [rsp + 0x58], rbx
mov rbx, qword [rbx + 8]
mov r13, qword [rax]
cmp r12d, 2
je 0x1401cd8f0
cmp r12d, 3
jne 0x1401cd6c0
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 0x1401cd86d
xor r14d, r14d
lea rsi, [rsp + 0x68]
nop word [rax + rax]
mov edx, dword [r13 + 0x2a]
mov r8d, r14d
mov rcx, rdi
call fcn.140080b70
mov rdx, rsi
mov qword [rsp + 0x68], 0
mov rcx, rax
call fcn.140100b60
mov ecx, 0x400
mov r8, rax
mov rax, qword [rsp + 0x68]
cmp rax, rcx
cmovbe rcx, rax
test rax, rax
je 0x1401cd85b
cmp rax, 0xf
jbe 0x1401cdaca
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 0x1401cd780
mov rax, rcx
and rax, 0xfffffffffffffff0
test cl, 0xf
je 0x1401cd85b
mov rdx, rcx
sub rdx, rax
lea r9, [rdx - 1]
cmp r9, 6
jbe 0x1401cd7e0
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 0x1401cd85b
movzx edx, byte [r8 + rax]
xor byte [r15 + rax], dl
lea rdx, [rax + 1]
cmp rcx, rdx
jbe 0x1401cd85b
movzx r9d, byte [r8 + rax + 1]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 2]
cmp rcx, rdx
jbe 0x1401cd85b
movzx r9d, byte [r8 + rax + 2]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 3]
cmp rcx, rdx
jbe 0x1401cd85b
movzx r9d, byte [r8 + rax + 3]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 4]
cmp rcx, rdx
jbe 0x1401cd85b
movzx r9d, byte [r8 + rax + 4]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 5]
cmp rcx, rdx
jbe 0x1401cd85b
movzx r9d, byte [r8 + rax + 5]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 6]
cmp rcx, rdx
jbe 0x1401cd85b
movzx eax, byte [r8 + rax + 6]
xor byte [r15 + rdx], al
movzx eax, word [r13 + 0x56]
add r14d, 1
cmp r14d, eax
jl 0x1401cd720
mov rcx, qword [rsp + 0x40]
mov r8d, 0x400
mov rdx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401cd6ca
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.1400f9540
mov qword [rsp + 0x50], rax
test rbx, rbx
jne 0x1401cd6d3
mov rcx, qword [rsp + 0x50]
call fcn.1400f98d0
test eax, eax
je 0x1401cdb01
cmp eax, 1
je 0x1401cdb50
add r12d, 1
cmp r12d, 5
je 0x1401cdb0d
cmp qword [rsp + 0x38], 0
je 0x1401cdad1
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
jmp 0x1401cd692
mov rax, qword [rsp + 0x48]
cmp qword [r13 + 2], rax
jne 0x1401cd888
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 0x1401cda6d
xor r14d, r14d
lea rsi, [rsp + 0x68]
mov edx, dword [r13 + 0x2a]
mov r8d, r14d
mov rcx, rdi
call fcn.140080b70
mov rdx, rsi
mov qword [rsp + 0x68], 0
mov rcx, rax
call fcn.140100b60
mov ecx, 0x400
mov r8, rax
mov rax, qword [rsp + 0x68]
cmp rax, rcx
cmovbe rcx, rax
test rax, rax
je 0x1401cda5b
cmp rax, 0xf
jbe 0x1401cdb06
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 0x1401cd980
mov rax, rcx
and rax, 0xfffffffffffffff0
test cl, 0xf
je 0x1401cda5b
mov rdx, rcx
sub rdx, rax
lea r9, [rdx - 1]
cmp r9, 6
jbe 0x1401cd9e0
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 0x1401cda5b
movzx edx, byte [r8 + rax]
xor byte [r15 + rax], dl
lea rdx, [rax + 1]
cmp rcx, rdx
jbe 0x1401cda5b
movzx r9d, byte [r8 + rax + 1]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 2]
cmp rcx, rdx
jbe 0x1401cda5b
movzx r9d, byte [r8 + rax + 2]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 3]
cmp rcx, rdx
jbe 0x1401cda5b
movzx r9d, byte [r8 + rax + 3]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 4]
cmp rcx, rdx
jbe 0x1401cda5b
movzx r9d, byte [r8 + rax + 4]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 5]
cmp rcx, rdx
jbe 0x1401cda5b
movzx r9d, byte [r8 + rax + 5]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 6]
cmp rcx, rdx
jbe 0x1401cda5b
movzx eax, byte [r8 + rax + 6]
xor byte [r15 + rdx], al
movzx eax, word [r13 + 0x56]
add r14d, 1
cmp r14d, eax
jl 0x1401cd920
mov rdi, qword [rsp + 0x40]
mov r8d, 0x400
mov rdx, r15
mov rcx, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401cd6ca
mov ecx, pe_nt_image_headers64
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
jmp 0x1401cd6ca
movzx eax, word [rsp + 0x36]
cmp word [r13 + 0x56], ax
jne 0x1401cd888
mov rsi, qword [rsp + 0x48]
mov rax, qword [r13 + 2]
cmp rsi, rax
cmovbe rax, rsi
mov qword [rsp + 0x48], rax
jmp 0x1401cd6ca
xor eax, eax
jmp 0x1401cd7a9
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1400f98d0
test eax, eax
je 0x1401cdb01
cmp eax, 1
je 0x1401cdb50
lea eax, [r12 + 1]
cmp r12d, 3
ja 0x1401cdb0d
mov rcx, rbx
mov r12d, eax
call fcn.1400f98d0
test eax, eax
jne 0x1401cdae2
xor r12d, r12d
jmp 0x1401cdb3c
xor eax, eax
jmp 0x1401cd9a9
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.14005a0c0
mov rcx, qword [rsp + 0x50]
mov r12, qword [rcx]
call fcn.1400f9690
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 0x1401cdb3c