Function at 0x1401662e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x1402581e0]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0xe0]
xor ebp, ebp
mov r13d, r9d
dec eax
mov qword [rsp + 0x38], r8
mov dword [rsp + 0x34], edx
mov qword [rsp + 0x40], rcx
mov esi, ebp
mov dword [rsp + 0x30], ebp
cmp eax, 0x29
jl 0x140166694
mov r15d, eax
sub r15d, r9d
jns 0x140166347
mov dword [rsp + 0x30], 1
mov r15d, ebp
mov r13d, eax
lea edi, [rax - 0x14]
lea ebx, [rax + rdi]
test ebx, ebx
jle 0x140166672
mov rax, qword [0x1402ddc90]
mov dword [reloc.WS2_32.dll_accept], ebp
test rax, rax
je 0x140166384
lea r8, [0x1402a8a58]
mov r9d, 0x7c
mov edx, ebx
xor ecx, ecx
mov dword [reloc.WS2_32.dll_accept], ebp
mov dword [rsp + 0x20], ebp
call rax
lea rdx, [0x1402a8a58]
movsxd rcx, ebx
mov r8d, 0x7c
call qword [0x140218c18]
mov rsi, rax
mov rax, qword [0x1402ddc90]
test rax, rax
je 0x1401663c5
lea r8, [0x1402a8a58]
mov r9d, 0x7c
mov edx, ebx
mov rcx, rsi
mov dword [rsp + 0x20], 1
call rax
test rsi, rsi
je 0x140166672
movsxd r12, edi
movsxd rbx, r15d
xor edx, edx
lea r14, [r12 + rsi]
mov r8, rbx
mov rcx, r14
call sub.MSVCR120.dll_memset
mov rdx, qword [rsp + 0x38]
lea rcx, [rbx + r14]
movsxd r8, r13d
call sub.MSVCR120.dll_memcpy
lea r15, [r14 + 0x14]
lea r13, [0x140228860]
mov ebx, setsockopt
lea rcx, [rsp + 0x48]
mov r8, r15
mov r9d, edi
mov edx, ebx
mov qword [rsp + 0x20], r13
call fcn.140166720
test eax, eax
jne 0x1401666ea
lea rax, [r14 + 0x13]
lea rdx, [rsp + 0x48]
mov ecx, ebp
cmp rdx, rax
ja 0x140166440
lea rax, [rsp + 0x5b]
cmp rax, r14
jae 0x14016645a
nop
movdqu xmm1, xmmword [r14]
movdqu xmm0, xmmword [rsp + 0x48]
mov ecx, reloc.WS2_32.dll_recv
pxor xmm1, xmm0
movdqu xmmword [rsp + 0x48], xmm1
movsxd rdx, ecx
cmp rdx, rbx
jge 0x140166487
lea rax, [rsp + 0x48]
sub r14, rax
nop word [rax + rax]
lea rcx, [rsp + 0x48]
add rcx, rdx
inc rdx
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
cmp rdx, rbx
jl 0x140166470
lea r8, [rsp + 0x48]
mov r9d, ebx
mov edx, edi
mov rcx, rsi
mov qword [rsp + 0x20], r13
call fcn.140166720
test eax, eax
jne 0x1401666ea
mov edx, ebp
test edi, edi
jle 0x140166519
cmp edi, 0x20
jb 0x140166519
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rcx + r15]
lea r8, [rcx + rsi]
cmp rsi, rax
ja 0x1401664c9
cmp r8, r15
jae 0x140166519
mov eax, edi
and eax, 0x8000001f
jge 0x1401664d9
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, edi
sub r8d, eax
nop
movsxd rax, edx
movdqu xmm0, xmmword [rax + rsi]
movdqu xmm1, xmmword [rax + r15]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [rdx + 0x10]
add edx, 0x20
movsxd rcx, eax
movdqu xmm1, xmmword [rcx + r15]
movdqu xmm0, xmmword [rcx + rsi]
pxor xmm1, xmm0
movdqu xmmword [rcx + rsi], xmm1
cmp edx, r8d
jl 0x1401664e0
movsxd rax, edx
cmp rax, r12
jge 0x140166541
mov rdx, r12
sub r15, rsi
lea rcx, [rax + rsi]
sub rdx, rax
nop
movzx eax, byte [rcx + r15]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec rdx
jne 0x140166530
lea r8, [rsp + 0x60]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], r13
call fcn.1400fb900
test eax, eax
je 0x1401666ea
lea rax, [rsp + 0x64]
mov r8, rsi
xor r9b, r9b
sub r8, rax
nop dword [rax]
lea rcx, [rsp + 0x64]
add rcx, rbp
add rbp, 5
movzx edx, byte [rcx + r8 + 1]
movzx eax, byte [rcx + r8 + 2]
xor al, byte [rcx - 2]
xor dl, byte [rcx - 3]
or dl, al
movzx eax, byte [rcx + r8 + 3]
xor al, byte [rcx - 1]
or dl, al
movzx eax, byte [rcx + r8]
xor al, byte [rcx - 4]
or dl, al
movzx eax, byte [rcx + r8 + 4]
xor al, byte [rcx]
or dl, al
or r9b, dl
cmp rbp, rbx
jb 0x140166570
test r9b, r9b
jne 0x140166694
cmp dword [rsp + 0x30], 0
jne 0x140166694
mov rax, rbx
cmp rbx, r12
jge 0x1401665e3
cmp byte [rax + rsi], 0
jne 0x1401665e3
inc rax
inc ebx
cmp rax, r12
jl 0x1401665d3
cmp ebx, edi
je 0x140166694
movsxd rax, ebx
cmp byte [rax + rsi], 1
jne 0x140166694
inc ebx
sub edi, ebx
cmp dword [rsp + 0x34], edi
jge 0x140166627
mov edx, 0x7a
lea r9, [0x1402a8ab8]
mov dword [rsp + 0x20], 0xa8
lea ecx, [rdx - 0x76]
lea r8d, [rdx - 0xd]
call fcn.1400d9be0
or edi, 0xffffffff
jmp 0x14016663a
mov rcx, qword [rsp + 0x40]
movsxd rdx, ebx
movsxd r8, edi
add rdx, rsi
call sub.MSVCR120.dll_memcpy
mov rax, qword [0x1402ddc88]
test rax, rax
je 0x14016664d
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 0x14016666b
mov edx, 1
xor ecx, ecx
call rax
mov eax, edi
jmp 0x1401666ed
mov edx, 0x7a
lea r9, [0x1402a8ae8]
mov dword [rsp + 0x20], 0x7f
lea ecx, [rdx - 0x76]
lea r8d, [rdx - 0x39]
call fcn.1400d9be0
jmp 0x1401666ea
mov edx, 0x7a
lea r9, str.....opensslopensslcrypto_rsa_rsa_oaep.c
mov dword [rsp + 0x20], 0xb5
lea ecx, [rdx - 0x76]
lea r8d, [rdx - 1]
call fcn.1400d9be0
test rsi, rsi
je 0x1401666ea
mov rax, qword [0x1402ddc88]
test rax, rax
je 0x1401666cc
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 0x1401666ea
mov edx, 1
xor ecx, ecx
call rax
or eax, 0xffffffff
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1401bddc0
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret