Function at 0x14016f970
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, reloc.WS2_32.dll_WSASetLastError
call fcn.1401ef830
sub rsp, rax
mov rax, qword [rsp + 0xd0]
xor esi, esi
test rax, rax
mov r14, rdx
mov rdx, r9
mov r12, r9
cmovne rdx, rax
mov edi, esi
mov qword [rsp + 0x38], rdx
test r9, r9
jne 0x14016f9dd
mov edx, 0xa2
mov dword [rsp + 0x20], 0x139
lea r9, str..cryptoevpevp_lib.c
lea ecx, [rsi + 6]
lea r8d, [rdx - 3]
call fcn.1400a36f0
jmp 0x14016fd95
movsxd r15, dword [r9 + 8]
test r15d, r15d
js 0x14016fd95
mov ebx, dword [rsp + 0xd8]
cmp ebx, 0xffffffff
jne 0x14016fa0c
mov ebx, r15d
mov rdx, qword [rcx + 0x18]
mov eax, dword [rdx + 8]
lea r8d, [rax - 1]
test eax, eax
jne 0x14016fa3c
mov eax, esi
jmp 0x14016fa52
cmp ebx, 0xfffffffe
jne 0x14016fa13
jmp 0x14016f9f9
jge 0x14016f9f9
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0xd7
lea r9, [0x14035ef30]
mov ecx, 4
lea r8d, [rdx - 0xc]
call fcn.1400a36f0
jmp 0x14016fd95
mov rcx, qword [rdx]
movsxd rax, r8d
mov rcx, qword [rcx + rax*8]
call fcn.14009aea0
shl r8d, 6
add eax, r8d
lea r9d, [rax - 1]
mov eax, dword [rdx + 8]
and r9d, 7
mov dword [rsp + 0xc8], r9d
lea r8d, [rax - 1]
test eax, eax
jne 0x14016fa71
mov eax, esi
jmp 0x14016fa87
mov rcx, qword [rdx]
movsxd rax, r8d
mov rcx, qword [rcx + rax*8]
call fcn.14009aea0
shl r8d, 6
add eax, r8d
add eax, 7
cdq
and edx, 7
lea r13d, [rdx + rax]
sar r13d, 3
test r9d, r9d
jne 0x14016faa4
mov byte [r14], sil
inc r14
dec r13d
cmp ebx, 0xfffffffe
jne 0x14016fafb
mov ebx, r13d
sub ebx, r15d
sub ebx, 2
test ebx, ebx
jle 0x14016fb3f
mov r8d, 0xe9
lea rdx, [0x14035ef00]
mov ecx, ebx
call fcn.1400b3ae0
mov rdi, rax
test rax, rax
jne 0x14016fb2d
lea r9, str..crypto_rsa_rsa_pss.c
mov dword [rsp + 0x20], 0xec
mov edx, __WSAFDIsSet
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call fcn.1400a36f0
jmp 0x14016fd95
lea eax, [r15 + 2]
add eax, ebx
cmp r13d, eax
jge 0x14016fab2
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0xe5
lea r9, [0x14035eee8]
mov ecx, 4
lea r8d, [rdx - 0x26]
call fcn.1400a36f0
jmp 0x14016fd95
mov edx, ebx
mov rcx, rax
call fcn.1400a4430
test eax, eax
jle 0x14016fd60
mov ebp, r13d
lea rcx, [rsp + 0x40]
sub ebp, r15d
xor r8d, r8d
mov rdx, r12
lea eax, [rbp - 1]
cdqe
add rax, r14
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
call fcn.1400c7f80
test eax, eax
je 0x14016fd60
mov r12d, 8
lea rdx, [0x140296108]
mov r8d, r12d
lea rcx, [rsp + 0x40]
call qword [rsp + 0x68]
test eax, eax
je 0x14016fd60
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x40]
mov r8, r15
call qword [rsp + 0x68]
test eax, eax
je 0x14016fd60
test ebx, ebx
je 0x14016fbe2
movsxd r8, ebx
lea rcx, [rsp + 0x40]
mov rdx, rdi
call qword [rsp + 0x68]
test eax, eax
je 0x14016fd60
mov rax, qword [rsp + 0x40]
cmp dword [rax + 8], 0x40
jg 0x14016fdaf
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x40]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0xd0], eax
mov rdx, qword [rcx + 0x30]
test rdx, rdx
je 0x14016fc24
lea rcx, [rsp + 0x40]
call rdx
or dword [rsp + 0x50], 2
mov rcx, qword [rsp + 0x40]
movsxd rdx, dword [rcx + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.1400011e0
cmp dword [rsp + 0xd0], esi
je 0x14016fd60
lea rcx, [rsp + 0x40]
call fcn.1400c8630
mov rax, qword [rsp + 0x38]
lea edx, [rbp - 1]
mov r8, qword [rsp + 0x30]
mov r9d, r15d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.140159680
test eax, eax
jne 0x14016fd60
sub ebp, ebx
sub ebp, 2
movsxd rdx, ebp
add rdx, r14
xor byte [rdx], 1
inc rdx
test ebx, ebx
jle 0x14016fd33
cmp ebx, 0x20
jb 0x14016fd08
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rcx + rdi]
lea r8, [rcx + rdx]
cmp rdx, rax
ja 0x14016fca8
cmp r8, rdi
jae 0x14016fd08
mov ecx, ebx
and ecx, 0x8000001f
jge 0x14016fcb9
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, ebx
mov r8, 0xfffffffffffffff0
sub eax, ecx
lea rcx, [rdi + 0x10]
movsxd r9, eax
sub r8, rdi
nop
movdqu xmm0, xmmword [rdx]
add esi, 0x20
movdqu xmm1, xmmword [rcx - 0x10]
lea rcx, [rcx + 0x20]
lea rax, [r8 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rdx], xmm1
movdqu xmm1, xmmword [rdx + 0x10]
movdqu xmm0, xmmword [rcx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rdx + 0x10], xmm1
add rdx, 0x20
cmp rax, r9
jl 0x14016fcd0
movsxd r8, esi
movsxd r9, ebx
cmp r8, r9
jge 0x14016fd33
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdi]
inc r8
xor byte [rdx], al
lea rdx, [rdx + 1]
cmp r8, r9
jl 0x14016fd20
mov eax, dword [rsp + 0xc8]
test eax, eax
je 0x14016fd4f
sub r12d, eax
mov eax, 0xff
movzx ecx, r12b
sar eax, cl
and byte [r14], al
lea eax, [r13 - 1]
mov esi, 1
movsxd rcx, eax
mov byte [rcx + r14], 0xbc
test rdi, rdi
je 0x14016fd95
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016fd78
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016fd95
mov edx, 1
xor ecx, ecx
call rax
mov eax, esi
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r9, str.ctx__digest__md_size___EVP_MAX_MD_SIZE
mov r8d, 0x118
lea rdx, [0x14032dc38]
lea rcx, str._s__d_:_OpenSSL_internal_error__assertion_failed:__s_n
call fcn.1400c24c0
mov ecx, reloc.WS2_32.dll_shutdown
call fcn.14022a944
mov ecx, 3
call fcn.140221d40
int3