Function at 0x140016960
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, 0x80
mov rax, rcx
lea rcx, section..data
mov qword [rsp + 0x20], rcx
nop word [rax + rax]
mov rdx, qword [rax]
mov r8, qword [rax + 0x28]
mov rcx, rdx
mov r9, qword [rax + 0x50]
xor rcx, r8
mov rdi, qword [rax + 0x78]
xor rcx, r9
mov r14, qword [rax + 0xa0]
xor rcx, rdi
mov r11, qword [rax + 0xa8]
xor rcx, r14
mov r15, qword [rax + 0xb0]
mov r10, qword [rax + 0x30]
mov rsi, qword [rax + 0x58]
mov r12, qword [rax + 0x80]
mov rbp, qword [rax + 0x38]
mov r13, qword [rax + 0x60]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x38], rcx
xor rcx, r10
xor rcx, rsi
mov qword [rsp + 0x40], r11
xor rcx, r12
mov qword [rsp + 0x50], r15
xor rcx, r11
mov r11, qword [rax + 0x10]
mov qword [rsp + 0xd0], rcx
mov rbx, r11
mov rcx, qword [rax + 0x88]
xor rbx, rbp
mov qword [rsp + 0x48], rcx
xor rbx, r13
xor rbx, rcx
mov rcx, qword [rax + 0xb8]
mov qword [rsp], rcx
xor rbx, r15
mov rcx, qword [rax + 0x90]
mov r15, qword [rax + 0x18]
mov qword [rsp + 0xd8], rcx
mov rcx, qword [rax + 0x40]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x28], rbx
mov rbx, qword [rax + 0x68]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0xc8], r15
xor qword [rsp + 0xc8], rcx
mov rcx, qword [rsp + 0xc8]
xor rcx, rbx
mov rbx, qword [rax + 0x20]
xor rcx, qword [rsp + 0xd8]
xor rcx, qword [rsp]
mov qword [rsp + 0xc8], rcx
mov rcx, qword [rax + 0xc0]
mov qword [rsp + 0x18], rcx
mov rcx, qword [rax + 0x98]
mov qword [rsp + 0x10], rcx
mov rcx, qword [rax + 0x70]
mov qword [rsp + 8], rcx
mov rcx, qword [rax + 0x48]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], rbx
xor rbx, rcx
xor rbx, qword [rsp + 8]
xor rbx, qword [rsp + 0x10]
xor rbx, qword [rsp + 0x18]
mov rcx, qword [rsp + 0xd0]
ror rcx, 0x3f
xor rcx, rbx
xor rdx, rcx
xor r8, rcx
xor r9, rcx
mov qword [rax], rdx
xor rdi, rcx
mov qword [rax + 0x28], r8
xor r14, rcx
mov qword [rax + 0x50], r9
mov rcx, qword [rsp + 0x28]
ror rcx, 0x3f
mov qword [rax + 0x78], rdi
mov qword [rax + 0xa0], r14
mov rdi, qword [rsp + 0x30]
xor rcx, rdi
mov r14, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
xor r14, rcx
xor rdx, rcx
mov qword [rax + 8], r14
xor r10, rcx
mov qword [rax + 0xa8], rdx
mov rdx, qword [rsp + 0x48]
xor rsi, rcx
xor r12, rcx
mov qword [rax + 0x30], r10
mov rcx, qword [rsp + 0xc8]
mov r8, r14
ror rcx, 0x3f
xor rcx, qword [rsp + 0xd0]
xor rdx, rcx
mov qword [rax + 0x58], rsi
xor r11, rcx
mov qword [rax + 0x88], rdx
mov rdx, qword [rsp + 0x50]
xor rbp, rcx
xor rdx, rcx
mov qword [rax + 0x80], r12
xor r13, rcx
mov qword [rax + 0x10], r11
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x38], rbp
mov qword [rax + 0x60], r13
mov qword [rax + 0xb0], rdx
ror rbx, 0x3f
xor rbx, qword [rsp + 0x28]
xor rcx, rbx
ror rdi, 0x3f
xor rdi, qword [rsp + 0xc8]
xor r15, rbx
mov qword [rax + 0x40], rcx
mov rcx, qword [rsp + 0x60]
xor rcx, rbx
mov qword [rax + 0x18], r15
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0xd8]
xor rcx, rbx
mov qword [rax + 0x90], rcx
mov rcx, qword [rsp]
xor rcx, rbx
mov qword [rax + 0xb8], rcx
mov rcx, qword [rsp + 0x68]
xor rcx, rdi
mov qword [rax + 0x20], rcx
mov rcx, qword [rsp + 0x70]
xor rcx, rdi
mov qword [rax + 0x48], rcx
mov rcx, qword [rsp + 8]
xor rcx, rdi
mov qword [rax + 0x70], rcx
mov rcx, qword [rsp + 0x10]
xor rcx, rdi
mov qword [rax + 0x98], rcx
mov rcx, qword [rsp + 0x18]
xor rcx, rdi
mov qword [rax + 0xc0], rcx
movsxd rcx, dword [0x140052120]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520c0]
shr r8, cl
mov ecx, dword [0x1400520c0]
shl r14, cl
or r8, r14
mov qword [r9], r8
mov r8, r10
movsxd rcx, dword [reloc.WS2_32.dll_getsockopt]
mov r11, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [reloc.WS2_32.dll_closesocket]
shr r8, cl
mov ecx, dword [reloc.WS2_32.dll_closesocket]
shl r10, cl
or r8, r10
mov qword [r9], r8
mov r8, r11
movsxd rcx, dword [0x140052128]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520c8]
shr r8, cl
mov ecx, dword [0x1400520c8]
shl r11, cl
or r8, r11
mov qword [r9], r8
mov r8, r10
movsxd rcx, dword [0x14005212c]
mov r11, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520cc]
shr r8, cl
mov ecx, dword [0x1400520cc]
shl r10, cl
or r8, r10
mov qword [r9], r8
mov r8, r11
movsxd rcx, dword [0x140052130]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520d0]
shr r8, cl
mov ecx, dword [0x1400520d0]
shl r11, cl
or r8, r11
mov qword [r9], r8
mov r8, r10
movsxd rcx, dword [reloc.WS2_32.dll_closesocket]
mov r11, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520d4]
shr r8, cl
mov ecx, dword [0x1400520d4]
shl r10, cl
or r8, r10
mov qword [r9], r8
mov r8, r11
movsxd rcx, dword [0x140052138]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520d8]
shr r8, cl
mov ecx, dword [0x1400520d8]
shl r11, cl
or r8, r11
mov qword [r9], r8
mov r8, r10
movsxd rcx, dword [reloc.WS2_32.dll_recv]
mov r11, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520dc]
shr r8, cl
mov ecx, dword [0x1400520dc]
shl r10, cl
or r8, r10
mov qword [r9], r8
mov r8, r11
movsxd rcx, dword [0x140052140]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520e0]
shr r8, cl
mov ecx, dword [0x1400520e0]
shl r11, cl
or r8, r11
mov qword [r9], r8
movsxd rcx, dword [0x140052144]
mov r11, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov r8, r10
mov ecx, 0x40
sub ecx, dword [0x1400520e4]
shr r8, cl
mov ecx, dword [0x1400520e4]
shl r10, cl
or r8, r10
mov qword [r9], r8
mov r8, r11
movsxd rcx, dword [0x140052148]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520e8]
shr r8, cl
mov ecx, dword [0x1400520e8]
shl r11, cl
or r8, r11
mov qword [r9], r8
mov r8, r10
movsxd rcx, dword [reloc.WS2_32.dll_connect]
mov r11, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520ec]
shr r8, cl
mov ecx, dword [0x1400520ec]
shl r10, cl
or r8, r10
mov qword [r9], r8
mov r8, r11
movsxd rcx, dword [0x140052150]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [str.e_8_b]
shr r8, cl
mov ecx, dword [str.e_8_b]
shl r11, cl
or r8, r11
mov qword [r9], r8
mov r8, r10
movsxd rcx, dword [reloc.WS2_32.dll_socket]
mov r11, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520f4]
shr r8, cl
mov ecx, dword [0x1400520f4]
shl r10, cl
or r8, r10
mov qword [r9], r8
mov r8, r11
movsxd rcx, dword [reloc.WS2_32.dll_send]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520f8]
shr r8, cl
mov ecx, dword [0x1400520f8]
shl r11, cl
or r8, r11
mov qword [r9], r8
mov r8, r10
movsxd rcx, dword [0x14005215c]
mov r11, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x1400520fc]
shr r8, cl
mov ecx, dword [0x1400520fc]
shl r10, cl
or r8, r10
mov qword [r9], r8
movsxd rcx, dword [0x140052160]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x140052100]
mov r8, r11
shr r8, cl
mov ecx, dword [0x140052100]
shl r11, cl
or r8, r11
mov qword [r9], r8
mov r8, r10
movsxd rcx, dword [0x140052164]
mov r11, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x140052104]
shr r8, cl
mov ecx, dword [0x140052104]
shl r10, cl
or r8, r10
mov qword [r9], r8
mov r8, r11
movsxd rcx, dword [0x140052168]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x140052108]
shr r8, cl
mov ecx, dword [0x140052108]
shl r11, cl
or r8, r11
mov qword [r9], r8
mov r8, r10
movsxd rcx, dword [0x14005216c]
mov r11, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x14005210c]
shr r8, cl
mov ecx, dword [0x14005210c]
shl r10, cl
or r8, r10
mov qword [r9], r8
mov r8, r11
movsxd rcx, dword [0x140052170]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x140052110]
shr r8, cl
mov ecx, dword [0x140052110]
shl r11, cl
or r8, r11
mov qword [r9], r8
mov r8, r10
movsxd rcx, dword [0x140052174]
mov r11, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x140052114]
shr r8, cl
mov ecx, dword [0x140052114]
shl r10, cl
or r8, r10
mov qword [r9], r8
mov r8, r11
movsxd rcx, dword [0x140052178]
mov r10, qword [rax + rcx*8]
lea r9, [rax + rcx*8]
mov ecx, 0x40
sub ecx, dword [0x140052118]
shr r8, cl
mov ecx, dword [0x140052118]
shl r11, cl
mov ecx, 0x40
or r8, r11
mov qword [r9], r8
mov r8, r10
sub ecx, dword [str.__n_a_v]
shr r8, cl
mov ecx, dword [str.__n_a_v]
shl r10, cl
movsxd rcx, dword [0x14005217c]
or r8, r10
mov qword [rax + rcx*8], r8
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
mov rcx, rdx
not rcx
mov r10, qword [rax + 8]
and rcx, r8
mov r9, qword [rax + 0x20]
xor rcx, r10
mov r11, qword [rax]
mov qword [rax + 8], rcx
mov rbx, r10
mov rcx, r8
not rbx
not rcx
and rbx, rdx
and rcx, r9
xor rbx, r11
xor rcx, rdx
mov qword [rax], rbx
mov rdx, qword [rax + 0x38]
mov qword [rax + 0x10], rcx
mov rcx, r9
not rcx
and rcx, r11
not r11
xor rcx, r8
and r11, r10
mov r10, qword [rax + 0x30]
xor r11, r9
mov r8, qword [rax + 0x40]
mov r9, qword [rax + 0x48]
mov qword [rax + 0x18], rcx
mov rcx, r10
not rcx
mov qword [rax + 0x20], r11
mov r11, qword [rax + 0x28]
and rcx, rdx
xor rcx, r11
mov qword [rax + 0x28], rcx
mov rcx, rdx
not rcx
and rcx, r8
xor rcx, r10
mov qword [rax + 0x30], rcx
mov rcx, r8
not rcx
and rcx, r9
xor rcx, rdx
mov rdx, qword [rax + 0x60]
mov qword [rax + 0x38], rcx
mov rcx, r9
not rcx
and rcx, r11
not r11
xor rcx, r8
and r11, r10
mov r10, qword [rax + 0x58]
xor r11, r9
mov r8, qword [rax + 0x68]
mov r9, qword [rax + 0x70]
mov qword [rax + 0x40], rcx
mov rcx, r10
not rcx
mov qword [rax + 0x48], r11
mov r11, qword [rax + 0x50]
and rcx, rdx
xor rcx, r11
mov qword [rax + 0x50], rcx
mov rcx, rdx
not rcx
and rcx, r8
xor rcx, r10
mov qword [rax + 0x58], rcx
mov rcx, r8
not rcx
and rcx, r9
xor rcx, rdx
mov qword [rax + 0x60], rcx
mov rcx, r9
not rcx
and rcx, r11
xor rcx, r8
mov rdx, qword [rax + 0x88]
mov r8, qword [rax + 0x90]
not r11
mov qword [rax + 0x68], rcx
and r11, r10
mov r10, qword [rax + 0x80]
xor r11, r9
mov r9, qword [rax + 0x98]
mov rcx, r10
not rcx
mov qword [rax + 0x70], r11
mov r11, qword [rax + 0x78]
and rcx, rdx
xor rcx, r11
mov qword [rax + 0x78], rcx
mov rcx, rdx
not rcx
and rcx, r8
xor rcx, r10
mov qword [rax + 0x80], rcx
mov rcx, r8
not rcx
and rcx, r9
xor rcx, rdx
mov rdx, qword [rax + 0xb0]
mov qword [rax + 0x88], rcx
mov rcx, r9
not rcx
and rcx, r11
not r11
xor rcx, r8
and r11, r10
mov r10, qword [rax + 0xa8]
xor r11, r9
mov r8, qword [rax + 0xb8]
mov r9, qword [rax + 0xc0]
mov qword [rax + 0x90], rcx
mov rcx, r10
not rcx
mov qword [rax + 0x98], r11
mov r11, qword [rax + 0xa0]
and rcx, rdx
xor rcx, r11
mov qword [rax + 0xa0], rcx
mov rcx, rdx
not rcx
and rcx, r8
xor rcx, r10
mov qword [rax + 0xa8], rcx
mov rcx, r8
not rcx
and rcx, r9
xor rcx, rdx
lea rdx, [0x1400520c0]
mov qword [rax + 0xb0], rcx
mov rcx, r9
not rcx
and rcx, r11
not r11
xor rcx, r8
and r11, r10
mov qword [rax + 0xb8], rcx
xor r11, r9
mov rcx, qword [rsp + 0x20]
mov qword [rax + 0xc0], r11
xor rbx, qword [rcx]
add rcx, 8
mov qword [rax], rbx
mov qword [rsp + 0x20], rcx
cmp rcx, rdx
jl 0x140016990
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret