Function at 0x1400fe490
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 edi, edi
mov r13, r9
test rax, rax
mov r14, rdx
mov esi, edi
cmove rax, r9
mov qword [rsp + 0xd0], rax
test r9, r9
jne 0x1400fe4f4
mov edx, 0xa2
lea r9, str.....opensslopensslcryptoevpevp_lib.c
lea ecx, [rdi + 6]
lea r8d, [rdx - 3]
mov dword [rsp + 0x20], 0x10e
call fcn.140073540
jmp 0x1400fe871
movsxd r15, dword [r9 + 8]
test r15d, r15d
js 0x1400fe871
mov ebx, dword [rsp + 0xd8]
cmp ebx, 0xffffffff
jne 0x1400fe523
mov ebx, r15d
mov rdx, qword [rcx + 0x18]
mov eax, dword [rdx + 8]
lea r8d, [rax - 1]
test eax, eax
jne 0x1400fe553
mov eax, edi
jmp 0x1400fe569
cmp ebx, 0xfffffffe
jne 0x1400fe52a
jmp 0x1400fe510
jge 0x1400fe510
mov edx, __WSAFDIsSet
lea r9, [0x1401c6e68]
mov ecx, 4
lea r8d, [rdx - 0xc]
mov dword [rsp + 0x20], 0xdc
call fcn.140073540
jmp 0x1400fe871
mov rcx, qword [rdx]
movsxd rax, r8d
mov rcx, qword [rcx + rax*8]
call fcn.14006e2f0
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 0x1400fe585
mov eax, edi
jmp 0x1400fe59b
mov rcx, qword [rdx]
movsxd rax, r8d
mov rcx, qword [rcx + rax*8]
call fcn.14006e2f0
shl r8d, 6
add eax, r8d
add eax, 7
cdq
and edx, 7
lea r12d, [rdx + rax]
sar r12d, 3
test r9d, r9d
jne 0x1400fe5b8
mov byte [r14], sil
inc r14
dec r12d
cmp ebx, 0xfffffffe
jne 0x1400fe60f
mov ebx, r12d
sub ebx, r15d
sub ebx, 2
test ebx, ebx
jle 0x1400fe653
lea rdx, str.....opensslopensslcrypto_rsa_rsa_pss.c
mov r8d, 0xf2
mov ecx, ebx
call fcn.1400867c0
mov rsi, rax
test rax, rax
jne 0x1400fe641
lea r9, [0x1401c6e98]
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0xf5
call fcn.140073540
jmp 0x1400fe871
lea eax, [r15 + 2]
add eax, ebx
cmp r12d, eax
jge 0x1400fe5c6
mov edx, __WSAFDIsSet
lea r9, [0x1401c6e38]
mov ecx, 4
lea r8d, [rdx - 0x26]
mov dword [rsp + 0x20], 0xed
call fcn.140073540
jmp 0x1400fe871
mov edx, ebx
mov rcx, rax
call fcn.14006f6c0
test eax, eax
jle 0x1400fe83b
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.140095b00
test eax, eax
je 0x1400fe83b
mov r13d, 8
lea rdx, [0x14014cc18]
lea rcx, [rsp + 0x40]
mov r8d, r13d
call qword [rsp + 0x68]
test eax, eax
je 0x1400fe83b
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x40]
mov r8, r15
call qword [rsp + 0x68]
test eax, eax
je 0x1400fe83b
test ebx, ebx
je 0x1400fe6f6
lea rcx, [rsp + 0x40]
movsxd r8, ebx
mov rdx, rsi
call qword [rsp + 0x68]
test eax, eax
je 0x1400fe83b
mov rax, qword [rsp + 0x40]
cmp dword [rax + 8], 0x40
jg 0x1400fe88b
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 0x1400fe738
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], edi
je 0x1400fe83b
lea rcx, [rsp + 0x40]
call fcn.140096160
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.1401005b0
test eax, eax
jne 0x1400fe83b
sub ebp, ebx
sub ebp, 2
movsxd rdx, ebp
add rdx, r14
inc rdx
xor byte [rdx - 1], 1
test ebx, ebx
jle 0x1400fe814
cmp ebx, 0x10
jb 0x1400fe7f0
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rcx + rsi]
lea r8, [rcx + rdx]
cmp rdx, rax
ja 0x1400fe7ba
cmp r8, rsi
jae 0x1400fe7f0
mov eax, ebx
and eax, 0x8000000f
jge 0x1400fe7ca
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, ebx
sub ecx, eax
nop
movdqu xmm0, xmmword [rdx]
movsxd rax, edi
add edi, 0x10
add rdx, 0x10
movdqu xmm1, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rdx - 0x10], xmm1
cmp edi, ecx
jl 0x1400fe7d0
movsxd r8, edi
movsxd r9, ebx
cmp r8, r9
jge 0x1400fe814
nop dword [rax + rax]
movzx eax, byte [r8 + rsi]
inc r8
lea rdx, [rdx + 1]
xor byte [rdx - 1], al
cmp r8, r9
jl 0x1400fe800
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1400fe82d
sub r13d, eax
mov eax, 0xff
movzx ecx, r13b
sar eax, cl
and byte [r14], al
movsxd rax, r12d
mov edi, 1
mov byte [rax + r14 - 1], 0xbc
test rsi, rsi
je 0x1400fe871
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fe853
xor edx, edx
mov rcx, rsi
call rax
mov rcx, rsi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fe871
mov edx, 1
xor ecx, ecx
call rax
mov eax, edi
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, [0x140193470]
lea rcx, str._s__d_:_OpenSSL_internal_error__assertion_failed:__s_n
mov r8d, 0x10f
call fcn.140090b40
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