Function at 0x1400ec9d0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xc8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1401de080]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor esi, esi
mov rbx, qword [0x1403cc288]
cmp rbx, qword [0x1403cc290]
je 0x1400ed129
mov r13, qword [0x1403ca138]
mov r15d, esi
mov r12d, esi
movabs r14, 0x431bde82d7b634db
mov edi, dword [reloc.WS2_32.dll_accept]
movdqa xmm10, xmmword [0x1401bfd60]
movdqa xmm14, xmmword [0x1401bfce0]
movdqa xmm15, xmmword [0x1401bfcc0]
movdqa xmm8, xmmword [0x1401c02a0]
movss xmm13, dword [0x1401bfab0]
movss xmm7, dword [0x1401bf9e8]
movss xmm9, dword [0x1401bfa80]
movss xmm12, dword [0x1401bfb18]
nop dword [rax]
lea rcx, [rbp - 0x70]
call fcn.140031da0
mov rcx, qword [rax]
sub rcx, qword [rbx + 0x20]
mov rax, r14
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xorps xmm11, xmm11
cvtsi2ss xmm11, rdx
movss xmm0, dword [rbx + 0x28]
mulss xmm0, xmm13
comiss xmm11, xmm0
jb 0x1400ecb6a
mov r14, qword [0x1403cc290]
lea rsi, [rbx + 0x30]
cmp rsi, r14
je 0x1400ecb3e
lea rdi, [rbx + 0x28]
lea rcx, [rdi - 0x28]
mov rdx, rsi
call fcn.14002e800
mov rax, qword [rdi + 0x28]
mov qword [rdi - 8], rax
mov eax, dword [rdi + 0x30]
mov dword [rdi], eax
add rsi, 0x30
lea rdi, [rdi + 0x30]
cmp rsi, r14
jne 0x1400ecb11
mov r14, qword [0x1403cc290]
lea rcx, [r14 - 0x30]
call fcn.14002ed40
mov rax, qword [0x1403cc290]
sub rax, 0x30
mov qword [0x1403cc290], rax
xor esi, esi
movabs r14, 0x431bde82d7b634db
jmp 0x1400ed11a
movss xmm6, dword [r13 + 0x14]
subss xmm6, xmm7
movss xmm7, dword [r13 + 0x10]
subss xmm7, xmm9
movd xmm0, r12d
cvtdq2ps xmm0, xmm0
subss xmm6, xmm0
mov edx, r15d
lea rcx, [rbp - 0x30]
call fcn.14003cb70
mov r10, rax
movsd xmm0, qword [str.yWMS_U_K_._]
movsd qword [rbp - 0x60], xmm0
mov ecx, dword [0x1401bee38]
mov dword [rbp - 0x58], ecx
movzx ecx, word [0x1401bee3c]
mov word [rbp - 0x54], cx
cmp byte [0x1401bee3d], 0
je 0x1400eccf0
mov r8d, esi
cmp edi, 2
jl 0x1400eccaf
movdqa xmm1, xmm15
punpckldq xmm1, xmm15
pmuldq xmm1, xmm8
movdqa xmm0, xmm15
punpckhdq xmm0, xmm15
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1401bfcf0]
movdqa xmm1, xmm15
psubd xmm1, xmm0
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x1401bfe00]
movd xmm0, dword [str.yWMS_U_K_._]
xorps xmm1, xmm0
movd dword [rbp - 0x60], xmm1
movdqa xmm1, xmm14
punpckldq xmm1, xmm14
pmuldq xmm1, xmm8
movdqa xmm0, xmm14
punpckhdq xmm0, xmm14
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1401bfcf0]
movdqa xmm1, xmm14
psubd xmm1, xmm0
andps xmm1, xmm10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmmword [0x1401bfe00]
movd xmm0, dword [rbp - 0x5c]
xorps xmm1, xmm0
movd dword [rbp - 0x5c], xmm1
mov r8d, 8
movsxd rax, r8d
lea r9, [rbp - 0x60]
add r9, rax
nop dword [rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x1400eccc0
lea rax, [rbp - 0x60]
mov r9, 0xffffffffffffffff
nop dword [rax + rax]
inc r9
cmp byte [rax + r9], 0
jne 0x1400ecd00
lea r8, [rbp - 0x60]
xor edx, edx
mov rcx, r10
call fcn.140048590
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
lea rcx, [rbp - 0x30]
call fcn.14002ed40
mov rax, qword [0x1403ca138]
movss dword [rax + 0x1ce0], xmm7
movss dword [rax + 0x1ce4], xmm6
mov qword [rax + 0x1ce8], 0
mov dword [rax + 0x1cd4], 1
or dword [rax + 0x1cd0], 3
mov dword [rax + 0x1cf0], 0x43a50000
mov dword [rax + 0x1cf4], 0x428c0000
mov dword [rax + 0x1cd8], 1
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rcx, qword [rbp - 0x50]
xor edx, edx
mov r8d, 0x41
call fcn.14009a820
mov rcx, qword [0x1403ca138]
mov rax, qword [rcx + 0x1c30]
movss xmm10, dword [rax + 0x18]
movss xmm0, dword [rax + 0x1c]
movss xmm8, dword [rax + 0x10]
movss xmm6, dword [rax + 0x14]
movaps xmm9, xmm0
mulss xmm9, dword [0x1401bf7d4]
movaps xmm7, xmm10
mulss xmm7, dword [0x1401bf7d4]
subss xmm6, xmm9
subss xmm8, xmm7
movss dword [rsp + 0x70], xmm8
movss dword [rsp + 0x74], xmm6
addss xmm9, xmm9
addss xmm9, xmm0
mov rax, qword [rcx + 0x1de0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140093b00
mov r10, rax
movdqa xmm0, xmmword [0x1401bfef0]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.14008faa0
mov dword [rsp + 0x58], 0x3f800000
mov dword [rsp + 0x5c], 0x3f800000
mov qword [rsp + 0x60], 0
addss xmm9, xmm6
addss xmm7, xmm7
addss xmm7, xmm10
addss xmm7, xmm8
movss dword [rsp + 0x68], xmm7
movss dword [rsp + 0x6c], xmm9
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x68]
lea r8, [rsp + 0x70]
mov rdx, qword [0x1403cc350]
mov rcx, r10
call fcn.1400b0070
mov eax, dword [0x1401b3000]
mov dword [rbp - 0x68], eax
movzx ecx, word [0x1401b3004]
mov word [rbp - 0x64], cx
movzx eax, byte [0x1401b3006]
mov byte [rbp - 0x68], Ordinal_79
xor byte [rbp - 0x67], 0x38
xor byte [rbp - 0x66], 0x39
xor byte [rbp - 0x65], 0x3a
xor cl, 0x3b
mov byte [rbp - 0x64], cl
xor byte [rbp - 0x63], 0x3c
xor al, 0x3d
mov byte [rbp - 0x62], al
movups xmm6, xmmword [0x1401c0200]
movups xmmword [rsp + 0x40], xmm6
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x40]
call fcn.1400ba290
movups xmmword [rsp + 0x40], xmm6
lea rcx, [rsp + 0x40]
call fcn.14008faa0
movzx ecx, al
xorps xmm9, xmm9
cvtsi2ss xmm9, rcx
movss xmm0, dword [0x1401bf7bc]
mulss xmm9, xmm0
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm8, xmm8
cvtsi2ss xmm8, rcx
mulss xmm8, xmm0
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xorps xmm7, xmm7
cvtsi2ss xmm7, rcx
mulss xmm7, xmm0
shr eax, 0x18
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
mulss xmm6, xmm0
mov rdi, qword [0x1403ca138]
mov dword [rsp + 0x40], reloc.WLDAP32.dll_Ordinal_27
movups xmm0, xmmword [rdi + 0x17d4]
movups xmmword [rsp + 0x44], xmm0
lea rcx, [rdi + 0x1d58]
lea rdx, [rsp + 0x40]
call fcn.1400a4d20
shufps xmm9, xmm9, 0xe1
movss xmm9, xmm8
shufps xmm9, xmm9, 0xc6
movss xmm9, xmm7
shufps xmm9, xmm9, 0x27
movss xmm9, xmm6
shufps xmm9, xmm9, 0x39
movups xmmword [rsp + 0x40], xmm9
movups xmmword [rdi + 0x17d4], xmm9
mov r8, qword [0x1403ca138]
mov rax, qword [r8 + 0x1c30]
cmp byte [rax + 0x93], 0
jne 0x1400ecff6
mov eax, dword [rax + 0x1b4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.1400bd9e0
mov r8, qword [0x1403ca138]
movsxd rax, dword [r8 + 0x1d58]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1d60]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x1624], xmm0
dec dword [r8 + 0x1d58]
mov rax, qword [r8 + 0x1c30]
mov byte [rax + 0x90], 1
mov rax, qword [r8 + 0x1c30]
cmp byte [rax + 0x93], 0
jne 0x1400ed05a
mov qword [rsp + 0x78], 0
movaps xmm1, xmm12
lea rcx, [rsp + 0x78]
call fcn.14009d910
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1400ed067
mov rdx, qword [rbx]
lea rcx, [0x1401ab69c]
call fcn.1400ba430
mov rcx, qword [0x1403ca138]
mov rax, qword [rcx + 0x1c30]
mov byte [rax + 0x90], 1
mov rax, qword [rcx + 0x1c30]
cmp byte [rax + 0x93], 0
jne 0x1400ed0ad
mov qword [rbp - 0x80], 0
movaps xmm1, xmm12
lea rcx, [rbp - 0x80]
call fcn.14009d910
movss xmm1, dword [rbx + 0x28]
mulss xmm1, xmm13
divss xmm11, xmm1
mov dword [rbp - 0x78], 0xbf800000
mov dword [rbp - 0x74], 0x40400000
lea rdx, [rbp - 0x78]
movaps xmm0, xmm11
call fcn.1400bd5c0
call fcn.14009cb70
add rbx, 0x30
inc r15d
add r12d, 0x50
lea rcx, [rbp - 0x50]
call fcn.14002ed40
mov rax, qword [0x1403cc290]
movdqa xmm8, xmmword [0x1401c02a0]
movss xmm7, dword [0x1401bf9e8]
movss xmm9, dword [0x1401bfa80]
movdqa xmm10, xmmword [0x1401bfd60]
cmp rbx, rax
mov edi, dword [reloc.WS2_32.dll_accept]
jne 0x1400ecac0
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140176e00
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret