Function at 0x140094860
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov ebx, dword [rcx]
movabs rdi, 0xd03224404a6c532b
mov rax, qword [0x1402fbff0]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255478]
cmp ebx, dword [rcx + rax*4]
jne 0x140094a1a
mov r12d, dword [rsi + 4]
lea rbx, reloc.WS2_32.dll_accept
lea r14, [0x140255510]
mov r15d, 0x270
nop word cs:[rax + rax]
mov rax, qword [0x1402fbff8]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255484]
and r12d, dword [rcx + rax*4]
mov rax, qword [0x1402fc000]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255490]
mov rax, qword [rcx + rax*8]
add rax, r15
mov ebp, dword [rsi + rax*4 + 4]
mov rax, qword [0x1402fc008]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402554a8]
mov r13d, dword [rcx + rax*4]
and r13d, ebp
or r13d, r12d
mov rax, qword [0x1402fc010]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402554b4]
movzx ecx, byte [rcx + rax*4]
shr r13d, cl
mov rax, qword [0x1402fc018]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402554c0]
mov r12d, dword [rcx + rax*4]
and r12d, ebp
mov rax, qword [0x1402fc020]
add rax, rdi
call rax
imul eax, dword [0x1402979b4], 0x6cc50da7
imul ecx, dword [0x1402979b8], 0xa902814a
add eax, ecx
add eax, 0x60b68f4c
mov ecx, dword [0x1402979bc]
mov edx, dword [0x1402979c0]
shrd edx, ecx, 9
imul ecx, dword [0x1402979c4], 0x793aa8e0
imul r8d, dword [0x1402979c8], 0x6d77ec0e
xor edx, 0x53a42e2b
cmp r12d, eax
mov eax, r8d
lea r12d, [rcx + rax + 0x2cca4f7f]
cmove r12d, edx
mov rax, qword [0x1402fc028]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402554d0]
mov rax, qword [rcx + rax*8]
add rax, r15
xor r12d, dword [rsi + rax*4 + 4]
xor r12d, r13d
mov dword [rsi + r15*4 + 4], r12d
mov rax, qword [0x1402fc030]
add rax, rdi
call rax
cdqe
mov r13, r15
add r13, qword [rbx + rax*8]
mov rax, qword [0x1402fc038]
add rax, rdi
call rax
cdqe
mov r12d, ebp
mov r15, r13
cmp r13, qword [r14 + rax*8]
jne 0x1400948c0
mov eax, 0x270
jmp 0x140094e11
mov rax, qword [0x1402fc040]
add rax, rdi
call rax
movsxd rcx, eax
lea rdx, [0x140255528]
mov eax, ebx
cmp ebx, dword [rdx + rcx*4]
jbe 0x140094e11
mov r12d, dword [rsi + 0x9c4]
lea rbx, reloc.WS2_32.dll_accept
lea r14, [0x1402555c0]
xor r15d, r15d
nop word cs:[rax + rax]
mov rax, qword [0x1402fc048]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255534]
and r12d, dword [rcx + rax*4]
mov rax, qword [0x1402fc050]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255540]
mov rax, qword [rcx + rax*8]
add rax, r15
mov ebp, dword [rsi + rax*4 + 4]
mov rax, qword [0x1402fc058]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255558]
mov r13d, dword [rcx + rax*4]
and r13d, ebp
or r13d, r12d
mov rax, qword [0x1402fc060]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255564]
movzx ecx, byte [rcx + rax*4]
shr r13d, cl
mov rax, qword [0x1402fc068]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255570]
mov r12d, dword [rcx + rax*4]
and r12d, ebp
mov rax, qword [0x1402fc070]
add rax, rdi
call rax
imul eax, dword [0x1402979cc], 0x1af4c7c9
imul ecx, dword [0x1402979d0], 0x6a43bdc9
add eax, ecx
add eax, 0x3840f573
imul ecx, dword [0x1402979d4], 0x8032e146
imul edx, dword [0x1402979d8], 0xe1554316
imul r8d, dword [0x1402979dc], 0x78b03eb4
imul r9d, dword [0x1402979e0], 0x2cfecd4f
cmp r12d, eax
mov eax, edx
lea eax, [rcx + rax + 0x309c2132]
mov ecx, r9d
mov edx, r8d
lea r12d, [rdx + rcx + 0x5252a8a8]
cmove r12d, eax
mov rax, qword [0x1402fc078]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255580]
mov rax, qword [rcx + rax*8]
add rax, r15
xor r12d, dword [rsi + rax*4 + 4]
xor r12d, r13d
mov dword [rsi + r15*4 + 4], r12d
mov rax, qword [0x1402fc080]
add rax, rdi
call rax
cdqe
mov r13, r15
add r13, qword [rbx + rax*8]
mov rax, qword [0x1402fc088]
add rax, rdi
call rax
cdqe
mov r12d, ebp
mov r15, r13
cmp r13, qword [r14 + rax*8]
jne 0x140094a60
mov r12d, dword [rsi + 0xd50]
lea rbx, reloc.WS2_32.dll_accept
lea r14, [0x140255670]
mov r15d, 0xe3
nop word cs:[rax + rax]
mov rax, qword [0x1402fc090]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402555d8]
and r12d, dword [rcx + rax*4]
mov rax, qword [0x1402fc098]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402555f0]
mov rax, qword [rcx + rax*8]
add rax, r15
mov ebp, dword [rsi + rax*4 + 4]
mov rax, qword [0x1402fc0a0]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255608]
mov r13d, dword [rcx + rax*4]
and r13d, ebp
or r13d, r12d
mov rax, qword [0x1402fc0a8]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255614]
movzx ecx, byte [rcx + rax*4]
shr r13d, cl
mov rax, qword [0x1402fc0b0]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255620]
mov r12d, dword [rcx + rax*4]
and r12d, ebp
mov rax, qword [0x1402fc0b8]
add rax, rdi
call rax
imul eax, dword [0x1402979e4], 0x6e05c595
imul ecx, dword [0x1402979e8], 0x56735864
add eax, ecx
add eax, 0xaa9fb36f
mov ecx, dword [0x1402979ec]
mov edx, dword [0x1402979f0]
shrd edx, ecx, 0x13
imul ecx, dword [0x1402979f4], 0xd2522fd3
imul r8d, dword [0x1402979f8], 0xffcfbf9d
xor edx, 0xabd3e338
cmp r12d, eax
mov eax, r8d
lea r12d, [rcx + rax - 0x5e78f783]
cmove r12d, edx
mov rax, qword [0x1402fc0c0]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255630]
mov rax, qword [rcx + rax*8]
add rax, r15
xor r12d, dword [rsi + rax*4 + 4]
xor r12d, r13d
mov dword [rsi + r15*4 + 4], r12d
mov rax, qword [0x1402fc0c8]
add rax, rdi
call rax
cdqe
mov r13, r15
add r13, qword [rbx + rax*8]
mov rax, qword [0x1402fc0d0]
add rax, rdi
call rax
cdqe
mov r12d, ebp
mov r15, r13
cmp r13, qword [r14 + rax*8]
jne 0x140094be0
mov ebx, dword [rsi + 0x1380]
mov rax, qword [0x1402fc0d8]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255688]
and ebx, dword [rcx + rax*4]
mov ebp, dword [rsi + 4]
mov rax, qword [0x1402fc0e0]
add rax, rdi
call rax
cdqe
lea rcx, [0x140255694]
mov eax, dword [rcx + rax*4]
and eax, ebp
mov r14d, eax
or r14d, ebx
mov rax, qword [0x1402fc0e8]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402556a0]
movzx ecx, byte [rcx + rax*4]
mov ebx, r14d
shr ebx, cl
mov rax, qword [0x1402fc0f0]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402556ac]
and ebp, dword [rcx + rax*4]
mov rax, qword [0x1402fc0f8]
add rax, rdi
call rax
mov eax, dword [0x1402979fc]
mov ecx, dword [0x140297a00]
shrd ecx, eax, 0x1b
xor ecx, 0x64740700
mov eax, dword [0x140297a04]
mov edx, dword [0x140297a08]
shrd edx, eax, 0x1a
xor edx, 0x8805db2f
mov eax, dword [0x140297a0c]
mov r8d, dword [0x140297a10]
shrd r8d, eax, 1
xor r8d, 0xce463253
cmp ebp, ecx
cmove r8d, edx
xor r8d, dword [rsi + 0x634]
xor r8d, ebx
mov dword [rsi + 0x9c0], r8d
xor eax, eax
mov ebx, eax
mov rax, qword [0x1402fc100]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402556b8]
mov edx, ebx
add ebx, dword [rcx + rax*4]
mov dword [rsi], ebx
mov eax, edx
mov ebx, dword [rsi + rax*4 + 4]
mov rax, qword [0x1402fc108]
add rax, rdi
call rax
cdqe
lea rcx, str._v_v_v_a_a_a
movzx ecx, byte [rcx + rax*4]
mov eax, ebx
shr eax, cl
and eax, dword [rsi + 0x1384]
mov esi, eax
xor esi, ebx
mov rax, qword [0x1402fc110]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402556d0]
movzx ecx, byte [rcx + rax*4]
mov ebx, esi
shl ebx, cl
mov rax, qword [0x1402fc118]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402556dc]
and ebx, dword [rcx + rax*4]
xor ebx, esi
mov rax, qword [0x1402fc120]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402556e8]
movzx ecx, byte [rcx + rax*4]
mov esi, ebx
shl esi, cl
mov rax, qword [0x1402fc128]
add rax, rdi
call rax
cdqe
lea rcx, [0x1402556f4]
and esi, dword [rcx + rax*4]
xor esi, ebx
add rdi, qword [0x1402fc130]
call rdi
cdqe
lea rcx, [0x140255700]
movzx ecx, byte [rcx + rax*4]
mov eax, esi
shr eax, cl
xor eax, esi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret