Function at 0x14016f3d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
mov eax, 0xe8
call fcn.1401ef830
sub rsp, rax
mov rax, qword [0x140310170]
xor rax, rsp
mov qword [rbp - 9], rax
mov rbx, qword [rbp + 0x77]
xor r12d, r12d
mov qword [rbp - 0x59], rdx
mov rax, r9
xor edx, edx
mov qword [rbp - 0x61], r8
test r9, r9
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rdx
cmove rax, r8
mov qword [rsp + 0x48], rdx
mov qword [rbp - 0x69], rax
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rdx
mov qword [rbp - 0x79], rdx
test r8, r8
jne 0x14016f464
mov edx, 0xa2
mov dword [rsp + 0x20], 0x139
lea ecx, [r8 + 6]
lea r9, str..cryptoevpevp_lib.c
lea r8d, [rdx - 3]
call fcn.1400a36f0
jmp 0x14016f772
mov r9d, dword [r8 + 8]
mov dword [rsp + 0x30], r9d
test r9d, r9d
js 0x14016f772
mov r15d, dword [rbp + 0x7f]
cmp r15d, 0xffffffff
jne 0x14016f497
mov r15d, r9d
mov rdx, qword [rcx + 0x18]
mov eax, dword [rdx + 8]
lea r8d, [rax - 1]
test eax, eax
jne 0x14016f4c8
mov eax, r12d
jmp 0x14016f4de
cmp r15d, 0xfffffffe
jne 0x14016f49f
jmp 0x14016f483
jge 0x14016f483
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSAGetLastError
lea r9, [0x14035ee58]
mov ecx, 4
lea r8d, [rdx - 0xd]
call fcn.1400a36f0
jmp 0x14016f772
mov rcx, qword [rdx]
movsxd rax, r8d
mov rcx, qword [rcx + rax*8]
call fcn.14009aea0
shl r8d, 6
add eax, r8d
lea r13d, [rax - 1]
mov eax, dword [rdx + 8]
and r13d, 7
lea r8d, [rax - 1]
test eax, eax
jne 0x14016f4f6
mov eax, r12d
jmp 0x14016f50c
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
mov ecx, r13d
cdq
and edx, 7
lea edi, [rdx + rax]
mov edx, 0xff
shl edx, cl
sar edi, 3
test byte [rbx], dl
je 0x14016f54e
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x76
lea r9, [0x14035ee70]
mov ecx, 4
lea r8d, [rdx - 0x10]
call fcn.1400a36f0
jmp 0x14016f772
test r13d, r13d
jne 0x14016f558
inc rbx
dec edi
lea eax, [r9 + 2]
add eax, r15d
cmp edi, eax
jge 0x14016f58a
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x7e
lea r9, [0x14035ee28]
mov ecx, 4
lea r8d, [rdx - 0x28]
call fcn.1400a36f0
jmp 0x14016f772
lea eax, [rdi - 1]
movsxd rcx, eax
cmp byte [rcx + rbx], 0xbc
je 0x14016f5bd
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x82
lea r9, [0x14035ee40]
mov ecx, 4
lea r8d, [rdx - 0xf]
call fcn.1400a36f0
jmp 0x14016f772
sub edi, r9d
lea rdx, [0x14035eeb8]
dec edi
mov r8d, 0x87
movsxd r14, edi
mov ecx, edi
lea rax, [r14 + rbx]
mov qword [rbp - 0x71], rax
call fcn.1400b3ae0
mov rsi, rax
test rax, rax
jne 0x14016f60e
lea r9, [0x14035eed0]
mov dword [rsp + 0x20], Ordinal_143
mov edx, __WSAFDIsSet
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call fcn.1400a36f0
jmp 0x14016f772
mov rax, qword [rbp - 0x69]
mov edx, edi
mov r9d, dword [rsp + 0x30]
mov rcx, rsi
mov r8, qword [rbp - 0x71]
mov qword [rsp + 0x20], rax
call fcn.140159680
test eax, eax
js 0x14016f742
mov edx, r12d
test edi, edi
jle 0x14016f6b8
cmp edi, 0x20
jb 0x14016f6b8
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rcx + rbx]
lea r8, [rcx + rsi]
cmp rsi, rax
ja 0x14016f656
cmp r8, rbx
jae 0x14016f6b8
mov ecx, edi
and ecx, 0x8000001f
jge 0x14016f667
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, edi
mov r8, rbx
sub eax, ecx
sub r8, rsi
mov r9, rsi
movsxd r10, eax
neg r9
mov rcx, rsi
nop dword [rax]
movdqu xmm0, xmmword [rcx]
add edx, 0x20
movdqu xmm1, xmmword [r8 + rcx]
lea rcx, [rcx + 0x20]
lea rax, [rcx + r9]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm1, xmmword [r8 + rcx - 0x10]
movdqu xmm0, xmmword [rcx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r10
jl 0x14016f680
movsxd rax, edx
cmp rax, r14
jge 0x14016f6e0
sub rbx, rsi
lea rcx, [rax + rsi]
sub r14, rax
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r14, 1
jne 0x14016f6d0
test r13d, r13d
je 0x14016f6f6
mov ecx, 8
mov eax, 0xff
sub ecx, r13d
sar eax, cl
and byte [rsi], al
mov ebx, r12d
cmp byte [rsi], bl
jne 0x14016f711
lea ecx, [rdi - 1]
mov rax, rsi
cmp ebx, ecx
jge 0x14016f711
inc rax
inc ebx
cmp byte [rax], r12b
je 0x14016f703
movsxd rax, ebx
inc ebx
cmp byte [rax + rsi], 1
je 0x14016f806
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], __WSAFDIsSet
lea r9, [0x14035ee88]
mov ecx, 4
lea r8d, [rdx - 0xe]
call fcn.1400a36f0
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016f755
xor edx, edx
mov rcx, rsi
call rax
mov rcx, rsi
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016f772
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14016f7c5
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x14016f793
test byte [rsp + 0x48], 2
jne 0x14016f793
lea rcx, [rsp + 0x38]
call rdx
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14016f7c5
movsxd rdx, dword [rax + 0x60]
test edx, edx
je 0x14016f7c5
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14016f7c5
test byte [rsp + 0x48], 4
jne 0x14016f7c5
call fcn.1400011e0
mov rcx, qword [rsp + 0x50]
call fcn.1400b3dd0
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14016f7d4
call fcn.1400f7380
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14016f7e3
call fcn.1400c1e20
mov eax, r12d
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.1401ef4e0
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r15d, r15d
js 0x14016f836
mov eax, edi
sub eax, ebx
cmp eax, r15d
je 0x14016f836
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x98
lea r9, [0x14035eea0]
mov ecx, 4
lea r8d, [rdx - 0xd]
jmp 0x14016f73d
mov rdx, qword [rbp - 0x61]
lea rcx, [rsp + 0x38]
xor r8d, r8d
call fcn.1400c7f80
test eax, eax
je 0x14016f742
mov r8d, 8
lea rdx, [0x140296108]
lea rcx, [rsp + 0x38]
call qword [rbp - 0x79]
test eax, eax
je 0x14016f742
movsxd r14, dword [rsp + 0x30]
lea rcx, [rsp + 0x38]
mov rdx, qword [rbp - 0x59]
mov r8, r14
call qword [rbp - 0x79]
test eax, eax
je 0x14016f742
sub edi, ebx
je 0x14016f8a5
movsxd rdx, ebx
lea rcx, [rsp + 0x38]
add rdx, rsi
movsxd r8, edi
call qword [rbp - 0x79]
test eax, eax
je 0x14016f742
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0x40
jg 0x14016f939
lea rdx, [rbp - 0x49]
lea rcx, [rsp + 0x38]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov rcx, qword [rsp + 0x38]
mov ebx, eax
mov r9, qword [rcx + 0x30]
test r9, r9
je 0x14016f8e2
lea rcx, [rsp + 0x38]
call r9
or dword [rsp + 0x48], 2
mov rcx, qword [rsp + 0x38]
movsxd rdx, dword [rcx + 0x60]
mov rcx, qword [rsp + 0x50]
call fcn.1400011e0
test ebx, ebx
je 0x14016f742
mov rdx, qword [rbp - 0x71]
lea rcx, [rbp - 0x49]
mov r8, r14
call fcn.140210770
test eax, eax
je 0x14016f92e
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0xa6
lea r9, [0x14035ef18]
mov ecx, 4
lea r8d, [rdx - 0x2d]
jmp 0x14016f73d
mov r12d, 1
jmp 0x14016f742
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