Function at 0x140165420
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 0x140165484
mov edx, 0xa2
lea r9, str.....opensslopensslcryptoevpevp_lib.c
lea ecx, [rdi + 6]
lea r8d, [rdx - 3]
mov dword [rsp + 0x20], 0x10e
call fcn.1400dabf0
jmp 0x140165801
movsxd r15, dword [r9 + 8]
test r15d, r15d
js 0x140165801
mov ebx, dword [rsp + 0xd8]
cmp ebx, 0xffffffff
jne 0x1401654b3
mov ebx, r15d
mov rdx, qword [rcx + 0x18]
mov eax, dword [rdx + 8]
lea r8d, [rax - 1]
test eax, eax
jne 0x1401654e3
mov eax, edi
jmp 0x1401654f9
cmp ebx, 0xfffffffe
jne 0x1401654ba
jmp 0x1401654a0
jge 0x1401654a0
mov edx, __WSAFDIsSet
lea r9, [0x1402b43f8]
mov ecx, 4
lea r8d, [rdx - 0xc]
mov dword [rsp + 0x20], 0xdc
call fcn.1400dabf0
jmp 0x140165801
mov rcx, qword [rdx]
movsxd rax, r8d
mov rcx, qword [rcx + rax*8]
call fcn.1400d56d0
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 0x140165515
mov eax, edi
jmp 0x14016552b
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
cdq
and edx, 7
lea r12d, [rdx + rax]
sar r12d, 3
test r9d, r9d
jne 0x140165548
mov byte [r14], sil
inc r14
dec r12d
cmp ebx, 0xfffffffe
jne 0x14016559f
mov ebx, r12d
sub ebx, r15d
sub ebx, 2
test ebx, ebx
jle 0x1401655e3
lea rdx, [0x1402b4458]
mov r8d, 0xf2
mov ecx, ebx
call fcn.1400ede70
mov rsi, rax
test rax, rax
jne 0x1401655d1
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.1400dabf0
jmp 0x140165801
lea eax, [r15 + 2]
add eax, ebx
cmp r12d, eax
jge 0x140165556
mov edx, __WSAFDIsSet
lea r9, [0x1402b4488]
mov ecx, 4
lea r8d, [rdx - 0x26]
mov dword [rsp + 0x20], 0xed
call fcn.1400dabf0
jmp 0x140165801
mov edx, ebx
mov rcx, rax
call fcn.1400d9d10
test eax, eax
jle 0x1401657cb
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.1400fc3e0
test eax, eax
je 0x1401657cb
mov r13d, 8
lea rdx, [0x1402359c8]
lea rcx, [rsp + 0x40]
mov r8d, r13d
call qword [rsp + 0x68]
test eax, eax
je 0x1401657cb
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x40]
mov r8, r15
call qword [rsp + 0x68]
test eax, eax
je 0x1401657cb
test ebx, ebx
je 0x140165686
lea rcx, [rsp + 0x40]
movsxd r8, ebx
mov rdx, rsi
call qword [rsp + 0x68]
test eax, eax
je 0x1401657cb
mov rax, qword [rsp + 0x40]
cmp dword [rax + 8], 0x40
jg 0x14016581b
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 0x1401656c8
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 0x1401657cb
lea rcx, [rsp + 0x40]
call fcn.1400fca40
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.140167540
test eax, eax
jne 0x1401657cb
sub ebp, ebx
sub ebp, 2
movsxd rdx, ebp
add rdx, r14
inc rdx
xor byte [rdx - 1], 1
test ebx, ebx
jle 0x1401657a4
cmp ebx, 0x10
jb 0x140165780
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rcx + rsi]
lea r8, [rcx + rdx]
cmp rdx, rax
ja 0x14016574a
cmp r8, rsi
jae 0x140165780
mov eax, ebx
and eax, 0x8000000f
jge 0x14016575a
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 0x140165760
movsxd r8, edi
movsxd r9, ebx
cmp r8, r9
jge 0x1401657a4
nop dword [rax + rax]
movzx eax, byte [r8 + rsi]
inc r8
lea rdx, [rdx + 1]
xor byte [rdx - 1], al
cmp r8, r9
jl 0x140165790
mov eax, dword [rsp + 0x30]
test eax, eax
je 0x1401657bd
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 0x140165801
mov rax, qword [0x1402eae88]
test rax, rax
je 0x1401657e3
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 0x140165801
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, [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