Function at 0x14000e630
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x118]
sub rsp, 0x218
movaps xmmword [rsp + 0x200], xmm6
mov rax, qword [0x1402cbc00]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov rbx, r9
mov qword [rbp - 0x78], rbx
mov rdi, r8
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x80], rdx
mov r13, rcx
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0xb0], r8
mov qword [rbp + 0xb8], rbx
mov esi, 1
mov dword [rsp + 0x48], esi
mov rdx, r9
mov rcx, r8
call fcn.14000cae0
xorps xmm0, xmm0
movups xmmword [r13], xmm0
xor r14d, r14d
mov qword [r13], r14
mov qword [r13 + 8], r14
mov ecx, 0x50
call fcn.1401e11c8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [r13], rax
mov dword [rsp + 0x48], esi
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14000e6e6
mov rcx, qword [rbx]
xor r9d, r9d
mov r8d, 6
lea rdx, [rsp + 0x40]
call fcn.140118a00
test eax, eax
je 0x14000e712
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.140115db0
nop
mov rcx, rdi
jmp 0x14000ef34
movups xmm0, xmmword [0x140289dc0]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [0x140289dd0]
movups xmmword [rbp - 0x38], xmm1
movups xmm0, xmmword [0x140289de0]
movups xmmword [rbp - 0x28], xmm0
movsd xmm0, qword [str._fJ__vwePRYV.2B]
movsd qword [rbp - 0x18], xmm0
mov eax, dword [0x140289df8]
mov dword [rbp - 0x10], eax
movzx eax, word [0x140289dfc]
mov word [rbp - 0xc], ax
mov r8d, r14d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x14000e887
movdqa xmm4, xmmword [0x14029dc40]
movdqa xmm3, xmmword [0x14029dd00]
movdqa xmm5, xmmword [str.4444]
movdqa xmm0, xmmword [0x14029dce0]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp - 0x44]
movdqa xmm6, xmmword [0x14029dcb0]
mov edx, dword [rsp + 0x50]
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
psrad xmm1, 4
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
psrad xmm1, 4
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 0x14000e7a0
cmp r8d, 0x3e
jge 0x14000e8d0
movsxd rax, r8d
lea r9, [rbp - 0x48]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x39
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3e
jl 0x14000e8a0
mov qword [rsp + 0x30], r14
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov r9d, 0x80
mov r8d, 0xffffffff
lea rdx, [rbp - 0x48]
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x40], rdi
mov rcx, rdi
call fcn.1400d5b70
test eax, eax
je 0x14000e914
xor edx, edx
mov rcx, rdi
call fcn.140115db0
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.140082ba0
cmp eax, 0x64
jne 0x14000ef1b
mov r12d, 2
mov r15d, 0x202
lea rbx, [0x140292218]
test rdi, rdi
jne 0x14000e962
mov rcx, rbx
movzx edx, word [rcx + 0x14]
movzx eax, dx
and ax, r15w
cmp ax, r15w
jne 0x14000e9ab
cmp byte [rcx + 0x16], 1
jne 0x14000e9ab
mov rsi, qword [rcx + 8]
jmp 0x14000e9bf
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000e974
call qword [0x1402cd860]
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x14000e98a
cmp r14w, word [rdi + 0xc0]
jb 0x14000e9a1
mov rcx, qword [rdi]
mov dword [rcx + 0x50], Ordinal_30
mov edx, Ordinal_26
call fcn.1400527c0
mov rcx, rbx
test rcx, rcx
jne 0x14000e945
mov rsi, r14
jmp 0x14000e9bf
test dl, 1
je 0x14000e9b5
mov rsi, r14
jmp 0x14000e9bf
mov dl, 1
call fcn.14007bc30
mov rsi, rax
test rdi, rdi
je 0x14000e9f8
mov edx, dword [rdi + 0x34]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x14000e9d9
test edx, edx
jne 0x14000e9d9
mov eax, r14d
jmp 0x14000e9de
call fcn.14004f480
mov dword [rdi + 0x34], eax
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000e9f3
call qword [0x1402cd870]
test rdi, rdi
jne 0x14000ea18
mov rcx, rbx
movzx edx, word [rcx + 0x14]
movzx eax, dx
and ax, r15w
cmp ax, r15w
jne 0x14000ea6b
cmp byte [rcx + 0x16], 1
jne 0x14000ea6b
mov r15, qword [rcx + 8]
jmp 0x14000ea7f
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000ea2a
call qword [0x1402cd860]
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x14000ea4a
mov eax, 1
cmp ax, word [rdi + 0xc0]
jae 0x14000ea4a
add rcx, 0x38
jmp 0x14000ea61
mov rcx, qword [rdi]
mov dword [rcx + 0x50], Ordinal_30
mov edx, Ordinal_26
call fcn.1400527c0
mov rcx, rbx
test rcx, rcx
jne 0x14000e9fb
mov r15, r14
jmp 0x14000ea7f
test dl, 1
je 0x14000ea75
mov r15, r14
jmp 0x14000ea7f
mov dl, 1
call fcn.14007bc30
mov r15, rax
test rdi, rdi
je 0x14000eafa
mov edx, dword [rdi + 0x34]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x14000ea99
test edx, edx
jne 0x14000ea99
mov eax, r14d
jmp 0x14000ea9e
call fcn.14004f480
mov dword [rdi + 0x34], eax
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000eab3
call qword [0x1402cd870]
test rdi, rdi
je 0x14000eafa
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000eaca
call qword [0x1402cd860]
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x14000eae6
cmp r12w, word [rdi + 0xc0]
jae 0x14000eae6
add rcx, 0x70
jmp 0x14000eafd
mov rcx, qword [rdi]
mov dword [rcx + 0x50], Ordinal_30
mov edx, Ordinal_26
call fcn.1400527c0
mov rcx, rbx
call fcn.140081ea0
mov r12, rax
test rdi, rdi
je 0x14000eb84
mov edx, dword [rdi + 0x34]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x14000eb1f
test edx, edx
jne 0x14000eb1f
mov eax, r14d
jmp 0x14000eb24
call fcn.14004f480
mov dword [rdi + 0x34], eax
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000eb39
call qword [0x1402cd870]
test rdi, rdi
je 0x14000eb84
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000eb50
call qword [0x1402cd860]
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x14000eb70
mov eax, 2
cmp ax, word [rdi + 0xc0]
jae 0x14000eb70
add rcx, 0x70
jmp 0x14000eb87
mov rcx, qword [rdi]
mov dword [rcx + 0x50], Ordinal_30
mov edx, Ordinal_26
call fcn.1400527c0
mov rcx, rbx
movzx eax, word [rcx + 0x14]
test al, 2
je 0x14000eb9a
cmp byte [rcx + 0x16], 1
jne 0x14000eb9a
mov ebx, dword [rcx + 0x10]
jmp 0x14000ebbe
test al, 0x10
je 0x14000ebac
mov ebx, dword [rcx + 0x10]
bt ax, 0xa
jae 0x14000ebbe
add ebx, dword [rcx]
jmp 0x14000ebbe
test al, 1
je 0x14000ebb5
mov ebx, r14d
jmp 0x14000ebbe
mov dl, 1
call fcn.14007c300
mov ebx, eax
test rdi, rdi
je 0x14000ebf2
mov edx, dword [rdi + 0x34]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x14000ebd8
test edx, edx
jne 0x14000ebd8
mov eax, r14d
jmp 0x14000ebdd
call fcn.14004f480
mov dword [rdi + 0x34], eax
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000ebf2
call qword [0x1402cd870]
xorps xmm0, xmm0
xor eax, eax
movsxd r14, ebx
movdqu xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], rax
test ebx, ebx
je 0x14000ec8b
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x14000ef82
cmp r14, 0x1000
jb 0x14000ec55
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x14000ef7c
call fcn.1401e11c8
mov rcx, rax
test rax, rax
je 0x14000ef76
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000ec5d
mov rcx, r14
call fcn.1401e11c8
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
lea rbx, [rax + r14]
mov qword [rbp + 0xd0], rbx
mov r8, r14
mov rdx, r12
mov rcx, rax
call fcn.140232d80
mov qword [rbp + 0xc8], rbx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], rax
mov r8, qword [rbp - 0x80]
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0xd8]
call fcn.14000e450
nop
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rsi + rax], 0
jne 0x14000ecc0
xor r14d, r14d
test rax, rax
je 0x14000ee72
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [r15 + r8], r14b
jne 0x14000ecf0
mov rdx, r15
lea rcx, [rsp + 0x60]
call fcn.140039b70
nop
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], r14
mov r8d, 8
lea rdx, str.username
lea rcx, [rbp]
call fcn.140039b70
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rbp + 0x20], xmm1
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbp + 0x30], xmm0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x60], 0
mov r8, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xd8]
lea rcx, [rbp - 0x48]
call fcn.140038470
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x58], r14
mov r8d, 8
lea rdx, str.password
lea rcx, [rbp + 0x40]
call fcn.140039b70
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], r14
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x70], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
lea rax, [rbp]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x90], xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x68], xmm1
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], r14
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], 0
jne 0x14000edf5
mov rdx, rsi
lea rcx, [rbp - 0x68]
call fcn.140039b70
nop
lea r8, [rbp - 0x68]
lea rdx, [rbp + 0xa0]
mov rcx, r13
call fcn.1400389d0
mov rcx, qword [rax]
add rcx, 0x40
lea rdx, [rbp + 0x90]
call fcn.14002de00
nop
lea rcx, [rbp - 0x68]
call fcn.140034ac0
nop
lea r9, [0x14000efc0]
mov r12d, 2
mov r8d, r12d
mov edx, 0x40
lea rcx, [rbp]
call fcn.1401e1204
nop
lea rcx, [rbp - 0x48]
call fcn.140034ac0
nop
lea rcx, [rsp + 0x60]
call fcn.140034ac0
jmp 0x14000ee78
mov r12d, 2
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x14000eeca
mov rdx, qword [rbp + 0xe8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000eeb3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ef70
call fcn.1401e11b0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], r14
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x14000ef06
mov rdx, qword [rbp + 0xd0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ef01
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ef76
call fcn.1401e11b0
mov rcx, rdi
call fcn.140082ba0
cmp eax, 0x64
je 0x14000e930
mov rbx, qword [rbp - 0x78]
mov rcx, rdi
call fcn.140081bd0
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.140115db0
nop
mov rcx, qword [rbp - 0x70]
call fcn.140034ac0
nop
mov rcx, rbx
call fcn.140034ac0
mov rax, r13
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1401e1190
movaps xmm6, xmmword [rsp + 0x200]
add rsp, 0x218
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1401f6948
nop
call fcn.1401f6948
int3
call fcn.140001e20
int3
call fcn.1400346c0
int3