Function at 0x1400c86a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov r12, rcx
mov rax, qword [rcx]
mov r9, qword [rcx + 8]
sub r9, rax
mov rcx, qword [0x1402ba230]
shr rcx, 0x27
xor cl, 0x65
sar r9, cl
mov rcx, qword [0x1402ba238]
mov r10, qword [0x1402ba240]
shrd r10, rcx, 0x13
movabs r11, 0x38a16fc24fc66de6
xor r11, r10
mov r10, qword [r12 + 0x10]
sub r10, rax
imul ecx, dword [0x1402ba248], 0x7ce688a6
imul esi, dword [0x1402ba250], 0x3ea91ffa
add esi, ecx
mov ecx, esi
add cl, 0x11
sar r10, cl
mov cl, byte [0x1402ba25c]
not cl
mov rsi, r10
shr rsi, cl
mov r15, r11
add r15, r9
mov rcx, qword [0x1402ba260]
mov r9, qword [0x1402ba268]
shrd r9, rcx, 4
movabs rcx, 0x810adae681a71c30
xor rcx, r9
sub rcx, rsi
add rsi, r10
cmp rsi, r15
cmovbe rsi, r15
mov r9, qword [0x1402ba270]
mov r11, qword [0x1402ba278]
shrd r11, r9, 0x2c
movabs r9, 0x57789fa46a5204db
xor r9, r11
cmp r10, rcx
cmovbe r9, rsi
mov rbx, rdx
movabs rcx, 0x14386c4722e3854b
imul rcx, qword [0x1402ba280]
movabs rdx, 0x971e40161e034b8a
imul rdx, qword [0x1402ba288]
add rdx, rcx
movabs rcx, 0x5e9c0723755b9256
add rcx, rdx
cmp r9, rcx
ja 0x1400c8ed6
mov r14, r8
mov rdi, rbx
sub rdi, rax
mov rax, qword [0x1402ba290]
shr rax, 0x35
mov ecx, eax
xor cl, 0xf
mov rax, r9
shl rax, cl
mov rcx, qword [0x1402ba298]
mov rdx, qword [0x1402ba2a0]
shrd rdx, rcx, 0xf
movabs rcx, 0xd42e88971040433a
xor rcx, rdx
cmp r9, rcx
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r9
jbe 0x1400c881f
mov rcx, rax
call fcn.1400031b3
jmp 0x1400c8851
mov rcx, qword [0x1402ba2a8]
mov rdx, qword [0x1402ba2b0]
shrd rdx, rcx, 0x23
movabs rcx, 0x3c709536c3613345
xor rcx, rdx
cmp r9, rcx
jne 0x1400c8849
xor r13d, r13d
jmp 0x1400c8854
mov rcx, rax
call fcn.1400d87f8
mov r13, rax
mov qword [r13 + rdi], 0
mov rax, qword [0x1402ba2b8]
mov rcx, qword [0x1402ba2c0]
shrd rcx, rax, 0x16
movabs rax, 0x9eb7c09a768538a6
xor rax, rcx
mov qword [r13 + rdi + 0x10], rax
mov rax, qword [0x1402ba2c8]
mov rcx, qword [0x1402ba2d0]
shrd rcx, rax, 0x10
lea rsi, [rdi + r13]
movabs rax, 0x41868812592edbb2
xor rax, rcx
mov qword [r13 + rdi + 0x18], rax
movzx eax, byte [0x1402ba2d8]
movzx ecx, byte [0x1402ba2d9]
imul eax, eax, 0xffffffc2
imul ecx, ecx, 0xffffffaa
add cl, al
add cl, 0x34
mov byte [r13 + rdi], cl
mov rcx, r14
call fcn.1401b6280
nop
mov qword [rbp - 0x10], rsi
mov rcx, rsi
mov rdx, r14
mov r8, rax
call fcn.140002e0c
nop
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
cmp rcx, rbx
je 0x1400c8a9d
cmp rax, rbx
je 0x1400c89c7
xorps xmm0, xmm0
movabs rcx, 0x7b29f3bbf1e018f
movabs rdx, 0x933d067774221f61
movabs r8, 0xc8d2db365cd38d37
movabs r9, 0xd93499a2f541f6c
xor r11d, r11d
mov qword [r13 + r11], 0
movups xmmword [r13 + r11 + 0x10], xmm0
lea r10, [rax + r11]
add r10, 0x20
movups xmm1, xmmword [r10 - 0x20]
movups xmm2, xmmword [r10 - 0x10]
movups xmmword [r13 + r11 + 0x10], xmm2
movups xmmword [r13 + r11], xmm1
mov rsi, qword [0x1402ba308]
mov r14, qword [0x1402ba310]
imul r14, rdx
imul rsi, rcx
add r14, rsi
add r14, r8
mov qword [r10 - 0x10], r14
mov rsi, qword [0x1402ba318]
mov r14, qword [0x1402ba320]
shrd r14, rsi, 0x15
xor r14, r9
mov qword [r10 - 8], r14
mov sil, byte [0x1402ba328]
mov r14b, byte [reloc.WS2_32.dll_getsockopt]
shr r14b, 7
add sil, sil
or sil, r14b
xor sil, 0xee
mov byte [r10 - 0x20], sil
add r11, 0x20
cmp r10, rbx
jne 0x1400c892e
mov rcx, qword [r12 + 8]
cmp rcx, rbx
je 0x1400c8b80
mov rax, rcx
lea rcx, [rdi + r13]
add rcx, 0x20
xorps xmm0, xmm0
movabs rdx, 0x362438a080c2ff36
movabs r8, 0x4d717b89e4c6f18e
movabs r9, 0xcc0b8a57ce5a79bf
movabs r10, 0xe646c03cc244bba1
xor esi, esi
mov qword [rcx + rsi], 0
movups xmmword [rcx + rsi + 0x10], xmm0
lea r11, [rbx + rsi]
add r11, 0x20
movups xmm1, xmmword [r11 - 0x20]
movups xmm2, xmmword [r11 - 0x10]
movups xmmword [rcx + rsi + 0x10], xmm2
movups xmmword [rcx + rsi], xmm1
mov rdi, qword [0x1402ba338]
mov r14, qword [0x1402ba330]
shrd rdi, r14, 0x10
xor rdi, rdx
mov qword [r11 - 0x10], rdi
mov rdi, qword [0x1402ba340]
mov r14, qword [0x1402ba348]
imul r14, r9
imul rdi, r8
add r14, rdi
add r14, r10
mov qword [r11 - 8], r14
mov dil, byte [0x1402ba350]
mov r14b, byte [0x1402ba351]
shr r14b, 2
shl dil, 6
or dil, r14b
xor dil, 0x53
mov byte [r11 - 0x20], dil
add rsi, 0x20
cmp r11, rax
jne 0x1400c8a08
jmp 0x1400c8b80
cmp rax, rbx
je 0x1400c8ec9
xorps xmm0, xmm0
movabs rcx, 0x78377ae74b67cef5
movabs rdx, 0x89094eace8fe465
movabs r8, 0x6fdc77fc21a1728d
movabs r9, 0x6e32d47fb3614dca
movabs r10, 0x73844487c4429eab
movabs r11, 0x94511c96c76bbc0f
xor edi, edi
mov qword [r13 + rdi], 0
movups xmmword [r13 + rdi + 0x10], xmm0
lea rsi, [rax + rdi]
add rsi, 0x20
movups xmm1, xmmword [rsi - 0x20]
movups xmm2, xmmword [rsi - 0x10]
movups xmmword [r13 + rdi + 0x10], xmm2
movups xmmword [r13 + rdi], xmm1
mov r14, qword [0x1402ba2e0]
mov r15, qword [0x1402ba2e8]
imul r14, rcx
imul r15, rdx
add r15, r14
add r15, r8
mov qword [rsi - 0x10], r15
mov r14, qword [0x1402ba2f0]
mov r15, qword [0x1402ba2f8]
imul r15, r10
imul r14, r9
add r15, r14
add r15, r11
mov qword [rsi - 8], r15
mov r14b, byte [reloc.WS2_32.dll_recv]
mov r15b, byte [0x1402ba301]
shr r15b, 5
shl r14b, 3
or r14b, r15b
xor r14b, 0x84
mov byte [rsi - 0x20], r14b
add rdi, 0x20
cmp rsi, rbx
jne 0x1400c8ae7
mov rax, qword [r12]
test rax, rax
je 0x1400c8e90
mov rdi, qword [r12 + 8]
cmp rax, rdi
je 0x1400c8dc5
mov qword [rbp - 8], r12
movabs rdx, 0xdb3cabd0109dde7b
mov r15, rax
movabs r8, 0xcf9aacebba5665db
movabs r9, 0xab7037895f14606
movabs r12, 0x3643016cb41e8c61
movabs rsi, 0x48f226627c40a0d
movabs rbx, 0xa4fe09dfc5ccb5d9
movabs r14, 0x3db5bbcd7cb55477
mov rax, qword [0x1402ba358]
mov rcx, qword [0x1402ba360]
shrd rcx, rax, 0x3c
mov rax, qword [r15 + 0x18]
xor rcx, rdx
cmp rax, rcx
jbe 0x1400c8d50
mov rdx, qword [r15]
mov rcx, qword [0x1402ba368]
movabs r8, 0x53d27ce13f16312d
imul rcx, r8
mov r8, qword [0x1402ba370]
movabs r9, 0x82be68611dbe8f23
imul r8, r9
add r8, rcx
mov rcx, qword [0x1402ba378]
mov r9, qword [str._rFvB]
shrd r9, rcx, 0x2b
movabs rcx, 0xecdd4009d43d91de
lea r10, [rax + rcx]
mov rcx, r8
add rcx, r10
movabs r8, 0x5a6209a88d684438
xor r9, r8
cmp rcx, r9
jbe 0x1400c8d24
mov rcx, qword [rdx - 8]
mov r8, qword [0x1402ba388]
mov r9, qword [0x1402ba390]
shrd r9, r8, 4
movabs r8, 0xdf265f5e3cd3f964
xor r9, r8
add r9, rdx
sub r9, rcx
mov rdx, qword [0x1402ba398]
movabs r8, 0xbfb2c38837cbda5
imul rdx, r8
mov r8, qword [0x1402ba3a0]
movabs r10, 0xe5e4874cfa73eb88
imul r8, r10
add r8, rdx
movabs rdx, 0xd14c555f38423ae6
add r8, rdx
cmp r9, r8
jae 0x1400c8ed1
mov rdx, qword [0x1402ba3a8]
movabs r8, 0xf8e3d46743c316cf
imul rdx, r8
mov r8, qword [0x1402ba3b0]
movabs r9, 0xa7d8ea580471a3d6
imul r8, r9
add r8, rdx
movabs rdx, 0xf24151246697e261
add rax, rdx
add rax, r8
jmp 0x1400c8d2a
mov rax, rcx
mov rcx, rdx
mov rdx, rax
call fcn.1400d883c
movabs rdx, 0xdb3cabd0109dde7b
movabs r8, 0xcf9aacebba5665db
movabs r9, 0xab7037895f14606
mov rax, qword [0x1402ba3b8]
imul rax, r8
mov rcx, qword [0x1402ba3c0]
imul rcx, r9
add rcx, rax
add rcx, r12
mov qword [r15 + 0x10], rcx
mov rax, qword [0x1402ba3c8]
imul rax, rsi
mov rcx, qword [0x1402ba3d0]
imul rcx, rbx
add rcx, rax
add rcx, r14
mov qword [r15 + 0x18], rcx
mov al, byte [0x1402ba3d8]
mov cl, byte [0x1402ba3d9]
shr cl, 1
shl al, 7
or al, cl
xor al, 0xab
mov byte [r15], al
mov rax, r15
add rax, 0x20
mov r15, rax
cmp rax, rdi
jne 0x1400c8be8
mov r12, qword [rbp - 8]
mov rdx, qword [r12]
jmp 0x1400c8dc8
mov rdx, rax
mov rax, qword [r12 + 0x10]
sub rax, rdx
mov rcx, qword [0x1402ba3e0]
mov r8, qword [0x1402ba3e8]
shrd r8, rcx, 0x27
movabs rcx, 0xfb65e49965563a27
xor rcx, r8
cmp rax, rcx
jbe 0x1400c8e85
mov rcx, qword [rdx - 8]
mov r8, qword [0x1402ba3f0]
mov r9, qword [0x1402ba3f8]
shrd r9, r8, 3
movabs r8, 0x826a23c4b0909d58
xor r8, r9
add r8, rdx
sub r8, rcx
mov rdx, qword [0x1402ba400]
mov r9, qword [0x1402ba408]
shrd r9, rdx, 0x17
movabs rdx, 0x7e69a9460f59b8d0
xor rdx, r9
cmp r8, rdx
jae 0x1400c8ed1
movabs rdx, 0x2df36dcee22dd929
imul rdx, qword [0x1402ba410]
movabs r8, 0x258ae9a35ecf442a
imul r8, qword [0x1402ba418]
add r8, rdx
movabs rdx, 0x7e501dbeda77b312
add rax, rdx
add rax, r8
jmp 0x1400c8e88
mov rcx, rdx
mov rdx, rax
call fcn.1400d883c
mov qword [r12], r13
mov rax, qword [rbp - 0x20]
shl rax, 5
add rax, r13
mov qword [r12 + 8], rax
mov rax, qword [rbp - 0x18]
shl rax, 5
add rax, r13
mov qword [r12 + 0x10], rax
mov rax, qword [rbp - 0x10]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, rbx
jmp 0x1400c8b84
call fcn.1401aec6c
call fcn.14000327e
int3