Function at 0x1400c68c4
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov ebx, edx
mov rsi, rcx
mov eax, dword [0x1402c08c0]
mov ecx, dword [0x1402bcbf8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400c6b04
mov rax, qword [0x1402c08b8]
mov ecx, dword [0x1402b9c64]
shr ecx, 0x11
movzx edi, bl
mov edx, edi
xor cl, 0x47
shr rdx, cl
movzx r9d, word [rax + rdx*2]
mov rcx, qword [rsi + 0x10]
mov r8, qword [rsi + 0x18]
cmp rcx, r8
jae 0x1400c69a7
mov rdx, qword [0x1402b9c68]
mov r10, qword [0x1402b9c70]
shrd r10, rdx, 0x3e
movabs rdx, 0x93dfbc7d67e21f76
xor rdx, r10
add rdx, rcx
mov qword [rsi + 0x10], rdx
mov r10, qword [0x1402b9c78]
mov r11, qword [0x1402b9c80]
shrd r11, r10, 0x1f
movabs rbx, 0xe9f5ea735eefe952
xor rbx, r11
mov r10, rsi
cmp r8, rbx
jbe 0x1400c697d
mov r10, qword [rsi]
mov word [r10 + rcx*2], r9w
movzx ecx, word [0x1402b9c88]
movzx r8d, word [0x1402b9c8a]
shrd r8w, cx, 9
mov ecx, r8d
xor ecx, 0x144e
mov word [r10 + rdx*2], cx
jmp 0x1400c69d6
mov rax, qword [0x1402b9c90]
mov rcx, qword [0x1402b9c98]
shrd rcx, rax, 0xc
movabs rdx, 0xbd5734733cb647a
xor rdx, rcx
mov rcx, rsi
call fcn.14000eee2
mov rax, qword [0x1402c08b8]
mov ecx, dword [0x1402b9ca0]
mov edx, dword [0x1402b9ca4]
shrd edx, ecx, 8
xor edx, 0x64669fab
and edi, edx
mov ecx, edi
movzx r9d, word [rax + rcx*2]
mov rax, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rax, rdx
jae 0x1400c6ab8
movabs rcx, 0xa4ac7aaa2b13d703
imul rcx, qword [0x1402b9ca8]
movabs r8, 0x5bad4f05cd046446
imul r8, qword [0x1402b9cb0]
add r8, rcx
movabs rcx, 0x4d7f2300f7f3c8fa
add rcx, rax
add rcx, r8
mov qword [rsi + 0x10], rcx
movabs r8, 0xc4062f38f7b56746
imul r8, qword [0x1402b9cb8]
movabs r10, 0x2b65d138c90d0f4a
imul r10, qword [0x1402b9cc0]
add r10, r8
movabs r8, 0x2306727b0e86fa0d
add r8, r10
cmp rdx, r8
jbe 0x1400c6a7d
mov rsi, qword [rsi]
mov word [rsi + rax*2], r9w
movzx eax, word [0x1402b9cc8]
movzx edx, word [0x1402b9cca]
imul eax, eax, 0x40ce
imul edx, edx, 0x142a
add eax, edx
add eax, 0xffffa6ea
mov word [rsi + rcx*2], ax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs rax, 0xee26cd9f1c9174ad
imul rax, qword [0x1402b9cd0]
movabs rcx, 0x176ad3578419c3a7
imul rcx, qword [0x1402b9cd8]
add rcx, rax
movabs rdx, 0x7f7b99c7a189d5f7
add rdx, rcx
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000eee2
lea rcx, [0x1402c08c0]
call fcn.1400d8948
mov eax, dword [0x1402b9c08]
mov ecx, dword [0x1402b9c0c]
shrd ecx, eax, 6
xor ecx, 0xdafb2d84
cmp dword [0x1402c08c0], ecx
jne 0x1400c68fe
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0xa60], 0
je 0x1400c6cad
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rax, [rax + 0xa3a]
mov cl, byte [0x1402b9c10]
mov dl, byte [0x1402b9c11]
shr dl, 3
shl cl, 5
or cl, dl
xor cl, 0x20
cmp byte [rax + 0x22], cl
je 0x1400c6c95
movabs rdx, 0x18c6ec251f247d8b
movabs r8, 0xb800c5bed87451b9
movabs r9, 0x76f88222918e11f7
movabs r10, 0x9fd6c3fe7ad5585c
movabs r11, 0x1e26f882e3243376
movabs rdi, 0xd96659d7456a8fae
movabs r14, 0x9cc8027e32963a29
xor r15d, r15d
mov rcx, qword [0x1402b9c18]
shr rcx, 0x35
xor cl, 0x2b
mov r12, r15
shl r12, cl
imul ecx, dword [0x1402b9c20], 0x4e4fb547
imul ebp, dword [0x1402b9c28], 0xf7ee339c
mov r13d, ebp
add ecx, r13d
add ecx, 0x28eb2a3a
mov ebp, r12d
and ebp, ecx
mov rcx, qword [0x1402b9c30]
imul rcx, rdx
mov r12, qword [0x1402b9c38]
imul r12, r8
add r12, rcx
add r12, r9
mov ecx, ebp
shr r12, cl
mov ecx, r12d
xor word [rax + r15*2], r12w
mov rcx, qword [0x1402b9c40]
mov r12, qword [0x1402b9c48]
shrd r12, rcx, 0x35
xor r12, r10
add r12, r15
mov rcx, qword [0x1402b9c50]
imul rcx, r11
mov r15, qword [0x1402b9c58]
imul r15, rdi
add r15, rcx
mov rcx, r15
add rcx, r14
mov r15, r12
cmp r12, rcx
jne 0x1400c6bd5
mov cl, byte [0x1402b9c60]
mov dl, byte [reloc.WS2_32.dll_WSASetLastError]
shr dl, 4
shl cl, 4
or cl, dl
xor cl, 7
mov byte [rax + 0x22], cl
mov qword [0x1402c08b8], rax
lea rcx, [0x1402c08c0]
call fcn.1400d89e0
jmp 0x1400c68fe
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0xa60], 1
lea rcx, [0x1400c6cd8]
call fcn.1400d8bb4
jmp 0x1400c6b52