Function at 0x1401c8b60
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 0x1401c9061
call fcn.1400f5b40
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 0x1401c8c33
jmp 0x1401c8e05
cmp r12d, 1
je 0x1401c9000
test rbx, rbx
je 0x1401c8e05
mov rax, rbx
mov qword [rsp + 0x58], rbx
mov rbx, qword [rbx + 8]
mov r13, qword [rax]
cmp r12d, 2
je 0x1401c8e50
cmp r12d, 3
jne 0x1401c8c20
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 0x1401c8dcd
xor r14d, r14d
lea rsi, [rsp + 0x68]
nop word [rax + rax]
mov edx, dword [r13 + 0x2a]
mov r8d, r14d
mov rcx, rdi
call fcn.140080270
mov rdx, rsi
mov qword [rsp + 0x68], 0
mov rcx, rax
call fcn.1400fd4a0
mov ecx, 0x400
mov r8, rax
mov rax, qword [rsp + 0x68]
cmp rax, rcx
cmovbe rcx, rax
test rax, rax
je 0x1401c8dbb
cmp rax, 0xf
jbe 0x1401c902a
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 0x1401c8ce0
mov rax, rcx
and rax, 0xfffffffffffffff0
test cl, 0xf
je 0x1401c8dbb
mov rdx, rcx
sub rdx, rax
lea r9, [rdx - 1]
cmp r9, 6
jbe 0x1401c8d40
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 0x1401c8dbb
movzx edx, byte [r8 + rax]
xor byte [r15 + rax], dl
lea rdx, [rax + 1]
cmp rcx, rdx
jbe 0x1401c8dbb
movzx r9d, byte [r8 + rax + 1]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 2]
cmp rcx, rdx
jbe 0x1401c8dbb
movzx r9d, byte [r8 + rax + 2]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 3]
cmp rcx, rdx
jbe 0x1401c8dbb
movzx r9d, byte [r8 + rax + 3]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 4]
cmp rcx, rdx
jbe 0x1401c8dbb
movzx r9d, byte [r8 + rax + 4]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 5]
cmp rcx, rdx
jbe 0x1401c8dbb
movzx r9d, byte [r8 + rax + 5]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 6]
cmp rcx, rdx
jbe 0x1401c8dbb
movzx eax, byte [r8 + rax + 6]
xor byte [r15 + rdx], al
movzx eax, word [r13 + 0x56]
add r14d, 1
cmp r14d, eax
jl 0x1401c8c80
mov rcx, qword [rsp + 0x40]
mov r8d, 0x400
mov rdx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401c8c2a
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.1400f5d90
mov qword [rsp + 0x50], rax
test rbx, rbx
jne 0x1401c8c33
mov rcx, qword [rsp + 0x50]
call fcn.1400f6120
test eax, eax
je 0x1401c9061
cmp eax, 1
je 0x1401c90b0
add r12d, 1
cmp r12d, 5
je 0x1401c906d
cmp qword [rsp + 0x38], 0
je 0x1401c9031
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
jmp 0x1401c8bf2
mov rax, qword [rsp + 0x48]
cmp qword [r13 + 2], rax
jne 0x1401c8de8
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 0x1401c8fcd
xor r14d, r14d
lea rsi, [rsp + 0x68]
mov edx, dword [r13 + 0x2a]
mov r8d, r14d
mov rcx, rdi
call fcn.140080270
mov rdx, rsi
mov qword [rsp + 0x68], 0
mov rcx, rax
call fcn.1400fd4a0
mov ecx, 0x400
mov r8, rax
mov rax, qword [rsp + 0x68]
cmp rax, rcx
cmovbe rcx, rax
test rax, rax
je 0x1401c8fbb
cmp rax, 0xf
jbe 0x1401c9066
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 0x1401c8ee0
mov rax, rcx
and rax, 0xfffffffffffffff0
test cl, 0xf
je 0x1401c8fbb
mov rdx, rcx
sub rdx, rax
lea r9, [rdx - 1]
cmp r9, 6
jbe 0x1401c8f40
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 0x1401c8fbb
movzx edx, byte [r8 + rax]
xor byte [r15 + rax], dl
lea rdx, [rax + 1]
cmp rcx, rdx
jbe 0x1401c8fbb
movzx r9d, byte [r8 + rax + 1]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 2]
cmp rcx, rdx
jbe 0x1401c8fbb
movzx r9d, byte [r8 + rax + 2]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 3]
cmp rcx, rdx
jbe 0x1401c8fbb
movzx r9d, byte [r8 + rax + 3]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 4]
cmp rcx, rdx
jbe 0x1401c8fbb
movzx r9d, byte [r8 + rax + 4]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 5]
cmp rcx, rdx
jbe 0x1401c8fbb
movzx r9d, byte [r8 + rax + 5]
xor byte [r15 + rdx], r9b
lea rdx, [rax + 6]
cmp rcx, rdx
jbe 0x1401c8fbb
movzx eax, byte [r8 + rax + 6]
xor byte [r15 + rdx], al
movzx eax, word [r13 + 0x56]
add r14d, 1
cmp r14d, eax
jl 0x1401c8e80
mov rdi, qword [rsp + 0x40]
mov r8d, 0x400
mov rdx, r15
mov rcx, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401c8c2a
mov ecx, pe_nt_image_headers64
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
jmp 0x1401c8c2a
movzx eax, word [rsp + 0x36]
cmp word [r13 + 0x56], ax
jne 0x1401c8de8
mov rsi, qword [rsp + 0x48]
mov rax, qword [r13 + 2]
cmp rsi, rax
cmovbe rax, rsi
mov qword [rsp + 0x48], rax
jmp 0x1401c8c2a
xor eax, eax
jmp 0x1401c8d09
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1400f6120
test eax, eax
je 0x1401c9061
cmp eax, 1
je 0x1401c90b0
lea eax, [r12 + 1]
cmp r12d, 3
ja 0x1401c906d
mov rcx, rbx
mov r12d, eax
call fcn.1400f6120
test eax, eax
jne 0x1401c9042
xor r12d, r12d
jmp 0x1401c909c
xor eax, eax
jmp 0x1401c8f09
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.1400f5ee0
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 0x1401c909c