Function at 0x140088f70
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x140
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
mov rax, qword [0x140217900]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov r15, rcx
xor r14b, r14b
mov byte [rsp + 0x2c], r14b
xor r12d, r12d
mov dword [0x14021bacc], r12d
mov dword [0x14021bad0], r12d
movss xmm9, dword [0x1401afbd8]
mov esi, 1
movsd xmm10, qword [0x1401cbfc8]
call fcn.14009ad00
mov ebx, eax
test eax, eax
jne 0x140088ff6
mov ebx, r12d
jmp 0x14008903c
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x140089b06
cmp dword [0x1402175cc], 0x7fffffff
je 0x140089af1
mov edx, dword [0x14021ba68]
add edx, ebx
lea rcx, [0x14021c120]
call fcn.140070370
mov ebx, eax
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
cmp esi, ebx
jg 0x14008942f
mov ecx, esi
call fcn.140098b80
mov ebx, eax
mov dword [rsp + 0x20], eax
test eax, eax
je 0x140089428
cmp byte [0x14021bb58], r12b
je 0x140089068
inc dword [0x14021bacc]
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x140089b78
cmp dword [0x1402175cc], 0x7fffffff
je 0x140089b63
mov edx, dword [0x14021ba98]
add edx, ebx
lea rcx, [0x14021c120]
call fcn.140070370
mov edi, eax
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
mov dword [rsp + 0x30], edi
lea rdx, [rsp + 0x30]
lea rcx, [0x14021bea0]
call fcn.140084320
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14006c7f0
cmp qword [rsp + 0x70], r12
setne dil
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140089116
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089111
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089b11
call fcn.14015b6cc
test dil, dil
je 0x14008912a
cmp byte [0x14021bb5a], r12b
je 0x14008912a
inc dword [0x14021bad0]
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x140089b58
cmp dword [0x1402175cc], 0x7fffffff
je 0x140089b43
mov edx, dword [0x14021ba98]
add edx, ebx
lea rcx, [0x14021c120]
call fcn.140070370
mov edi, eax
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
mov dword [rsp + 0x58], edi
lea rdx, [rsp + 0x58]
lea rcx, [0x14021bea0]
call fcn.140084320
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14006c7f0
cmp qword [rsp + 0x70], r12
setne dil
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1400891d8
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400891d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089b17
call fcn.14015b6cc
test dil, dil
jne 0x140089428
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x140089b38
cmp dword [0x1402175cc], 0x7fffffff
je 0x140089b23
mov edx, dword [0x14021ba98]
add edx, ebx
lea rcx, [0x14021c120]
call fcn.140070370
mov edi, eax
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
mov dword [rsp + 0x24], edi
lea rdx, [rsp + 0x24]
lea rcx, [0x14021be90]
call fcn.140084320
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14006c7f0
cmp qword [rsp + 0x70], r12
setne dil
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x14008928f
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008928a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089b1d
call fcn.14015b6cc
test dil, dil
jne 0x140089428
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x140089b06
cmp dword [0x1402175cc], 0x7fffffff
je 0x140089af1
mov edx, dword [0x14021ba94]
add edx, ebx
lea rcx, [0x14021c120]
call fcn.140070370
mov edi, eax
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
cmp edi, 3
je 0x140089428
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da40
test eax, eax
jne 0x140089b06
cmp dword [0x1402175cc], 0x7fffffff
je 0x140089af1
mov edx, dword [0x14021ba98]
add edx, ebx
lea rcx, [0x14021c120]
call fcn.140070370
mov edi, eax
lea rcx, reloc.WS2_32.dll_bind
call fcn.14015da48
mov rcx, qword [0x14021c048]
mov rdx, qword [0x14021c050]
cmp rcx, rdx
je 0x140089355
mov r8d, edi
call fcn.14015d8b0
cmp rax, qword [0x14021c050]
je 0x140089428
lea rdx, [rsp + 0x34]
lea rcx, [rsp + 0x20]
call fcn.140099490
movss xmm7, dword [rax + 8]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.140099490
movss xmm8, dword [rax]
call fcn.140099120
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x4c]
lea rcx, [rsp + 0x20]
call fcn.140099490
movss xmm6, dword [rax + 8]
call fcn.140099120
mov dword [rsp + 0x20], eax
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x20]
call fcn.140099490
mov rdi, rax
subss xmm7, xmm6
cvtps2pd xmm0, xmm7
movaps xmm1, xmm10
call fcn.14017963c
movaps xmm6, xmm0
subss xmm8, dword [rdi]
cvtps2pd xmm0, xmm8
movaps xmm1, xmm10
call fcn.14017963c
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x1400893ef
xorps xmm0, xmm0
sqrtsd xmm0, xmm6
jmp 0x1400893f7
movaps xmm0, xmm6
call fcn.14017e4c0
cvtsd2ss xmm0, xmm0
cmp byte [0x14021bb44], r12b
je 0x14008940d
comiss xmm0, dword [0x1402175f0]
ja 0x140089428
comiss xmm9, xmm0
jbe 0x140089428
movaps xmm9, xmm0
mov dword [rsp + 0x28], ebx
test r14b, r14b
jne 0x140089428
mov r14b, 1
mov byte [rsp + 0x2c], r14b
inc esi
jmp 0x140088fe6
cmp byte [0x14021bb58], r12b
je 0x1400897b8
mov eax, dword [reloc.WS2_32.dll_getpeername]
cmp dword [0x14021bacc], eax
jle 0x1400897b8
movups xmm0, xmmword [0x1401c80d0]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x1401c80e0]
movups xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [0x1401c80f0]
movups xmmword [rbp - 0x40], xmm0
movsd xmm0, qword [0x1401c8100]
movsd qword [rbp - 0x30], xmm0
mov eax, dword [0x1401c8108]
mov dword [rbp - 0x28], eax
movzx eax, byte [0x1401c810c]
mov byte [rbp - 0x24], al
mov r8d, r12d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400895cf
movdqa xmm4, xmmword [0x1401b3b30]
movdqa xmm3, xmmword [0x1401cc2f0]
movdqa xmm5, xmmword [str.3333]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x5c]
movdqa xmm6, xmmword [0x1401cc2d0]
mov edx, dword [rbp - 0x80]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x1400894e0
cmp r8d, 0x3d
jge 0x140089613
movsxd rax, r8d
lea r9, [rbp - 0x60]
add r9, rax
nop dword [rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3d
jl 0x1400895e0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rbp - 0x60]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], r12b
jne 0x140089632
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.1400639f0
nop
lea rdi, [rsp + 0x60]
mov dword [rsp + 0x24], recvfrom
mov eax, dword [0x1401c80c4]
mov dword [rsp + 0x58], eax
movzx eax, byte [0x1401c80c8]
cmp qword [rsp + 0x78], 0xf
jbe 0x140089675
mov rdi, qword [rsp + 0x60]
mov byte [rsp + 0x58], 0x49
xor byte [rsp + 0x59], 0x38
xor byte [rsp + 0x5a], 0x39
xor byte [rsp + 0x5b], 0x3a
xor al, 0x3b
mov byte [rsp + 0x5c], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
lea rax, [rsp + 0x58]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400896a3
mov r8, rbx
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x80]
call fcn.1400639f0
nop
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rcx, qword [rbp - 0x80]
mov r8, rdi
lea rdx, [rsp + 0x24]
call fcn.1400aebc0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x140089715
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089710
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089b83
call fcn.14015b6cc
movdqa xmm0, xmmword [0x1401bd970]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140089763
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008975e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089b89
call fcn.14015b6cc
call fcn.1400e3900
mov dword [0x14021bacc], r12d
mov byte [r15 + 4], 0
mov rax, r15
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.14015b7e0
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x38]
mov rsi, 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]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
cmp byte [0x14021bb5a], r12b
je 0x140089ae4
mov eax, dword [reloc.WS2_32.dll_accept]
cmp dword [0x14021bad0], eax
jle 0x140089ae4
movups xmm0, xmmword [0x1401c8118]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [0x1401c8128]
movups xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [0x1401c8138]
movups xmmword [rbp - 0x40], xmm0
movsd xmm0, qword [0x1401c8148]
movsd qword [rbp - 0x30], xmm0
mov eax, dword [0x1401c8150]
mov dword [rbp - 0x28], eax
mov r8d, r12d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x140089941
movdqa xmm4, xmmword [0x1401b3b30]
movdqa xmm3, xmmword [0x1401cc2f0]
movdqa xmm5, xmmword [str.3333]
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x5c]
movdqa xmm6, xmmword [0x1401cc2d0]
mov edx, dword [rbp - 0x80]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x38
jl 0x140089852
cmp r8d, 0x3c
jge 0x140089983
movsxd rax, r8d
lea r9, [rbp - 0x60]
add r9, rax
nop dword [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3c
jl 0x140089950
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rbp - 0x60]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], r12b
jne 0x1400899a2
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.1400639f0
nop
lea rdi, [rsp + 0x60]
mov dword [rsp + 0x24], recvfrom
mov eax, dword [0x1401c8110]
mov dword [rsp + 0x58], eax
movzx eax, byte [0x1401c8114]
cmp qword [rsp + 0x78], 0xf
jbe 0x1400899e5
mov rdi, qword [rsp + 0x60]
mov byte [rsp + 0x58], 0x49
xor byte [rsp + 0x59], 0x38
xor byte [rsp + 0x5a], 0x39
xor byte [rsp + 0x5b], 0x3a
xor al, 0x3b
mov byte [rsp + 0x5c], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
lea rax, [rsp + 0x58]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140089a13
mov r8, rbx
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x80]
call fcn.1400639f0
nop
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rcx, qword [rbp - 0x80]
mov r8, rdi
lea rdx, [rsp + 0x24]
call fcn.1400aebc0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x140089a85
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089a80
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089b8f
call fcn.14015b6cc
movdqa xmm0, xmmword [0x1401bd970]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x140089ad3
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089ace
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089b95
call fcn.14015b6cc
call fcn.1400e3900
mov dword [0x14021bad0], r12d
jmp 0x14008976f
mov rax, qword [rsp + 0x28]
mov qword [r15], rax
jmp 0x140089774
mov dword [0x1402175cc], 0x7ffffffe
mov ecx, 6
call fcn.14015ddb0
int3
mov ecx, 5
call fcn.14015ddb0
int3
call fcn.14017ad3c
int3
call fcn.14017ad3c
int3
call fcn.14017ad3c
int3
mov dword [0x1402175cc], 0x7ffffffe
mov ecx, 6
call fcn.14015ddb0
int3
mov ecx, 5
call fcn.14015ddb0
int3
mov dword [0x1402175cc], 0x7ffffffe
mov ecx, 6
call fcn.14015ddb0
int3
mov ecx, 5
call fcn.14015ddb0
int3
mov dword [0x1402175cc], 0x7ffffffe
mov ecx, 6
call fcn.14015ddb0
int3
mov ecx, 5
call fcn.14015ddb0
nop
call fcn.14017ad3c
nop
call fcn.14017ad3c
nop
call fcn.14017ad3c
nop
call fcn.14017ad3c
int3