Function at 0x1400f7830
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0x200]
sub rsp, 0x300
mov rax, qword [0x140177090]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov rdi, qword [rbp + 0x268]
mov dword [rsp + 0x38], r9d
mov r9, qword [rbp + 0x258]
mov esi, 1
mov r14, r8
mov qword [rsp + 0x40], r8
mov dword [rsp + 0x34], esi
test r9, r9
jne 0x1400f78a8
mov edx, 0xa2
lea r9, str.....opensslopensslcryptoevpevp_lib.c
lea ecx, [rsi + 5]
lea r8d, [rdx - 3]
mov dword [rsp + 0x20], 0x10e
call fcn.140073540
xor eax, eax
jmp 0x1400f7c94
movsxd r12, dword [r9 + 8]
test r12d, r12d
jns 0x1400f78b8
xor eax, eax
jmp 0x1400f7c94
xor eax, eax
mov qword [rsp + 0x2f0], r13
mov r13d, dword [rbp + 0x260]
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
test rcx, rcx
jne 0x1400f791f
xor edx, edx
jmp 0x1400f7946
cmp edx, 0xffffffff
jne 0x1400f7946
xor edx, edx
mov rax, rcx
cmp byte [rcx], dl
je 0x1400f7942
nop dword [rax]
cmp edx, 0x80000000
jae 0x1400f7942
inc rax
inc edx
cmp byte [rax], 0
jne 0x1400f7930
btr edx, 0x1f
mov r8d, edx
mov rdx, rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], 0
call fcn.1400c19d0
test eax, eax
jne 0x1400f7986
lea rcx, [rbp - 0x78]
call fcn.140096160
lea rcx, [rbp - 0x48]
call fcn.140096160
lea rcx, [rsp + 0x58]
call fcn.140096160
xor eax, eax
jmp 0x1400f7c8c
mov qword [rsp + 0x2f8], rbx
mov qword [rsp + 0x2e8], r15
test r13d, r13d
je 0x1400f7c5b
mov r15d, dword [rbp + 0x250]
nop word [rax + rax]
mov eax, esi
mov ebx, r13d
cmp r13d, r12d
cmovg ebx, r12d
shr eax, 0x18
lea rdx, [rsp + 0x50]
mov byte [rsp + 0x30], al
mov eax, esi
lea rcx, [rbp + 0x70]
shr eax, 0x10
mov byte [rsp + 0x33], sil
mov byte [rsp + 0x31], al
mov eax, esi
shr eax, 8
mov byte [rsp + 0x32], al
call fcn.1400c1d80
test eax, eax
je 0x1400f7c3b
movsxd r8, dword [rsp + 0x38]
lea rcx, [rbp + 0x78]
mov rdx, r14
call qword [rbp + 0xa0]
test eax, eax
je 0x1400f7be8
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x78]
mov r8d, 4
call qword [rbp + 0xa0]
test eax, eax
je 0x1400f7be8
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x70]
xor r8d, r8d
call fcn.1400c1c60
test eax, eax
je 0x1400f7be8
lea rcx, [rbp + 0xa8]
call fcn.140096160
lea rcx, [rbp + 0xd8]
call fcn.140096160
lea rcx, [rbp + 0x78]
call fcn.140096160
lea rcx, [rbp + 0x70]
xor edx, edx
mov r8d, 0x120
call sub.MSVCR120.dll_memset
movsxd r14, ebx
lea rdx, [rbp + 0x190]
mov r8, r14
mov rcx, rdi
call sub.MSVCR120.dll_memcpy
mov esi, 1
cmp r15d, esi
jle 0x1400f7bcc
nop word [rax + rax]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x70]
call fcn.1400c1d80
test eax, eax
je 0x1400f7c3b
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x78]
mov r8, r12
call qword [rbp + 0xa0]
test eax, eax
je 0x1400f7be8
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x70]
xor r8d, r8d
call fcn.1400c1c60
test eax, eax
je 0x1400f7be8
lea rcx, [rbp + 0xa8]
call fcn.140096160
lea rcx, [rbp + 0xd8]
call fcn.140096160
lea rcx, [rbp + 0x78]
call fcn.140096160
lea rcx, [rbp + 0x70]
xor edx, edx
mov r8d, 0x120
call sub.MSVCR120.dll_memset
xor r9d, r9d
test ebx, ebx
jle 0x1400f7b8b
cmp ebx, 0x10
jb 0x1400f7b8b
lea eax, [rbx - 1]
xor edx, edx
movsxd rcx, eax
lea rax, [rbp + 0x190]
add rax, rcx
lea r8, [rcx + rdi]
cmp rdi, rax
ja 0x1400f7b52
lea rax, [rbp + 0x190]
cmp r8, rax
jae 0x1400f7b8b
mov eax, ebx
and eax, 0x8000000f
jge 0x1400f7b62
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, ebx
sub ecx, eax
movsxd rax, edx
add edx, 0x10
add r9, 0x10
movdqu xmm1, xmmword [rbp + rax + 0x190]
movdqu xmm0, xmmword [rax + rdi]
pxor xmm1, xmm0
movdqu xmmword [rax + rdi], xmm1
cmp edx, ecx
jl 0x1400f7b66
cmp r9, r14
jge 0x1400f7bc1
lea r8, [rbp + 0x190]
mov rdx, r14
lea rax, [r9 + rdi]
sub r8, rdi
sub rdx, r9
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r8 + rax]
lea rax, [rax + 1]
xor byte [rax - 1], cl
dec rdx
jne 0x1400f7bb0
inc esi
cmp esi, r15d
jl 0x1400f7aa0
mov esi, dword [rsp + 0x34]
add rdi, r14
inc esi
mov dword [rsp + 0x34], esi
sub r13d, ebx
je 0x1400f7c5b
mov r14, qword [rsp + 0x40]
jmp 0x1400f79b0
lea rcx, [rbp - 0x78]
call fcn.140096160
lea rcx, [rbp - 0x48]
call fcn.140096160
lea rcx, [rsp + 0x58]
call fcn.140096160
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8d, 0x120
call sub.MSVCR120.dll_memset
lea rcx, [rbp + 0xa8]
call fcn.140096160
lea rcx, [rbp + 0xd8]
call fcn.140096160
lea rcx, [rbp + 0x78]
call fcn.140096160
xor eax, eax
jmp 0x1400f7c7c
lea rcx, [rbp - 0x78]
call fcn.140096160
lea rcx, [rbp - 0x48]
call fcn.140096160
lea rcx, [rsp + 0x58]
call fcn.140096160
xor eax, eax
jmp 0x1400f7c7c
lea rcx, [rbp - 0x78]
call fcn.140096160
lea rcx, [rbp - 0x48]
call fcn.140096160
lea rcx, [rsp + 0x58]
call fcn.140096160
mov eax, 1
mov rbx, qword [rsp + 0x2f8]
mov r15, qword [rsp + 0x2e8]
mov r13, qword [rsp + 0x2f0]
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.140129b50
add rsp, 0x300
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret