Function at 0x18001a3e8
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x10
lea r15, [rcx + 2]
mov qword [rsp + 8], 4
mov ebp, 1
mov r14b, 0x1b
mov r10b, byte [r15 - 2]
xor dil, dil
mov r11b, byte [r15 - 1]
mov r8b, r10b
mov bl, byte [r15]
xor r9d, r9d
mov sil, byte [r15 + 1]
mov al, r8b
mov ecx, r9d
xor al, dil
mov edx, recv
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, dil
cmove ecx, eax
mov al, r8b
add al, al
mov dil, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, r14b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a429
mov byte [rsp + 5], dil
mov r8b, r11b
xor dil, dil
xor r9d, r9d
mov al, r8b
mov ecx, r9d
xor al, dil
mov edx, listen
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, dil
cmove ecx, eax
mov al, r8b
add al, al
mov dil, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, r14b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a47a
mov byte [rsp + 4], dil
mov r8b, bl
xor dil, dil
xor r9d, r9d
mov al, r8b
mov ecx, r9d
xor al, dil
mov edx, reloc.WS2_32.dll_listen
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, dil
cmove ecx, eax
mov al, r8b
add al, al
mov dil, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, r14b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a4cb
mov byte [rsp + 3], dil
mov r8b, sil
xor dil, dil
xor r9d, r9d
mov al, r8b
mov ecx, r9d
xor al, dil
mov edx, 9
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, dil
cmove ecx, eax
mov al, r8b
add al, al
mov dil, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, r14b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a51c
mov byte [rsp + 2], dil
mov r8b, r10b
xor dil, dil
xor r9d, r9d
mov al, r8b
mov ecx, r9d
xor al, dil
mov edx, 9
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, dil
cmove ecx, eax
mov al, r8b
add al, al
mov dil, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, r14b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a56d
mov byte [rsp + 1], dil
mov r8b, r11b
xor dil, dil
xor r9d, r9d
mov al, r8b
mov ecx, r9d
xor al, dil
mov edx, recv
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, dil
cmove ecx, eax
mov al, r8b
add al, al
mov dil, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, r14b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a5be
mov byte [rsp], dil
mov r8b, bl
xor dil, dil
xor r9d, r9d
mov al, r8b
mov ecx, r9d
xor al, dil
mov edx, listen
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, dil
cmove ecx, eax
mov al, r8b
add al, al
mov dil, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, r14b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a60e
mov byte [rsp + 0x68], dil
mov r8b, sil
xor dil, dil
xor r9d, r9d
mov al, r8b
mov ecx, r9d
xor al, dil
mov edx, reloc.WS2_32.dll_listen
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, dil
cmove ecx, eax
mov al, r8b
add al, al
mov dil, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, r14b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a65f
mov byte [rsp + 0x60], dil
mov r8b, r10b
xor dil, dil
xor r9d, r9d
mov al, r8b
mov ecx, r9d
xor al, dil
mov edx, reloc.WS2_32.dll_listen
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, dil
cmove ecx, eax
mov al, r8b
add al, al
mov dil, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, r14b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a6b0
xor r13b, r13b
mov byte [rsp + 0x58], dil
xor r9d, r9d
mov r8b, r11b
mov al, r8b
mov ecx, r9d
xor al, r13b
mov edx, 9
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, r13b
cmove ecx, eax
mov al, r8b
add al, al
movzx r13d, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, r14b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a701
xor r12b, r12b
mov r8b, bl
xor r9d, r9d
mov al, r8b
mov ecx, r9d
xor al, r12b
mov edx, recv
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, r12b
cmove ecx, eax
mov al, r8b
add al, al
movzx r12d, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, r14b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a74e
xor r14b, r14b
mov r8b, sil
xor r9d, r9d
lea edi, [r9 + 0xb]
mov al, r8b
mov ecx, r9d
xor al, r14b
mov edx, edi
sar edx, cl
movzx ecx, al
test bpl, dl
movzx eax, r14b
cmove ecx, eax
mov al, r8b
add al, al
movzx r14d, cl
movzx edx, al
mov cl, r8b
mov al, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
add r9d, ebp
cmp r9d, 8
jl 0x18001a79f
xor bpl, bpl
mov r9b, 0x1b
xor r8d, r8d
mov al, r10b
mov ecx, r8d
xor al, bpl
mov edx, edi
sar edx, cl
movzx ecx, al
test dl, 1
movzx eax, bpl
cmove ecx, eax
mov al, r10b
add al, al
movzx ebp, cl
movzx edx, al
mov cl, r10b
mov al, dl
xor al, r9b
test cl, cl
movzx r10d, al
cmovns r10d, edx
inc r8d
cmp r8d, 8
jl 0x18001a7e8
xor dil, dil
xor r8d, r8d
mov al, r11b
mov ecx, r8d
xor al, dil
mov edx, reloc.WS2_32.dll_listen
sar edx, cl
movzx ecx, al
test dl, 1
movzx eax, dil
cmove ecx, eax
mov al, r11b
add al, al
movzx edi, cl
movzx edx, al
mov cl, r11b
mov al, dl
xor al, r9b
test cl, cl
movzx r11d, al
cmovns r11d, edx
inc r8d
cmp r8d, 8
jl 0x18001a82e
xor r10b, r10b
xor r8d, r8d
mov al, bl
mov ecx, r8d
xor al, r10b
mov edx, 9
sar edx, cl
movzx ecx, al
test dl, 1
movzx eax, r10b
cmove ecx, eax
mov al, bl
add al, al
movzx r10d, cl
movzx edx, al
mov cl, bl
mov al, dl
xor al, r9b
test cl, cl
movzx ebx, al
cmovns ebx, edx
inc r8d
cmp r8d, 8
jl 0x18001a877
xor r9b, r9b
xor r8d, r8d
mov al, sil
mov ecx, r8d
xor al, r9b
mov edx, recv
sar edx, cl
movzx ecx, al
test dl, 1
movzx eax, r9b
cmove ecx, eax
mov al, sil
add al, al
movzx r9d, cl
movzx edx, al
mov cl, sil
mov al, dl
xor al, 0x1b
test cl, cl
movzx esi, al
cmovns esi, edx
inc r8d
cmp r8d, 8
jl 0x18001a8bc
movzx eax, byte [rsp + 0x58]
mov ecx, r14d
xor ecx, r12d
mov edx, r10d
xor ecx, r13d
xor edx, edi
xor ecx, eax
xor edx, ebp
movzx eax, byte [rsp + 0x68]
xor edx, r9d
shl edx, 8
mov ebp, 1
or edx, ecx
mov r14b, 0x1b
movzx ecx, byte [rsp + 0x60]
xor ecx, eax
shl edx, 8
movzx eax, byte [rsp]
xor ecx, eax
movzx eax, byte [rsp + 1]
xor ecx, eax
movzx eax, byte [rsp + 3]
or edx, ecx
movzx ecx, byte [rsp + 2]
xor ecx, eax
shl edx, 8
movzx eax, byte [rsp + 4]
xor ecx, eax
movzx eax, byte [rsp + 5]
xor ecx, eax
or edx, ecx
mov dword [r15 - 2], edx
add r15, 4
sub qword [rsp + 8], rbp
jne 0x18001a411
mov rbx, qword [rsp + 0x50]
add rsp, 0x10
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret