Function at 0x140069e6e
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov rax, qword [rcx]
mov r9, qword [rcx + 8]
sub r9, rax
mov ecx, dword [0x1402a7760]
shr ecx, 0x13
xor cl, 0x99
sar r9, cl
mov rcx, qword [0x1402a7768]
mov r10, qword [0x1402a7770]
shrd r10, rcx, 0x38
movabs r15, 0x8d04dce3bc6b047e
xor r15, r10
add r15, r9
mov r9, qword [rsi + 0x10]
sub r9, rax
mov rcx, qword [0x1402a7778]
shr rcx, 0x1e
xor cl, 0x55
sar r9, cl
mov rcx, qword [0x1402a7780]
shr rcx, 0x1a
xor cl, 0xf3
mov r10, r9
shr r10, cl
mov rcx, qword [0x1402a7788]
mov r11, qword [0x1402a7790]
shrd r11, rcx, 0x3a
movabs rcx, 0x95063409fc50893b
xor rcx, r11
sub rcx, r10
add r10, r9
cmp r10, r15
cmovbe r10, r15
mov r14, r8
mov rbx, rdx
mov rdx, qword [0x1402a7798]
mov r8, qword [0x1402a77a0]
shrd r8, rdx, 0x27
movabs r12, 0x19e27d1dd275ed68
xor r12, r8
cmp r9, rcx
cmovbe r12, r10
mov rcx, qword [0x1402a77a8]
mov rdx, qword [0x1402a77b0]
shrd rdx, rcx, 0x28
movabs rcx, 0x8c80c9802abf5664
xor rcx, rdx
cmp r12, rcx
ja 0x14006a2af
mov rdi, rbx
imul ecx, dword [0x1402a77b8], 0xca8a34d5
imul edx, dword [0x1402a77c0], 0x50b74498
sub rdi, rax
add edx, ecx
mov ecx, edx
add cl, 0x30
mov rax, r12
shl rax, cl
mov rcx, qword [0x1402a77c8]
mov rdx, qword [0x1402a77d0]
shrd rdx, rcx, 0x25
movabs rcx, 0x5f2ab7fd61f70e94
xor rcx, rdx
cmp r12, rcx
jbe 0x140069fcf
mov rcx, rax
call fcn.1400031b3
jmp 0x14006a015
movabs rcx, 0x7803e560befcb78b
imul rcx, qword [0x1402a77d8]
movabs rdx, 0xb54f07626dbaa6a2
imul rdx, qword [0x1402a77e0]
add rdx, rcx
movabs rcx, 0xf2fba0ef56e85259
add rcx, rdx
cmp r12, rcx
jne 0x14006a00d
xor r13d, r13d
jmp 0x14006a018
mov rcx, rax
call fcn.1400d87f8
mov r13, rax
lea rax, [rdi + r13]
xorps xmm0, xmm0
movups xmmword [r13 + rdi], xmm0
mov rdx, qword [r14]
mov r14, rax
mov rcx, rax
call fcn.14003bdc4
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
cmp rcx, rbx
je 0x14006a0ee
cmp rax, rbx
je 0x14006a094
xor ecx, ecx
lea rdx, [rax + rcx]
add rdx, 0x10
movups xmm0, xmmword [rdx - 0x10]
movups xmmword [r13 + rcx], xmm0
movzx r8d, byte [0x1402a77ea]
movzx r9d, byte [0x1402a77eb]
imul r8d, r8d, 0xffffff8f
imul r9d, r9d, 0x4f
add r9b, r8b
add r9b, 0xcd
mov byte [rdx - 0x10], r9b
mov qword [rdx - 8], 0
add rcx, 0x10
cmp rdx, rbx
jne 0x14006a04a
mov rcx, qword [rsi + 8]
cmp rcx, rbx
je 0x14006a13f
mov rax, rcx
lea rcx, [rdi + r13]
add rcx, 0x10
xor edx, edx
lea r8, [rbx + rdx]
add r8, 0x10
movups xmm0, xmmword [r8 - 0x10]
movups xmmword [rcx + rdx], xmm0
mov r9b, byte [0x1402a77ec]
mov r10b, byte [reloc.WS2_32.dll_getsockname]
shr r10b, 7
add r9b, r9b
or r9b, r10b
xor r9b, 0xee
mov byte [r8 - 0x10], r9b
mov qword [r8 - 8], 0
add rdx, 0x10
cmp r8, rax
jne 0x14006a0aa
jmp 0x14006a13f
cmp rax, rbx
je 0x14006a2a7
xor ecx, ecx
lea rdx, [rax + rcx]
add rdx, 0x10
movups xmm0, xmmword [rdx - 0x10]
movups xmmword [r13 + rcx], xmm0
movzx r8d, byte [0x1402a77e8]
movzx r9d, byte [0x1402a77e9]
imul r8d, r8d, 0x27
imul r9d, r9d, 0xffffff8d
add r9b, r8b
add r9b, 0x38
mov byte [rdx - 0x10], r9b
mov qword [rdx - 8], 0
add rcx, 0x10
cmp rdx, rbx
jne 0x14006a0f9
mov rax, qword [rsi]
test rax, rax
je 0x14006a27a
mov rdi, qword [rsi + 8]
cmp rax, rdi
je 0x14006a178
mov rbx, rax
mov dl, byte [rax]
add rbx, 8
nop
mov rcx, rbx
call fcn.14002af04
nop
add rbx, 8
mov rax, rbx
cmp rbx, rdi
jne 0x14006a154
mov rdx, qword [rsi]
jmp 0x14006a17b
mov rdx, rax
mov rax, qword [rsi + 0x10]
sub rax, rdx
movabs rcx, 0x7e40467dc4775703
imul rcx, qword [0x1402a77f0]
movabs r8, 0x92467e12631d67f7
imul r8, qword [0x1402a77f8]
add r8, rcx
movabs rcx, 0x3102711e9c71b178
add rcx, r8
cmp rax, rcx
jbe 0x14006a26f
movabs r8, 0xbc52c8199928750f
imul r8, qword [0x1402a7800]
movabs r9, 0x8d28f3e44d53a4d2
imul r9, qword [0x1402a7808]
mov rcx, qword [rdx - 8]
add r9, r8
add r9, rdx
sub r9, rcx
movabs rdx, 0x1042b5c726398592
add rdx, r9
movabs r8, 0xa4e72e5693d97751
imul r8, qword [0x1402a7810]
movabs r9, 0xb62b409d94beb017
imul r9, qword [0x1402a7818]
add r9, r8
movabs r8, 0x7077ed4feafc6241
add r8, r9
cmp rdx, r8
jae 0x14006a2b4
movabs rdx, 0xc1513f8735fa7085
imul rdx, qword [0x1402a7820]
movabs r8, 0xf07787dc52118ede
imul r8, qword [0x1402a7828]
add r8, rdx
movabs rdx, 0xda258c565631720
add rax, rdx
add rax, r8
jmp 0x14006a272
mov rcx, rdx
mov rdx, rax
call fcn.1400d883c
mov qword [rsi], r13
shl r15, 4
add r15, r13
mov qword [rsi + 8], r15
shl r12, 4
add r12, r13
mov qword [rsi + 0x10], r12
mov rax, r14
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, rbx
jmp 0x14006a142
call fcn.14000327e
call fcn.1401aec6c
int3