Function at 0x1401c7ab0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
mov eax, 0xf0
call fcn.140280460
sub rsp, rax
mov rax, qword [0x1403d66b0]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rbx, qword [rsp + 0x140]
mov rsi, rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x40], r8
mov r13, r9
mov qword [rsp + 0x48], rdx
mov rdi, r8
xor r12d, r12d
call fcn.1401b11c0
test r13, r13
mov rcx, rdi
cmove r13, rdi
call fcn.140189bc0
mov dword [rsp + 0x30], eax
mov edi, eax
test eax, eax
js 0x1401c7efc
mov qword [rsp + 0xe8], rbp
mov ebp, dword [rsp + 0x148]
cmp ebp, 0xffffffff
jne 0x1401c7b8c
mov ebp, eax
mov rcx, qword [rsi + 0x18]
mov qword [rsp + 0xd8], r15
call fcn.140185be0
mov rcx, rsi
lea r15d, [rax - 1]
and r15d, 7
call fcn.1401c0610
mov ecx, r15d
mov edx, 0xff
shl edx, cl
mov r8d, eax
test byte [rbx], dl
je 0x1401c7bbc
mov r8d, 0x85
mov dword [rsp + 0x20], 0x76
lea r9, [0x1403b53d8]
mov ecx, 4
lea edx, [r8 + 0x10]
call fcn.140176d10
jmp 0x1401c7eec
cmp ebp, 0xfffffffe
jne 0x1401c7b93
jmp 0x1401c7b32
jge 0x1401c7b32
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSAGetLastError
lea r9, [0x1403b53c0]
mov ecx, 4
lea r8d, [rdx - 0xd]
call fcn.140176d10
jmp 0x1401c7ef4
test r15d, r15d
jne 0x1401c7bc7
inc rbx
dec r8d
lea eax, [rdi + 2]
cmp r8d, eax
jge 0x1401c7be0
mov dword [rsp + 0x20], 0x7e
lea r9, [0x1403b53f0]
jmp 0x1401c7bfb
mov esi, r8d
sub esi, edi
lea eax, [rsi - 2]
cmp ebp, eax
jle 0x1401c7c13
mov dword [rsp + 0x20], 0x82
lea r9, [0x1403b5408]
mov r8d, WSASetLastError
lea ecx, [r8 - 0x69]
lea edx, [r8 + 0x28]
call fcn.140176d10
jmp 0x1401c7eec
lea eax, [r8 - 1]
movsxd rcx, eax
cmp byte [rcx + rbx], 0xbc
je 0x1401c7c47
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x86
lea r9, [0x1403b5420]
mov ecx, 4
lea r8d, [rdx - 0xf]
call fcn.140176d10
jmp 0x1401c7eec
dec esi
mov qword [rsp + 0xe0], r14
movsxd r14, esi
lea rdx, [0x1403b5438]
mov r8d, 0x8b
mov ecx, esi
lea rax, [r14 + rbx]
mov qword [rsp + 0x38], rax
call fcn.14017af20
mov rdi, rax
test rax, rax
jne 0x1401c7c9e
lea r9, [0x1403b5450]
mov dword [rsp + 0x20], 0x8d
mov edx, __WSAFDIsSet
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call fcn.140176d10
jmp 0x1401c7ee4
mov r8, qword [rsp + 0x38]
mov edx, esi
mov qword [rsp + 0x20], r13
mov rcx, rdi
movsxd r13, dword [rsp + 0x30]
mov r9d, r13d
call fcn.1401c6a20
test eax, eax
js 0x1401c7edc
mov edx, r12d
test esi, esi
jle 0x1401c7d58
cmp esi, 0x20
jb 0x1401c7d58
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rcx + rbx]
lea r8, [rcx + rdi]
cmp rdi, rax
ja 0x1401c7cee
cmp r8, rbx
jae 0x1401c7d58
mov ecx, esi
and ecx, 0x8000001f
jge 0x1401c7cff
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, esi
mov r8, rbx
sub eax, ecx
sub r8, rdi
mov r9, rdi
movsxd r10, eax
neg r9
mov rcx, rdi
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
add edx, 0x20
movdqu xmm1, xmmword [r8 + rcx]
lea rcx, [rcx + 0x20]
lea rax, [r9 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
movdqu xmm1, xmmword [r8 + rcx - 0x10]
movdqu xmm0, xmmword [rcx - 0x10]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rax, r10
jl 0x1401c7d20
movsxd rax, edx
cmp rax, r14
jge 0x1401c7d80
sub rbx, rdi
lea rcx, [rax + rdi]
sub r14, rax
nop word [rax + rax]
movzx eax, byte [rcx + rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r14, 1
jne 0x1401c7d70
test r15d, r15d
je 0x1401c7d96
mov ecx, 8
mov eax, 0xff
sub ecx, r15d
sar eax, cl
and byte [rdi], al
mov ebx, r12d
cmp byte [rdi], bl
jne 0x1401c7db1
lea ecx, [rsi - 1]
mov rax, rdi
cmp ebx, ecx
jge 0x1401c7db1
inc rax
inc ebx
cmp byte [rax], r12b
je 0x1401c7da3
movsxd rax, ebx
inc ebx
cmp byte [rax + rdi], 1
je 0x1401c7de3
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x98
lea r9, [0x1403b5468]
mov ecx, 4
lea r8d, [rdx - 0xe]
call fcn.140176d10
jmp 0x1401c7edc
test ebp, ebp
js 0x1401c7e16
mov eax, esi
sub eax, ebx
cmp eax, ebp
je 0x1401c7e16
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0x9c
lea r9, [0x1403b5480]
mov ecx, 4
lea r8d, [rdx - 0xd]
call fcn.140176d10
jmp 0x1401c7edc
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x50]
xor r8d, r8d
call fcn.1401b0c00
test eax, eax
je 0x1401c7edc
mov r8d, 8
lea rdx, [0x140314148]
lea rcx, [rsp + 0x50]
call fcn.1401b0e60
test eax, eax
je 0x1401c7edc
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x50]
mov r8, r13
call fcn.1401b0e60
test eax, eax
je 0x1401c7edc
sub esi, ebx
je 0x1401c7e80
movsxd rdx, ebx
lea rcx, [rsp + 0x50]
add rdx, rdi
movsxd r8, esi
call fcn.1401b0e60
test eax, eax
je 0x1401c7edc
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x50]
call fcn.1401b0b20
test eax, eax
je 0x1401c7edc
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x80]
mov r8, r13
call fcn.140283140
test eax, eax
je 0x1401c7ed6
mov edx, __WSAFDIsSet
mov dword [rsp + 0x20], 0xaa
lea r9, [0x1403b5498]
mov ecx, 4
lea r8d, [rdx - 0x2d]
call fcn.140176d10
jmp 0x1401c7edc
mov r12d, 1
mov rcx, rdi
call fcn.14017ae80
mov r14, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xe8]
lea rcx, [rsp + 0x50]
call fcn.1401b0e80
mov eax, r12d
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.14027f960
add rsp, 0xf0
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret