Function at 0x140167110
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 [0x140264330]
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 0x1401674b4
mov r15d, eax
sub r15d, r9d
jns 0x140167177
mov dword [rsp + 0x30], 1
mov r15d, ebp
mov r13d, eax
lea edi, [rax - 0x14]
lea ebx, [rax + rdi]
test ebx, ebx
jle 0x140167492
mov rax, qword [0x1402eae90]
mov dword [reloc.WS2_32.dll_accept], ebp
test rax, rax
je 0x1401671b4
lea r8, [0x1402b4ba8]
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, [0x1402b4ba8]
movsxd rcx, ebx
mov r8d, 0x7c
call qword [0x140223d08]
mov rsi, rax
mov rax, qword [0x1402eae90]
test rax, rax
je 0x1401671f5
lea r8, [0x1402b4ba8]
mov r9d, 0x7c
mov edx, ebx
mov rcx, rsi
mov dword [rsp + 0x20], 1
call rax
test rsi, rsi
je 0x140167492
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, [0x1402339a0]
mov ebx, setsockopt
lea rcx, [rsp + 0x48]
mov r8, r15
mov r9d, edi
mov edx, ebx
mov qword [rsp + 0x20], r13
call fcn.140167540
test eax, eax
jne 0x14016750a
lea rax, [r14 + 0x13]
lea rdx, [rsp + 0x48]
mov ecx, ebp
cmp rdx, rax
ja 0x140167270
lea rax, [rsp + 0x5b]
cmp rax, r14
jae 0x14016728a
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 0x1401672b7
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 0x1401672a0
lea r8, [rsp + 0x48]
mov r9d, ebx
mov edx, edi
mov rcx, rsi
mov qword [rsp + 0x20], r13
call fcn.140167540
test eax, eax
jne 0x14016750a
mov edx, ebp
test edi, edi
jle 0x14016732e
cmp edi, 0x10
jb 0x14016732e
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rcx + r15]
lea r8, [rcx + rsi]
cmp rsi, rax
ja 0x1401672f9
cmp r8, r15
jae 0x14016732e
mov eax, edi
and eax, 0x8000000f
jge 0x140167309
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, edi
sub ecx, eax
nop dword [rax]
movsxd rax, edx
add edx, 0x10
movdqu xmm1, xmmword [rax + r15]
movdqu xmm0, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp edx, ecx
jl 0x140167310
movsxd rax, edx
cmp rax, r12
jge 0x140167361
mov rdx, r12
sub r15, rsi
lea rcx, [rax + rsi]
sub rdx, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r15 + rcx]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec rdx
jne 0x140167350
lea r8, [rsp + 0x60]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], r13
call fcn.1400fc8e0
test eax, eax
je 0x14016750a
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 0x140167390
test r9b, r9b
jne 0x1401674b4
cmp dword [rsp + 0x30], 0
jne 0x1401674b4
mov rax, rbx
cmp rbx, r12
jge 0x140167403
cmp byte [rax + rsi], 0
jne 0x140167403
inc rax
inc ebx
cmp rax, r12
jl 0x1401673f3
cmp ebx, edi
je 0x1401674b4
movsxd rax, ebx
cmp byte [rax + rsi], 1
jne 0x1401674b4
inc ebx
sub edi, ebx
cmp dword [rsp + 0x34], edi
jge 0x140167447
mov edx, 0x7a
lea r9, [0x1402b4c08]
mov dword [rsp + 0x20], 0xa8
lea ecx, [rdx - 0x76]
lea r8d, [rdx - 0xd]
call fcn.1400dabf0
or edi, 0xffffffff
jmp 0x14016745a
mov rcx, qword [rsp + 0x40]
movsxd rdx, ebx
movsxd r8, edi
add rdx, rsi
call sub.MSVCR120.dll_memcpy
mov rax, qword [0x1402eae88]
test rax, rax
je 0x14016746d
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 0x14016748b
mov edx, 1
xor ecx, ecx
call rax
mov eax, edi
jmp 0x14016750d
mov edx, 0x7a
lea r9, [0x1402b4c38]
mov dword [rsp + 0x20], 0x7f
lea ecx, [rdx - 0x76]
lea r8d, [rdx - 0x39]
call fcn.1400dabf0
jmp 0x14016750a
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.1400dabf0
test rsi, rsi
je 0x14016750a
mov rax, qword [0x1402eae88]
test rax, rax
je 0x1401674ec
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 0x14016750a
mov edx, 1
xor ecx, ecx
call rax
or eax, 0xffffffff
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1401bb2c0
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret