Function at 0x1401c1af0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1d0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x14065ef68]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r12, rdx
mov rdi, rcx
mov qword [rbp - 0x10], rcx
xor r13d, r13d
mov esi, r13d
mov dword [rsp + 0x40], r13d
lea rcx, [rbp - 0x70]
call fcn.1401c13c0
nop
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], r13
lea r14, [r13 - 1]
mov qword [rbp + 0x10], 1
mov qword [rbp + 0x18], reloc.WS2_32.dll_ntohs
movzx eax, word [0x14048d0f0]
mov byte [rbp], al
mov byte [rbp + 1], r13b
lea r8, [rbp]
lea rdx, [rbp - 0x70]
mov rcx, r12
call fcn.140286db0
test al, al
sete bl
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x1401c1bc9
inc rdx
mov rcx, qword [rbp]
cmp rdx, 0x1000
jb 0x1401c1bc4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401c1d41
mov rcx, r8
call fcn.1402f1e30
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp], 0
test bl, bl
je 0x1401c1d4f
mov rcx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x1401c1bf0
mov rcx, qword [r12]
mov rax, qword [r12 + 0x10]
mov qword [rbp], rcx
mov qword [rbp + 8], rax
mov qword [rbp + 0x40], ntohs
lea rax, [rbp]
mov qword [rbp + 0x48], rax
lea rax, str.Failed_to_read_
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], reloc.WS2_32.dll_recvfrom
movaps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x40], xmm0
movaps xmm1, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x80], xmm1
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x20]
call fcn.140048ef0
mov dword [rsp + 0x40], 8
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], r13
movups xmm6, xmmword [rbp + 0x20]
movups xmmword [rbp + 0x60], xmm6
movups xmm7, xmmword [rbp + 0x30]
movups xmmword [rbp + 0x70], xmm7
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x20], 0
mov ebx, ntohs
mov dword [rsp + 0x40], ebx
and ebx, 0xfffffff7
mov dword [rsp + 0x40], ebx
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x1401c1ccd
inc rdx
mov rcx, qword [rbp + 0x20]
cmp rdx, 0x1000
jb 0x1401c1cc8
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401c1d48
mov rcx, r8
call fcn.1402f1e30
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x20], 0
mov qword [rsp + 0x48], rdi
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x40], rdi
movups xmmword [rdi], xmm6
movups xmmword [rdi + 0x10], xmm7
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x60], 0
mov byte [rdi + 0x20], 1
mov byte [rdi + 0x28], 0
or ebx, 1
mov dword [rsp + 0x40], ebx
and ebx, 0xfffffffb
mov dword [rsp + 0x40], ebx
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x60], 0
lea rcx, [rbp - 0x30]
call fcn.140068d20
nop
lea rax, [rbp - 0x70]
mov qword [rbp], rax
jmp 0x1401c23be
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x38], reloc.WS2_32.dll_ntohs
mov edx, 0x20
lea rcx, [rbp + 0x20]
call fcn.1400505f0
mov rbx, rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x30], socket
mov qword [rbp + 0x38], 0x1f
movups xmm0, xmmword [str.BackgroundServicePid]
movups xmmword [rax], xmm0
mov ecx, dword [0x1404a0ba8]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x14], 0
movabs rcx, 0xcbf29ce484222325
mov rdx, r13
movabs r8, 0x100000001b3
nop dword [rax]
movzx eax, byte [rdx + rbx]
xor rcx, rax
imul rcx, r8
inc rdx
cmp rdx, 0x14
jb 0x1401c1dc0
and rcx, qword [rbp - 0x40]
lea rax, [rcx + rcx]
mov r8, qword [rbp - 0x58]
mov rdx, qword [r8 + rax*8 + 8]
mov r10, qword [rbp - 0x68]
cmp rdx, r10
jne 0x1401c1df7
mov qword [rbp], r10
mov rdx, r13
jmp 0x1401c1e59
add rcx, rcx
mov r9, qword [r8 + rcx*8]
nop
lea rcx, [rdx + 0x10]
mov rax, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x1401c1e12
mov rcx, qword [rcx]
cmp rax, 0x14
jne 0x1401c1e37
mov rax, qword [rbx]
cmp rax, qword [rcx]
jne 0x1401c1e37
mov rax, qword [rbx + 8]
cmp rax, qword [rcx + 8]
jne 0x1401c1e37
mov eax, dword [rbx + 0x10]
cmp eax, dword [rcx + 0x10]
mov eax, 1
je 0x1401c1e3a
mov eax, r13d
test al, al
jne 0x1401c1e52
cmp rdx, r9
je 0x1401c1e49
mov rdx, qword [rdx + 8]
jmp 0x1401c1e00
mov qword [rbp], rdx
mov rdx, r13
jmp 0x1401c1e59
mov rax, qword [rdx]
mov qword [rbp], rax
mov rax, r10
test rdx, rdx
cmovne rax, rdx
cmp rax, r10
je 0x1401c1ee3
lea r9, [rax + 0x30]
cmp qword [r9 + 0x18], 0x10
jb 0x1401c1e76
mov r9, qword [r9]
mov r11, qword [rax + 0x40]
add r11, r9
mov r10d, r13d
mov rdx, r9
mov ecx, r13d
xor r15b, r15b
cmp r9, r11
je 0x1401c1ed5
lea r13, [0x140473f60]
nop word [rax + rax]
movzx eax, byte [rdx]
movzx r8d, byte [rax + r13]
cmp r8b, 0xa
jae 0x1401c1ed2
cmp ecx, 0x19999999
jb 0x1401c1ec3
jne 0x1401c1ebe
cmp r8b, 5
jbe 0x1401c1ec3
mov r15b, 1
jmp 0x1401c1eca
lea ecx, [rcx + rcx*4]
lea ecx, [r8 + rcx*2]
inc rdx
cmp rdx, r11
jne 0x1401c1ea0
xor r13d, r13d
cmp rdx, r9
je 0x1401c1ee6
test r15b, r15b
cmove r10d, ecx
jmp 0x1401c1ee6
mov r10d, r13d
mov edx, r10d
lea rcx, [rsp + 0x58]
call fcn.1402888a0
nop
mov edx, 0x20
mov rcx, rbx
call fcn.1402f1e30
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x20], 0
cmp byte [rsp + 0x78], 2
jne 0x1401c203c
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x58], reloc.WS2_32.dll_ntohs
mov edx, 0x30
lea rcx, [rbp + 0x40]
call fcn.1400505f0
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x50], 0x28
mov qword [rbp + 0x58], 0x2f
movups xmm0, xmmword [str.results_must_be_set_to_ok_err_before_use]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140475ab0]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140475ac0]
movsd qword [rax + 0x20], xmm0
mov byte [rax + 0x28], 0
mov dword [rsp + 0x40], reloc.WS2_32.dll_recv
lea rax, [rbp + 0x40]
cmp qword [rbp + 0x58], 0x10
cmovae rax, qword [rbp + 0x40]
mov qword [rbp], rax
inc r14
cmp byte [rax + r14], 0
jne 0x1401c1f95
mov qword [rbp + 8], r14
movaps xmm0, xmmword [rbp]
movdqa xmmword [rbp], xmm0
mov qword [rsp + 0x30], r13
lea rax, [rbp]
mov qword [rsp + 0x28], rax
lea rax, str.eax::Result_class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char____class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char_____::isOk
mov qword [rsp + 0x20], rax
mov r9d, 0x130
lea r8, [0x140471c70]
lea rdx, str.valid__
xor ecx, ecx
call fcn.14025de80
movzx ebx, al
mov esi, reloc.WS2_32.dll_recv
and esi, 0xffffffef
mov dword [rsp + 0x40], esi
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x1401c2027
inc rdx
mov rcx, qword [rbp + 0x40]
cmp rdx, 0x1000
jb 0x1401c2022
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401c2083
mov rcx, r8
call fcn.1402f1e30
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x40], 0
test bl, bl
je 0x1401c203c
int3
mov byte [rbp - 0x80], 1
cmp byte [rsp + 0x78], 0
sete al
test al, al
je 0x1401c208a
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x58]
call fcn.1401c1050
nop
or esi, 2
mov dword [rsp + 0x40], esi
cmp qword [rax + 0x18], 0x10
jb 0x1401c206c
mov rax, qword [rax]
lea rdx, str.EABackgroundService.exe
mov rcx, rax
call fcn.1400b3950
test eax, eax
jne 0x1401c208a
mov bl, 1
jmp 0x1401c208c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xor bl, bl
test sil, 2
je 0x1401c20e4
and esi, 0xfffffffd
mov dword [rsp + 0x40], esi
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x1401c20d4
inc rdx
mov rcx, qword [rbp + 0x60]
cmp rdx, 0x1000
jb 0x1401c20cf
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401c21eb
mov rcx, r8
call fcn.1402f1e30
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x60], 0
test bl, bl
je 0x1401c221d
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], r13
mov qword [rbp + 0x98], reloc.WS2_32.dll_ntohs
mov edx, 0x20
lea rcx, [rbp + 0x80]
call fcn.1400505f0
mov rbx, rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x90], reloc.WS2_32.dll_setsockopt
mov qword [rbp + 0x98], 0x1f
movups xmm0, xmmword [str.BackgroundServicePort]
movups xmmword [rax], xmm0
mov ecx, dword [0x1404a0bc0]
mov dword [rax + 0x10], ecx
movzx ecx, byte [reloc.WS2_32.dll_WSACleanup]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], 0
xor r8d, r8d
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x70]
call fcn.140070f50
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.1402a1840
movzx eax, word [rax]
mov qword [rbp], rdi
mov word [rdi], ax
mov byte [rdi + 0x20], 0
mov byte [rdi + 0x28], 0
or esi, 1
mov dword [rsp + 0x40], esi
mov edx, 0x20
mov rcx, rbx
call fcn.1402f1e30
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x80], 0
lea rax, [rsp + 0x58]
mov qword [rbp + 0x40], rax
movsx rax, byte [rsp + 0x78]
add rax, 1
je 0x1401c2206
sub rax, 1
je 0x1401c21f2
cmp rax, 1
jne 0x1401c2206
lea rax, [rsp + 0x58]
mov qword [rbp], rax
jmp 0x1401c21fb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rax, [rsp + 0x58]
mov qword [rbp], rax
lea rcx, [rsp + 0x58]
call fcn.140050330
nop
lea rcx, [rbp - 0x30]
call fcn.140068d20
nop
lea rax, [rbp - 0x70]
mov qword [rbp], rax
jmp 0x1401c23be
mov rcx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x1401c222c
mov rcx, qword [r12]
mov rax, qword [r12 + 0x10]
mov qword [rbp], rcx
mov qword [rbp + 8], rax
mov qword [rbp + 0x40], ntohs
lea rax, [rbp]
mov qword [rbp + 0x48], rax
lea rax, str._is_not_up_to_date
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], socket
movaps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x40], xmm0
movaps xmm1, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x80], xmm1
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x20]
call fcn.140048ef0
bts esi, 7
mov dword [rsp + 0x40], esi
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], r13
movups xmm6, xmmword [rbp + 0x20]
movups xmmword [rbp + 0x60], xmm6
movups xmm7, xmmword [rbp + 0x30]
movups xmmword [rbp + 0x70], xmm7
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x20], 0
or esi, 0x40
mov dword [rsp + 0x40], esi
btr esi, 7
mov dword [rsp + 0x40], esi
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x1401c2308
inc rdx
mov rcx, qword [rbp + 0x20]
cmp rdx, 0x1000
jb 0x1401c2303
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401c2391
mov rcx, r8
call fcn.1402f1e30
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x20], 0
mov qword [rbp], rdi
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x80], rdi
movups xmmword [rdi], xmm6
movups xmmword [rdi + 0x10], xmm7
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x60], 0
mov byte [rdi + 0x20], 1
mov byte [rdi + 0x28], 0
or esi, 1
mov dword [rsp + 0x40], esi
and esi, 0xffffffbf
mov dword [rsp + 0x40], esi
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x60], 0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
movsx rax, byte [rsp + 0x78]
add rax, 1
je 0x1401c23ac
sub rax, 1
je 0x1401c2398
cmp rax, 1
jne 0x1401c23ac
lea rax, [rsp + 0x58]
mov qword [rbp], rax
jmp 0x1401c23a1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rax, [rsp + 0x58]
mov qword [rbp], rax
lea rcx, [rsp + 0x58]
call fcn.140050330
nop
lea rcx, [rbp - 0x30]
call fcn.140068d20
nop
lea rax, [rbp - 0x70]
mov qword [rbp], rax
lea rcx, [rbp - 0x70]
call fcn.140054dc0
mov rax, rdi
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1402f2210
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret