Function at 0x14005b530
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push r12
push r15
sub rsp, 0x68
mov rax, qword [0x1400b1008]
xor rax, rsp
mov qword [rsp + 0x48], rax
test byte [rcx + 0xa4], 0x10
mov rbp, rdx
mov rdx, qword [rsp + 0xb8]
mov r12, r9
mov r15, r8
mov rbx, rcx
jne 0x14005b954
cmp qword [rcx + 0x90], 0
je 0x14005b58c
mov rcx, qword [rcx + 0x98]
add rcx, r8
cmp rcx, qword [rbx + 0x80]
ja 0x14005b954
cmp qword [rsp + 0xb0], r8
jb 0x14005b954
mov qword [rsp + 0x50], r14
xor r14d, r14d
mov qword [rdx], r8
test r8, r8
je 0x14005b93b
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rdi
nop dword [rax + rax]
mov rcx, qword [rbx + 0x98]
mov eax, reloc.WS2_32.dll_recv
mov rsi, rcx
mov rdi, r15
and esi, 0xf
sub rax, rsi
cmp rax, r15
cmovbe rdi, rax
lea rax, [rcx + rdi]
mov qword [rbx + 0x98], rax
movzx eax, byte [rbx + 0xa1]
dec al
test al, 0xfd
jne 0x14005b74c
xor r8b, r8b
cmp rdi, 0x40
jb 0x14005b6bf
lea eax, [rdi - 1]
movzx edx, sil
movzx ecx, al
lea eax, [rcx + rdx]
add rdx, rbx
movzx r9d, al
add rcx, rbp
add r9, rbx
cmp rdx, rcx
ja 0x14005b630
cmp r9, rbp
jae 0x14005b6bf
mov rdx, rdi
and rdx, 0xffffffffffffffc0
xor ecx, ecx
mov r9b, 0x20
nop dword [rax]
movdqu xmm1, xmmword [rcx + rbp]
lea rax, [rcx + rbx]
add r8b, 0x40
movdqu xmm0, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r9 - 0x10]
movzx ecx, al
movdqu xmm1, xmmword [rcx + rbp]
lea rax, [rcx + rbx]
movzx ecx, r9b
movdqu xmm0, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea rax, [rcx + rbx]
movdqu xmm0, xmmword [rax + rsi]
movdqu xmm1, xmmword [rcx + rbp]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r9 + 0x10]
add r9b, 0x40
movzx ecx, al
movdqu xmm1, xmmword [rcx + rbp]
lea rax, [rcx + rbx]
movzx ecx, r8b
movdqu xmm0, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp rcx, rdx
jb 0x14005b640
movzx edx, r8b
cmp rdx, rdi
jae 0x14005b6e7
nop dword [rax + rax]
movzx eax, byte [rdx + rbp]
lea rcx, [rdx + rbx]
xor byte [rcx + rsi], al
inc r8b
movzx edx, r8b
cmp rdx, rdi
jb 0x14005b6d0
lea rax, [rdi + rsi]
cmp rax, 0x10
je 0x14005b701
mov rax, qword [rbx + 0x80]
cmp qword [rbx + 0x98], rax
jne 0x14005b72b
lea rax, [rsp + 0x30]
mov r9, rbx
lea rcx, [rbx + 0x20]
mov qword [rsp + 0x20], rax
mov r8d, reloc.WS2_32.dll_recv
mov rdx, rbx
call fcn.1400476f0
mov r14d, eax
test eax, eax
jne 0x14005b92a
mov r9, rbp
mov qword [rsp + 0x20], r12
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.14005af60
mov r14d, eax
test eax, eax
jne 0x14005b931
test byte [rbx + 0xa1], 0xfd
jne 0x14005b8d7
lea rax, [rsp + 0x38]
mov r9, rbp
mov r8, rdi
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, rbx
call fcn.14005af60
mov r14d, eax
test eax, eax
jne 0x14005b931
xor r8b, r8b
cmp rdi, 0x40
jb 0x14005b857
lea eax, [rdi - 1]
movzx edx, sil
movzx ecx, al
lea eax, [rcx + rdx]
add rdx, rbx
movzx r9d, al
lea rax, [rsp + 0x38]
add rax, rcx
add r9, rbx
cmp rdx, rax
ja 0x14005b7be
lea rax, [rsp + 0x38]
cmp r9, rax
jae 0x14005b857
mov rdx, rdi
and rdx, 0xffffffffffffffc0
xor ecx, ecx
mov r9b, 0x20
nop word [rax + rax]
movdqu xmm1, xmmword [rsp + rcx + 0x38]
lea rax, [rcx + rbx]
add r8b, 0x40
movdqu xmm0, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r9 - 0x10]
movzx ecx, al
movdqu xmm1, xmmword [rsp + rcx + 0x38]
lea rax, [rcx + rbx]
movzx ecx, r9b
movdqu xmm0, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea rax, [rcx + rbx]
movdqu xmm0, xmmword [rax + rsi]
movdqu xmm1, xmmword [rsp + rcx + 0x38]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r9 + 0x10]
add r9b, 0x40
movzx ecx, al
movdqu xmm1, xmmword [rsp + rcx + 0x38]
lea rax, [rcx + rbx]
movzx ecx, r8b
movdqu xmm0, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp rcx, rdx
jb 0x14005b7d0
movzx edx, r8b
cmp rdx, rdi
jae 0x14005b878
movzx eax, byte [rsp + rdx + 0x38]
lea rcx, [rdx + rbx]
xor byte [rcx + rsi], al
inc r8b
movzx edx, r8b
cmp rdx, rdi
jb 0x14005b860
mov r8, rdi
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.140068bd0
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x38]
call fcn.1400386b0
lea rax, [rdi + rsi]
cmp rax, 0x10
je 0x14005b8b1
mov rax, qword [rbx + 0x80]
cmp qword [rbx + 0x98], rax
jne 0x14005b8e1
lea rax, [rsp + 0x30]
mov r9, rbx
lea rcx, [rbx + 0x20]
mov qword [rsp + 0x20], rax
mov r8d, reloc.WS2_32.dll_recv
mov rdx, rbx
call fcn.1400476f0
mov r14d, eax
test eax, eax
jne 0x14005b92a
lea rax, [rdi + rsi]
cmp rax, 0x10
je 0x14005b8f1
mov rax, qword [rbx + 0x80]
cmp qword [rbx + 0x98], rax
jne 0x14005b919
xor dl, dl
cmp byte [rbx + 0xa0], dl
jbe 0x14005b919
nop dword [rax + rax]
movzx eax, dl
mov rcx, rbx
sub rcx, rax
add byte [rcx + 0x1f], 1
jne 0x14005b919
inc dl
cmp dl, byte [rbx + 0xa0]
jb 0x14005b900
add rbp, rdi
add r12, rdi
sub r15, rdi
jne 0x14005b5c0
jmp 0x14005b931
or dword [rbx + 0xa4], 0x10
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x38]
call fcn.1400386b0
mov eax, r14d
mov r14, qword [rsp + 0x50]
jmp 0x14005b959
mov eax, 0xfffffff3
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14001a6d0
add rsp, 0x68
pop r15
pop r12
pop rbp
pop rbx
ret