Function at 0x1400ec650
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x370
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov rax, qword [0x14018d080]
xor rax, rsp
mov qword [rsp + 0x340], rax
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor r14d, r14d
mov dword [rsp + 0x24], r14d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x18], 7
mov word [rcx], r14w
mov dword [rsp + 0x24], 1
mov eax, dword [0x1401714b8]
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x30]
lea ecx, [r14 + 2]
cmp word [reloc.WS2_32.dll_gethostbyname], r14w
je 0x1400ec736
mov eax, WSAStartup
mov word [rsp + 0x20], ax
xor word [rsp + 0x22], 0x34
lea rax, str.DYU
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rdx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rcx, 1
jne 0x1400ec6e2
jmp 0x1400ec792
lea rax, str.DYU
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rdx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rcx, 1
jne 0x1400ec740
movzx ecx, word [rax]
mov word [rdx], cx
mov r8d, r14d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400ec8cd
movdqa xmm5, xmmword [0x140176ee0]
movdqa xmm4, xmmword [0x140177200]
movdqa xmm6, xmmword [0x140176f60]
movdqa xmm7, xmmword [str.333333335555555599999999]
lea rcx, [rsp + 0x30]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx]
xorps xmm3, xmm0
movq qword [rcx], xmm3
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
movq xmm2, xmm7
paddw xmm3, xmm2
movq xmm0, qword [rcx + 8]
xorps xmm3, xmm0
movq qword [rcx + 8], xmm3
add r8d, 8
lea rcx, [rcx + 0x10]
cmp r8d, 0x80
jl 0x1400ec7d0
cmp r8d, 0x81
jge 0x1400ec91a
movsxd rax, r8d
lea r9, [rsp + 0x30]
lea r9, [r9 + rax*2]
nop dword [rax]
mov eax, 0x8d3dcb09
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x3a
movzx eax, r8w
sub ax, cx
add ax, 0x33
xor word [r9], ax
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x81
jl 0x1400ec8e0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wpopen]
mov rbp, rax
mov r8, rax
mov edx, 0x100
lea rcx, [rsp + 0x140]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgetws]
mov r8, rbp
mov edx, 0x100
lea rcx, [rsp + 0x140]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgetws]
test rax, rax
je 0x1400ecb48
lea rax, [rsp + 0x140]
mov rdx, 0xffffffffffffffff
inc rdx
cmp word [rax + rdx*2], 0
jne 0x1400ec971
mov rax, qword [rdi + 0x18]
cmp rdx, rax
ja 0x1400ec9b2
mov rsi, rdi
cmp rax, 7
jbe 0x1400ec990
mov rsi, qword [rdi]
mov qword [rdi + 0x10], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
lea rdx, [rsp + 0x140]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + rsi], r14w
jmp 0x1400ec9c2
lea r9, [rsp + 0x140]
mov rcx, rdi
call fcn.140091ed0
cmp qword [rdi + 0x18], 7
jbe 0x1400ec9df
mov rbx, qword [rdi]
mov rcx, qword [rdi + 0x10]
add rcx, rcx
mov r9, rbx
lea rsi, [rcx + rbx]
add rbx, rcx
jmp 0x1400ec9f1
mov rax, qword [rdi + 0x10]
add rax, rax
mov r9, rdi
lea rsi, [rax + rdi]
lea rbx, [rdi + rax]
mov r8d, 0xa
mov rdx, rsi
mov rcx, r9
call fcn.140149510
mov rcx, rax
cmp rax, rsi
je 0x1400eca2c
add rax, 2
cmp rax, rsi
je 0x1400eca2c
movzx edx, word [rax]
cmp dx, 0xa
je 0x1400eca23
mov word [rcx], dx
add rcx, 2
add rax, 2
cmp rax, rsi
jne 0x1400eca13
mov rax, rdi
mov r8, qword [rdi + 0x18]
cmp r8, 7
jbe 0x1400eca3c
mov rax, qword [rdi]
mov rdx, rcx
sub rdx, rax
sar rdx, 1
sub rbx, rcx
sar rbx, 1
mov rsi, qword [rdi + 0x10]
mov rax, rsi
sub rax, rdx
cmp rax, rbx
cmovb rbx, rax
mov rax, rdi
cmp r8, 7
jbe 0x1400eca68
mov rax, qword [rdi]
lea rcx, [rax + rdx*2]
sub rsi, rbx
mov r8, rsi
sub r8, rdx
lea r8, [r8*2 + 2]
lea rdx, [rcx + rbx*2]
call sub.VCRUNTIME140.dll_memmove
mov qword [rdi + 0x10], rsi
lea rdx, [rsi + rsi]
cmp qword [rdi + 0x18], 7
jbe 0x1400ecaa4
mov rbx, qword [rdi]
mov r9, rbx
lea rsi, [rdx + rbx]
add rbx, rdx
jmp 0x1400ecaaf
mov r9, rdi
lea rsi, [rdx + rdi]
lea rbx, [rdi + rdx]
mov r8d, reloc.WS2_32.dll_listen
mov rdx, rsi
mov rcx, r9
call fcn.140149510
mov rcx, rax
cmp rax, rsi
je 0x1400ecaea
add rax, 2
cmp rax, rsi
je 0x1400ecaea
movzx edx, word [rax]
cmp dx, 0xd
je 0x1400ecae1
mov word [rcx], dx
add rcx, 2
add rax, 2
cmp rax, rsi
jne 0x1400ecad1
mov rax, rdi
mov r8, qword [rdi + 0x18]
cmp r8, 7
jbe 0x1400ecafa
mov rax, qword [rdi]
mov rdx, rcx
sub rdx, rax
sar rdx, 1
sub rbx, rcx
sar rbx, 1
mov rsi, qword [rdi + 0x10]
mov rax, rsi
sub rax, rdx
cmp rax, rbx
cmovb rbx, rax
mov rax, rdi
cmp r8, 7
jbe 0x1400ecb26
mov rax, qword [rdi]
lea rcx, [rax + rdx*2]
sub rsi, rbx
mov r8, rsi
sub r8, rdx
lea r8, [r8*2 + 2]
lea rdx, [rcx + rbx*2]
call sub.VCRUNTIME140.dll_memmove
mov qword [rdi + 0x10], rsi
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__pclose]
mov rax, rdi
mov rcx, qword [rsp + 0x340]
xor rcx, rsp
call fcn.1401482c0
lea r11, [rsp + 0x370]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret