Function at 0x140164ea0
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]
sub rsp, 0xe8
mov rax, qword [0x140264330]
xor rax, rsp
mov qword [rbp - 9], rax
mov rbx, qword [rbp + 0x77]
xor r12d, r12d
mov qword [rbp - 0x59], rdx
xor edx, edx
test r9, r9
mov rax, r9
cmove rax, r8
mov qword [rbp - 0x69], r8
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x61], rax
mov qword [rsp + 0x58], rdx
mov qword [rbp - 0x79], rdx
test r8, r8
jne 0x140164f2e
mov edx, 0xa2
lea ecx, [r8 + 6]
lea r9, str.....opensslopensslcryptoevpevp_lib.c
lea r8d, [rdx - 3]
mov dword [rsp + 0x20], 0x10e
call fcn.1400dabf0
jmp 0x140165213
mov r9d, dword [r8 + 8]
mov dword [rsp + 0x30], r9d
test r9d, r9d
js 0x140165213
mov r15d, dword [rbp + 0x7f]
cmp r15d, 0xffffffff
jne 0x140164f61
mov r15d, r9d
mov rdx, qword [rcx + 0x18]
mov eax, dword [rdx + 8]
lea r8d, [rax - 1]
test eax, eax
jne 0x140164f92
mov eax, r12d
jmp 0x140164fa8
cmp r15d, 0xfffffffe
jne 0x140164f69
jmp 0x140164f4d
jge 0x140164f4d
mov edx, __WSAFDIsSet
lea r9, [0x1402b42a8]
mov ecx, 4
lea r8d, [rdx - 0xd]
mov dword [rsp + 0x20], WSASetLastError
call fcn.1400dabf0
jmp 0x140165213
mov rcx, qword [rdx]
movsxd rax, r8d
mov rcx, qword [rcx + rax*8]
call fcn.1400d56d0
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 0x140164fc0
mov eax, r12d
jmp 0x140164fd6
mov rcx, qword [rdx]
movsxd rax, r8d
mov rcx, qword [rcx + rax*8]
call fcn.1400d56d0
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 0x140165018
mov edx, __WSAFDIsSet
lea r9, [0x1402b4278]
mov ecx, 4
lea r8d, [rdx - 0x10]
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSACleanup
call fcn.1400dabf0
jmp 0x140165213
test r13d, r13d
jne 0x140165022
inc rbx
dec edi
lea eax, [r9 + 2]
add eax, r15d
cmp edi, eax
jge 0x140165054
mov edx, __WSAFDIsSet
lea r9, [0x1402b4308]
mov ecx, 4
lea r8d, [rdx - 0x28]
mov dword [rsp + 0x20], 0x7e
call fcn.1400dabf0
jmp 0x140165213
movsxd rax, edi
cmp byte [rax + rbx - 1], 0xbc
je 0x140165085
mov edx, __WSAFDIsSet
lea r9, [0x1402b42d8]
mov ecx, 4
lea r8d, [rdx - 0xf]
mov dword [rsp + 0x20], 0x83
call fcn.1400dabf0
jmp 0x140165213
sub edi, r9d
lea rdx, [0x1402b4368]
mov r8d, 0x88
dec edi
movsxd r14, edi
mov ecx, edi
lea rax, [r14 + rbx]
mov qword [rbp - 0x71], rax
call fcn.1400ede70
mov rsi, rax
test rax, rax
jne 0x1401650d6
lea r9, [0x1402b4338]
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x8b
call fcn.1400dabf0
jmp 0x140165213
mov rax, qword [rbp - 0x61]
mov r9d, dword [rsp + 0x30]
mov r8, qword [rbp - 0x71]
mov edx, edi
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140167540
test eax, eax
js 0x1401651e2
mov edx, r12d
test edi, edi
jle 0x14016515d
cmp edi, 0x10
jb 0x14016515d
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rcx + rbx]
lea r8, [rcx + rsi]
cmp rsi, rax
ja 0x14016511e
cmp r8, rbx
jae 0x14016515d
mov eax, edi
and eax, 0x8000000f
jge 0x14016512e
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, edi
sub ecx, eax
nop dword [rax]
nop word [rax + rax]
movsxd rax, edx
add edx, 0x10
movdqu xmm1, xmmword [rax + rbx]
movdqu xmm0, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp edx, ecx
jl 0x140165140
movsxd rax, edx
cmp rax, r14
jge 0x140165180
sub rbx, rsi
lea rcx, [rax + rsi]
sub r14, rax
nop
movzx eax, byte [rbx + rcx]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec r14
jne 0x140165170
test r13d, r13d
je 0x140165196
mov ecx, 8
mov eax, 0xff
sub ecx, r13d
sar eax, cl
and byte [rsi], al
mov ebx, r12d
cmp byte [rsi], bl
jne 0x1401651b1
lea ecx, [rdi - 1]
mov rax, rsi
cmp ebx, ecx
jge 0x1401651b1
inc rax
inc ebx
cmp byte [rax], r12b
je 0x1401651a3
movsxd rax, ebx
inc ebx
cmp byte [rax + rsi], 1
je 0x1401652a7
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], reloc.WS2_32.dll___WSAFDIsSet
lea r9, [0x1402b43c8]
lea r8d, [rdx - 0xe]
mov ecx, 4
call fcn.1400dabf0
mov rax, qword [0x1402eae88]
test rax, rax
je 0x1401651f5
xor edx, edx
mov rcx, rsi
call rax
mov rcx, rsi
call qword [sub.MSVCR120.dll_free]
mov rax, qword [0x1402eae88]
test rax, rax
je 0x140165213
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140165266
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x140165234
test byte [rsp + 0x48], 2
jne 0x140165234
lea rcx, [rsp + 0x38]
call rdx
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140165266
movsxd rdx, dword [rax + 0x60]
test edx, edx
je 0x140165266
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140165266
test byte [rsp + 0x48], 4
jne 0x140165266
call fcn.140012ba0
mov rcx, qword [rsp + 0x50]
call fcn.1400ee0e0
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140165275
call fcn.140106240
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140165284
call fcn.1400f6e80
mov eax, r12d
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.1401bb2c0
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r15d, r15d
js 0x1401652d7
mov eax, edi
sub eax, ebx
cmp eax, r15d
je 0x1401652d7
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x9c
lea r9, [0x1402b4398]
lea r8d, [rdx - 0xd]
mov ecx, 4
jmp 0x1401651dd
mov rdx, qword [rbp - 0x69]
lea rcx, [rsp + 0x38]
xor r8d, r8d
call fcn.1400fc3e0
test eax, eax
je 0x1401651e2
lea rdx, [0x1402359c8]
lea rcx, [rsp + 0x38]
mov r8d, 8
call qword [rbp - 0x79]
test eax, eax
je 0x1401651e2
movsxd r14, dword [rsp + 0x30]
mov rdx, qword [rbp - 0x59]
lea rcx, [rsp + 0x38]
mov r8, r14
call qword [rbp - 0x79]
test eax, eax
je 0x1401651e2
sub edi, ebx
je 0x140165346
movsxd rdx, ebx
lea rcx, [rsp + 0x38]
movsxd r8, edi
add rdx, rsi
call qword [rbp - 0x79]
test eax, eax
je 0x1401651e2
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0x40
jg 0x1401653dc
lea rdx, [rbp - 0x49]
lea rcx, [rsp + 0x38]
call qword [rax + 0x20]
mov ebx, eax
mov rax, qword [rsp + 0x38]
mov r9, qword [rax + 0x30]
test r9, r9
je 0x140165383
lea rcx, [rsp + 0x38]
call r9
or dword [rsp + 0x48], 2
mov rax, qword [rsp + 0x38]
movsxd r8, dword [rax + 0x60]
mov rcx, qword [rsp + 0x50]
xor edx, edx
call sub.MSVCR120.dll_memset
test ebx, ebx
je 0x1401651e2
mov rdx, qword [rbp - 0x71]
lea rcx, [rbp - 0x49]
mov r8, r14
call sub.MSVCR120.dll_memcmp
test eax, eax
je 0x1401653d1
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0xac
lea r9, [0x1402b4428]
lea r8d, [rdx - 0x2d]
mov ecx, 4
jmp 0x1401651dd
mov r12d, 1
jmp 0x1401651e2
lea r9, str.ctx__digest__md_size___EVP_MAX_MD_SIZE
lea rdx, [0x1402805f8]
lea rcx, str._s__d_:_OpenSSL_internal_error__assertion_failed:__s_n
mov r8d, 0x10f
call fcn.1400f7420
mov ecx, reloc.WS2_32.dll_shutdown
call qword [sym.imp.MSVCR120.dll_raise]
mov ecx, 3
call qword [sym.imp.MSVCR120.dll__exit]
int3