Function at 0x14000201d
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
cmp rdx, 0
je 0x1400025c1
pushfq
push rbx
push rbp
push r12
push r13
push r14
push r15
cld
mov r9d, r9d
lea r14, [0x140002600]
lea r10, [0x140003240]
cmp r9, 0
cmove r14, r10
mov r10d, dword [0x1401a2440]
cmp rdx, 0x200
jb 0x140002360
test rdx, 0xf
jne 0x140002360
bt r10d, 0x1c
jb 0x140002360
lea r15, [rsp - 0x150]
and r15, 0xffffffffffffffc0
mov r10, r14
lea r11, [r14 + 0x900]
mov r12, r15
and r10, 0xfff
and r11, 0xfff
and r12, 0xfff
cmp r12, r11
jb 0x1400020c9
sub r12, r11
sub r15, r12
jmp 0x1400020e0
sub r12, r10
and r12, 0xfff
add r12, 0x140
sub r15, r12
nop
nop
nop
xchg rsp, r15
mov qword [rsp + 0x10], r15
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], r8
mov dword [rsp + 0x140], 0
mov rbp, r8
mov rbx, r9
mov r9, rsi
mov r8, rdi
mov r15, rcx
mov eax, dword [r15 + 0xf0]
mov r10, r15
sub r10, r14
and r10, 0xfff
cmp r10, 0x900
jb 0x140002144
cmp r10, 0xf08
jb 0x14000215c
nop
nop
nop
mov rsi, r15
lea rdi, [rsp + 0x50]
lea r15, [rsp + 0x50]
mov ecx, 0x1e
rep movsq qword [rdi], qword [rsi]
nop
mov dword [rdi], eax
mov qword [rsp], r15
mov ecx, send
nop
nop
nop
mov r10, qword [r14]
mov r11, qword [r14 + 0x20]
mov r12, qword [r14 + 0x40]
mov r13, qword [r14 + 0x60]
lea r14, [r14 + 0x80]
sub ecx, 1
jne 0x140002168
lea r14, [r14 - 0x900]
cmp rbx, 0
je 0x140002210
mov eax, dword [rbp]
mov ebx, dword [rbp + 4]
mov ecx, dword [rbp + 8]
mov edx, dword [rbp + 0xc]
xor eax, dword [r8]
xor ebx, dword [r8 + 4]
xor ecx, dword [r8 + 8]
xor edx, dword [r8 + 0xc]
mov r15, qword [rsp]
mov qword [rsp + 0x18], r8
call entry0
mov r8, qword [rsp + 0x18]
mov r10, qword [rsp + 0x28]
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
lea r8, [r8 + 0x10]
lea r9, [r9 + 0x10]
sub r10, 0x10
test r10, 0xfffffffffffffff0
mov qword [rsp + 0x28], r10
jne 0x1400021a0
mov rbp, qword [rsp + 0x38]
mov dword [rbp], eax
mov dword [rbp + 4], ebx
mov dword [rbp + 8], ecx
mov dword [rbp + 0xc], edx
jmp 0x14000233c
cmp r9, r8
je 0x1400022a0
mov qword [rsp + 0x40], rbp
nop
nop
mov eax, dword [r8]
mov ebx, dword [r8 + 4]
mov ecx, dword [r8 + 8]
mov edx, dword [r8 + 0xc]
mov r15, qword [rsp]
mov qword [rsp + 0x18], r8
call fcn.140001540
mov rbp, qword [rsp + 0x40]
mov r8, qword [rsp + 0x18]
mov r10, qword [rsp + 0x28]
xor eax, dword [rbp]
xor ebx, dword [rbp + 4]
xor ecx, dword [rbp + 8]
xor edx, dword [rbp + 0xc]
mov rbp, r8
sub r10, 0x10
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x40], rbp
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
lea r8, [r8 + 0x10]
lea r9, [r9 + 0x10]
jne 0x140002220
mov r12, qword [rsp + 0x38]
mov r10, qword [rbp]
mov r11, qword [rbp + 8]
mov qword [r12], r10
mov qword [r12 + 8], r11
jmp 0x14000233c
mov r10, qword [rbp]
mov r11, qword [rbp + 8]
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], r11
nop
nop
mov eax, dword [r8]
mov ebx, dword [r8 + 4]
mov ecx, dword [r8 + 8]
mov edx, dword [r8 + 0xc]
mov r15, qword [rsp]
mov qword [rsp + 0x18], r8
call fcn.140001540
mov r8, qword [rsp + 0x18]
mov r10, qword [rsp + 0x28]
xor eax, dword [rsp + 0x40]
xor ebx, dword [rsp + 0x44]
xor ecx, dword [rsp + 0x48]
xor edx, dword [rsp + 0x4c]
mov r11, qword [r8]
mov r12, qword [r8 + 8]
sub r10, 0x10
je 0x140002320
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], r12
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
lea r8, [r8 + 0x10]
lea r9, [r9 + 0x10]
mov qword [rsp + 0x28], r10
jmp 0x1400022b4
mov rdi, qword [rsp + 0x38]
mov qword [rdi], r11
mov qword [rdi + 8], r12
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
nop
cmp dword [rsp + 0x140], 0
lea rdi, [rsp + 0x50]
je 0x1400025a0
mov ecx, 0x1e
xor rax, rax
rep stosq qword [rdi], rax
nop
jmp 0x1400025a0
lea rbp, [rsp - 0x58]
and rbp, 0xffffffffffffffc0
lea r10, [rcx - 0x97]
sub r10, rbp
neg r10
and r10, 0x3c0
sub rbp, r10
xchg rsp, rbp
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x38], r8
mov rbp, r8
mov rbx, r9
mov r9, rsi
mov r8, rdi
mov r15, rcx
mov r10, rdx
mov eax, dword [r15 + 0xf0]
mov qword [rsp], r15
shl eax, 4
lea rax, [r15 + rax]
mov qword [rsp + 8], rax
lea r14, [r14 + 0x800]
lea rax, [rsp + 0x2f8]
sub rax, r14
and rax, 0x300
lea r14, [r14 + rax]
cmp rbx, 0
je 0x1400024b0
test r10, 0xfffffffffffffff0
mov eax, dword [rbp]
mov ebx, dword [rbp + 4]
mov ecx, dword [rbp + 8]
mov edx, dword [rbp + 0xc]
je 0x140002470
nop
nop
nop
xor eax, dword [r8]
xor ebx, dword [r8 + 4]
xor ecx, dword [r8 + 8]
xor edx, dword [r8 + 0xc]
mov r15, qword [rsp]
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x28], r10
call fcn.1400011f0
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
lea r8, [r8 + 0x10]
lea r9, [r9 + 0x10]
sub r10, 0x10
test r10, 0xfffffffffffffff0
jne 0x1400023f4
test r10, 0xf
jne 0x140002470
mov rbp, qword [rsp + 0x38]
mov dword [rbp], eax
mov dword [rbp + 4], ebx
mov dword [rbp + 8], ecx
mov dword [rbp + 0xc], edx
jmp 0x1400025a0
mov r11, rax
mov r12, rcx
mov rcx, r10
mov rsi, r8
mov rdi, r9
rep movsb byte [rdi], byte [rsi]
nop
mov ecx, reloc.WS2_32.dll_recv
sub rcx, r10
xor rax, rax
rep stosb byte [rdi], al
nop
mov r8, r9
mov r10d, reloc.WS2_32.dll_recv
mov rax, r11
mov rcx, r12
jmp 0x1400023f4
shr rax, 3
add r14, rax
mov r11, qword [rbp]
mov r12, qword [rbp + 8]
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], r12
nop
nop
nop
mov eax, dword [r8]
mov ebx, dword [r8 + 4]
mov ecx, dword [r8 + 8]
mov edx, dword [r8 + 0xc]
mov r15, qword [rsp]
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x28], r10
call fcn.140001720
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
xor eax, dword [rsp + 0x40]
xor ebx, dword [rsp + 0x44]
xor ecx, dword [rsp + 0x48]
xor edx, dword [rsp + 0x4c]
mov r11, qword [r8]
mov r12, qword [r8 + 8]
sub r10, 0x10
jb 0x140002564
je 0x140002544
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], r12
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
lea r8, [r8 + 0x10]
lea r9, [r9 + 0x10]
jmp 0x1400024cc
mov rdi, qword [rsp + 0x38]
mov qword [rdi], r11
mov qword [rdi + 8], r12
mov dword [r9], eax
mov dword [r9 + 4], ebx
mov dword [r9 + 8], ecx
mov dword [r9 + 0xc], edx
jmp 0x1400025a0
mov rdi, qword [rsp + 0x38]
mov qword [rdi], r11
mov qword [rdi + 8], r12
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x4c], edx
mov rdi, r9
lea rsi, [rsp + 0x40]
lea rcx, [r10 + 0x10]
rep movsb byte [rdi], byte [rsi]
nop
jmp 0x1400025a0
mov rsi, qword [rsp + 0x10]
mov r15, qword [rsi]
mov r14, qword [rsi + 8]
mov r13, qword [rsi + 0x10]
mov r12, qword [rsi + 0x18]
mov rbp, qword [rsi + 0x20]
mov rbx, qword [rsi + 0x28]
lea rsp, [rsi + 0x30]
popfq
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret