Function at 0x1401645b0
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
sub rsp, 0x70
mov rax, qword [rsp + 0xd0]
xor esi, esi
mov r13, r9
test rax, rax
mov r14, rdx
mov edi, esi
cmove rax, r9
mov qword [rsp + 0xd0], rax
test r9, r9
jne 0x140164614
mov edx, 0xa2
lea r9, str.....opensslopensslcryptoevpevp_lib.c
lea ecx, [rsi + 6]
lea r8d, [rdx - 3]
mov dword [rsp + 0x20], 0x10e
call fcn.1400d9be0
jmp 0x1401649c1
movsxd r15, dword [r9 + 8]
test r15d, r15d
js 0x1401649c1
mov ebx, dword [rsp + 0xd8]
cmp ebx, 0xffffffff
jne 0x140164643
mov ebx, r15d
mov rdx, qword [rcx + 0x18]
mov eax, dword [rdx + 8]
lea r8d, [rax - 1]
test eax, eax
jne 0x140164673
mov eax, esi
jmp 0x140164689
cmp ebx, 0xfffffffe
jne 0x14016464a
jmp 0x140164630
jge 0x140164630
mov edx, __WSAFDIsSet
lea r9, [0x1402a82a8]
mov ecx, 4
lea r8d, [rdx - 0xc]
mov dword [rsp + 0x20], 0xdc
call fcn.1400d9be0
jmp 0x1401649c1
mov rcx, qword [rdx]
movsxd rax, r8d
mov rcx, qword [rcx + rax*8]
call fcn.1400d46c0
shl r8d, 6
add eax, r8d
lea r9d, [rax - 1]
mov eax, dword [rdx + 8]
and r9d, 7
lea r8d, [rax - 1]
mov dword [rsp + 0x30], r9d
test eax, eax
jne 0x1401646a5
mov eax, esi
jmp 0x1401646bb
mov rcx, qword [rdx]
movsxd rax, r8d
mov rcx, qword [rcx + rax*8]
call fcn.1400d46c0
shl r8d, 6
add eax, r8d
add eax, 7
cdq
and edx, 7
lea r12d, [rdx + rax]
sar r12d, 3
test r9d, r9d
jne 0x1401646d8
mov byte [r14], sil
inc r14
dec r12d
cmp ebx, 0xfffffffe
jne 0x14016472f
mov ebx, r12d
sub ebx, r15d
sub ebx, 2
test ebx, ebx
jle 0x140164773
lea rdx, [0x1402a8308]
mov r8d, 0xf2
mov ecx, ebx
call fcn.1400ecea0
mov rdi, rax
test rax, rax
jne 0x140164761
lea r9, str.....opensslopensslcrypto_rsa_rsa_pss.c
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0xf5
call fcn.1400d9be0
jmp 0x1401649c1
lea eax, [r15 + 2]
add eax, ebx
cmp r12d, eax
jge 0x1401646e6
mov edx, __WSAFDIsSet
lea r9, [0x1402a8338]
mov ecx, 4
lea r8d, [rdx - 0x26]
mov dword [rsp + 0x20], 0xed
call fcn.1400d9be0
jmp 0x1401649c1
mov edx, ebx
mov rcx, rax
call fcn.1400d8d00
test eax, eax
jle 0x14016498b
mov ebp, r12d
lea rcx, [rsp + 0x40]
xor r8d, r8d
sub ebp, r15d
mov rdx, r13
lea eax, [rbp - 1]
cdqe
add rax, r14
mov qword [rsp + 0x38], 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.1400fb400
test eax, eax
je 0x14016498b
mov r13d, 8
lea rdx, [0x14022aa18]
lea rcx, [rsp + 0x40]
mov r8d, r13d
call qword [rsp + 0x68]
test eax, eax
je 0x14016498b
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x40]
mov r8, r15
call qword [rsp + 0x68]
test eax, eax
je 0x14016498b
test ebx, ebx
je 0x140164816
lea rcx, [rsp + 0x40]
movsxd r8, ebx
mov rdx, rdi
call qword [rsp + 0x68]
test eax, eax
je 0x14016498b
mov rax, qword [rsp + 0x40]
cmp dword [rax + 8], 0x40
jg 0x1401649db
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x40]
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 0x30]
mov dword [rsp + 0xc8], eax
test rdx, rdx
je 0x140164858
lea rcx, [rsp + 0x40]
call rdx
or dword [rsp + 0x50], 2
mov rcx, qword [rsp + 0x40]
movsxd r8, dword [rcx + 0x60]
mov rcx, qword [rsp + 0x58]
xor edx, edx
call sub.MSVCR120.dll_memset
cmp dword [rsp + 0xc8], esi
je 0x14016498b
lea rcx, [rsp + 0x40]
call fcn.1400fba60
mov rax, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x38]
lea edx, [rbp - 1]
mov r9d, r15d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.140166720
test eax, eax
jne 0x14016498b
sub ebp, ebx
sub ebp, 2
movsxd rdx, ebp
add rdx, r14
inc rdx
xor byte [rdx - 1], 1
test ebx, ebx
jle 0x140164964
cmp ebx, 0x20
jb 0x14016493a
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rcx + rdi]
lea r8, [rcx + rdx]
cmp rdx, rax
ja 0x1401648de
cmp r8, rdi
jae 0x14016493a
mov eax, ebx
and eax, 0x8000001f
jge 0x1401648ee
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, ebx
sub r8d, eax
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rdx]
movsxd rax, esi
add rdx, 0x20
movdqu xmm1, xmmword [rax + rdi]
lea eax, [rsi + 0x10]
add esi, 0x20
movsxd rcx, eax
pxor xmm1, xmm0
movdqu xmmword [rdx - 0x20], xmm1
movdqu xmm0, xmmword [rdx - 0x10]
movdqu xmm1, xmmword [rcx + rdi]
pxor xmm1, xmm0
movdqu xmmword [rdx - 0x10], xmm1
cmp esi, r8d
jl 0x140164900
movsxd r8, esi
movsxd r9, ebx
cmp r8, r9
jge 0x140164964
nop word [rax + rax]
movzx eax, byte [r8 + rdi]
inc r8
lea rdx, [rdx + 1]
xor byte [rdx - 1], al
cmp r8, r9
jl 0x140164950
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x14016497d
sub r13d, eax
mov eax, 0xff
movzx ecx, r13b
sar eax, cl
and byte [r14], al
movsxd rax, r12d
mov esi, 1
mov byte [rax + r14 - 1], 0xbc
test rdi, rdi
je 0x1401649c1
mov rax, qword [0x1402ddc88]
test rax, rax
je 0x1401649a3
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call qword [sub.MSVCR120.dll_free]
mov rax, qword [0x1402ddc88]
test rax, rax
je 0x1401649c1
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
lea rdx, [0x140274498]
lea rcx, str._s__d_:_OpenSSL_internal_error__assertion_failed:__s_n
mov r8d, 0x10f
call fcn.1400f6440
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