Function at 0x140164010
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 [0x1402581e0]
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 0x14016409e
mov edx, 0xa2
lea ecx, [r8 + 6]
lea r9, str.....opensslopensslcryptoevpevp_lib.c
lea r8d, [rdx - 3]
mov dword [rsp + 0x20], 0x10e
call fcn.1400d9be0
jmp 0x1401643a3
mov r9d, dword [r8 + 8]
mov dword [rsp + 0x30], r9d
test r9d, r9d
js 0x1401643a3
mov r15d, dword [rbp + 0x7f]
cmp r15d, 0xffffffff
jne 0x1401640d1
mov r15d, r9d
mov rdx, qword [rcx + 0x18]
mov eax, dword [rdx + 8]
lea r8d, [rax - 1]
test eax, eax
jne 0x140164102
mov eax, r12d
jmp 0x140164118
cmp r15d, 0xfffffffe
jne 0x1401640d9
jmp 0x1401640bd
jge 0x1401640bd
mov edx, __WSAFDIsSet
lea r9, [0x1402a8158]
mov ecx, 4
lea r8d, [rdx - 0xd]
mov dword [rsp + 0x20], WSASetLastError
call fcn.1400d9be0
jmp 0x1401643a3
mov rcx, qword [rdx]
movsxd rax, r8d
mov rcx, qword [rcx + rax*8]
call fcn.1400d46c0
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 0x140164130
mov eax, r12d
jmp 0x140164146
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
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 0x140164188
mov edx, __WSAFDIsSet
lea r9, [0x1402a8128]
mov ecx, 4
lea r8d, [rdx - 0x10]
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSACleanup
call fcn.1400d9be0
jmp 0x1401643a3
test r13d, r13d
jne 0x140164192
inc rbx
dec edi
lea eax, [r9 + 2]
add eax, r15d
cmp edi, eax
jge 0x1401641c4
mov edx, __WSAFDIsSet
lea r9, [0x1402a81b8]
mov ecx, 4
lea r8d, [rdx - 0x28]
mov dword [rsp + 0x20], 0x7e
call fcn.1400d9be0
jmp 0x1401643a3
movsxd rax, edi
cmp byte [rax + rbx - 1], 0xbc
je 0x1401641f5
mov edx, __WSAFDIsSet
lea r9, [0x1402a8188]
mov ecx, 4
lea r8d, [rdx - 0xf]
mov dword [rsp + 0x20], 0x83
call fcn.1400d9be0
jmp 0x1401643a3
sub edi, r9d
lea rdx, [0x1402a8218]
mov r8d, 0x88
dec edi
movsxd r14, edi
mov ecx, edi
lea rax, [r14 + rbx]
mov qword [rbp - 0x71], rax
call fcn.1400ecea0
mov rsi, rax
test rax, rax
jne 0x140164246
lea r9, [0x1402a81e8]
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x8b
call fcn.1400d9be0
jmp 0x1401643a3
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.140166720
test eax, eax
js 0x140164372
mov edx, r12d
test edi, edi
jle 0x1401642e7
cmp edi, 0x20
jb 0x1401642e7
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rcx + rbx]
lea r8, [rcx + rsi]
cmp rsi, rax
ja 0x14016428e
cmp r8, rbx
jae 0x1401642e7
mov eax, edi
and eax, 0x8000001f
jge 0x14016429e
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, edi
sub r8d, eax
nop dword [rax]
nop dword [rax + rax]
movsxd rax, edx
movdqu xmm0, xmmword [rax + rsi]
movdqu xmm1, xmmword [rax + rbx]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [rdx + 0x10]
add edx, 0x20
movsxd rcx, eax
movdqu xmm1, xmmword [rcx + rbx]
movdqu xmm0, xmmword [rcx + rsi]
pxor xmm1, xmm0
movdqu xmmword [rcx + rsi], xmm1
cmp edx, r8d
jl 0x1401642b0
movsxd rax, edx
cmp rax, r14
jge 0x140164310
sub rbx, rsi
lea rcx, [rax + rsi]
sub r14, rax
nop dword [rax]
movzx eax, byte [rbx + rcx]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec r14
jne 0x140164300
test r13d, r13d
je 0x140164326
mov ecx, 8
mov eax, 0xff
sub ecx, r13d
sar eax, cl
and byte [rsi], al
mov ebx, r12d
cmp byte [rsi], bl
jne 0x140164341
lea ecx, [rdi - 1]
mov rax, rsi
cmp ebx, ecx
jge 0x140164341
inc rax
inc ebx
cmp byte [rax], r12b
je 0x140164333
movsxd rax, ebx
inc ebx
cmp byte [rax + rsi], 1
je 0x140164437
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], reloc.WS2_32.dll___WSAFDIsSet
lea r9, [0x1402a8278]
lea r8d, [rdx - 0xe]
mov ecx, 4
call fcn.1400d9be0
mov rax, qword [0x1402ddc88]
test rax, rax
je 0x140164385
xor edx, edx
mov rcx, rsi
call rax
mov rcx, rsi
call qword [sub.MSVCR120.dll_free]
mov rax, qword [0x1402ddc88]
test rax, rax
je 0x1401643a3
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1401643f6
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1401643c4
test byte [rsp + 0x48], 2
jne 0x1401643c4
lea rcx, [rsp + 0x38]
call rdx
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1401643f6
movsxd rdx, dword [rax + 0x60]
test edx, edx
je 0x1401643f6
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1401643f6
test byte [rsp + 0x48], 4
jne 0x1401643f6
call fcn.140011ba0
mov rcx, qword [rsp + 0x50]
call fcn.1400ed110
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140164405
call fcn.140105260
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140164414
call fcn.1400f5ea0
mov eax, r12d
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.1401bddc0
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r15d, r15d
js 0x140164467
mov eax, edi
sub eax, ebx
cmp eax, r15d
je 0x140164467
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x9c
lea r9, [0x1402a8248]
lea r8d, [rdx - 0xd]
mov ecx, 4
jmp 0x14016436d
mov rdx, qword [rbp - 0x69]
lea rcx, [rsp + 0x38]
xor r8d, r8d
call fcn.1400fb400
test eax, eax
je 0x140164372
lea rdx, [0x14022aa18]
lea rcx, [rsp + 0x38]
mov r8d, 8
call qword [rbp - 0x79]
test eax, eax
je 0x140164372
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 0x140164372
sub edi, ebx
je 0x1401644d6
movsxd rdx, ebx
lea rcx, [rsp + 0x38]
movsxd r8, edi
add rdx, rsi
call qword [rbp - 0x79]
test eax, eax
je 0x140164372
mov rax, qword [rsp + 0x38]
cmp dword [rax + 8], 0x40
jg 0x14016456c
lea rdx, [rbp - 0x49]
lea rcx, [rsp + 0x38]
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x38]
mov r9, qword [rcx + 0x30]
mov ebx, eax
test r9, r9
je 0x140164513
lea rcx, [rsp + 0x38]
call r9
or dword [rsp + 0x48], 2
mov rcx, qword [rsp + 0x38]
movsxd r8, dword [rcx + 0x60]
mov rcx, qword [rsp + 0x50]
xor edx, edx
call sub.MSVCR120.dll_memset
test ebx, ebx
je 0x140164372
mov rdx, qword [rbp - 0x71]
lea rcx, [rbp - 0x49]
mov r8, r14
call sub.MSVCR120.dll_memcmp
test eax, eax
je 0x140164561
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0xac
lea r9, [0x1402a82d8]
lea r8d, [rdx - 0x2d]
mov ecx, 4
jmp 0x14016436d
mov r12d, 1
jmp 0x140164372
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