Function at 0x18001fba0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
lea rdi, [rcx + 0x58]
test rcx, rcx
jne 0x18001fbc6
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rcx, qword [rcx + 8]
mov edx, dword [rbx]
mov qword [rsp + 0x30], rbp
lea rax, [rdx + rcx]
mov qword [rsp + 0x38], rsi
mov qword [rbx + 8], rax
cmp rax, rcx
jae 0x18001fbe7
inc qword [rbx + 0x10]
mov byte [rdx + rdi], 0x80
inc dword [rbx]
mov ecx, dword [rbx]
movabs rsi, 0xff00ff00ff00ff
movabs rbp, 0xffff0000ffff
cmp ecx, 0x70
jbe 0x18001fc8c
mov r8d, 0x80
xor edx, edx
sub r8d, ecx
add rcx, rdi
call fcn.18002ed60
mov dword [rbx], 0x80
mov r8, rdi
mov r9d, reloc.WS2_32.dll_recv
nop
mov rcx, qword [r8]
lea r8, [r8 + 8]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, rsi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shl rdx, 0x10
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
and rcx, rbp
xor rcx, rdx
rol rcx, 0x20
mov qword [r8 - 8], rcx
dec r9
jne 0x18001fc30
mov rcx, rbx
call fcn.18001ec30
test eax, eax
jne 0x18001ff52
mov dword [rbx], eax
mov ecx, dword [rbx]
mov r8d, WSAStartup
xor edx, edx
sub r8d, ecx
add rcx, rdi
call fcn.18002ed60
mov rdx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
mov rcx, rdx
mov r8d, recv
shr rcx, 0x3d
lea rcx, [rcx + rax*8]
lea rax, [rdx*8]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rcx
nop word [rax + rax]
mov rcx, qword [rdi]
lea rdi, [rdi + 8]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, rsi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shl rdx, 0x10
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
and rcx, rbp
xor rcx, rdx
rol rcx, 0x20
mov qword [rdi - 8], rcx
dec r8
jne 0x18001fcd0
mov rax, qword [rbx + 0x10]
mov rcx, rbx
mov qword [rbx + 0xc8], rax
mov rax, qword [rbx + 8]
mov qword [rbx + 0xd0], rax
call fcn.18001ec30
test eax, eax
jne 0x18001ff52
mov rcx, qword [rbx + 0x18]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, rsi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shl rdx, 0x10
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
and rcx, rbp
xor rcx, rdx
rol rcx, 0x20
mov qword [rbx + 0x18], rcx
mov rcx, qword [rbx + 0x20]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, rsi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shl rdx, 0x10
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
and rcx, rbp
xor rcx, rdx
rol rcx, 0x20
mov qword [rbx + 0x20], rcx
mov rcx, qword [rbx + 0x28]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, rsi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shl rdx, 0x10
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
and rcx, rbp
xor rcx, rdx
rol rcx, 0x20
mov qword [rbx + 0x28], rcx
mov rcx, qword [rbx + 0x30]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, rsi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shl rdx, 0x10
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
and rcx, rbp
xor rcx, rdx
rol rcx, 0x20
mov qword [rbx + 0x30], rcx
mov rcx, qword [rbx + 0x38]
mov rdx, rcx
mov rax, rcx
shr rdx, 8
shl rax, 8
xor rdx, rax
shl rcx, 8
and rdx, rsi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shl rdx, 0x10
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
and rcx, rbp
xor rcx, rdx
rol rcx, 0x20
mov qword [rbx + 0x38], rcx
mov rcx, qword [rbx + 0x40]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, rsi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shl rdx, 0x10
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
and rcx, rbp
xor rcx, rdx
rol rcx, 0x20
mov qword [rbx + 0x40], rcx
mov rcx, qword [rbx + 0x48]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, rsi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shl rdx, 0x10
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
and rcx, rbp
xor rcx, rdx
rol rcx, 0x20
mov qword [rbx + 0x48], rcx
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
mov rax, rcx
shl rcx, 8
shr rdx, 8
shl rax, 8
xor rdx, rax
and rdx, rsi
xor rdx, rcx
mov rcx, rdx
mov rax, rdx
shl rdx, 0x10
shr rcx, 0x10
shl rax, 0x10
xor rcx, rax
and rcx, rbp
xor rcx, rdx
rol rcx, 0x20
xor eax, eax
mov qword [rbx + 0x50], rcx
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret