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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rsp + 0x150], xmm6
mov rax, qword [0x1405f98c0]
xor rax, rsp
mov qword [rbp + 0x48], rax
mov r14, r8
mov qword [rsp + 0x60], r8
mov r13, rcx
mov qword [rbp - 0x50], rcx
mov byte [rsp + 0x40], dl
xor r15d, r15d
call fcn.1403e61dc
lea rcx, [rax + 8]
lea rdx, [0x14088dd20]
call fcn.1403e59d4
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r15b
jne 0x1400f40d3
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.1400c7300
nop
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x28]
call fcn.1400f37c0
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x1400f4132
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f412d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f490f
call fcn.1403e3650
movdqa xmm0, xmmword [0x14057a8c0]
movdqu xmmword [rbp - 0x28], xmm0
mov byte [rbp - 0x38], 0
mov rax, qword [r14 + 8]
sub rax, qword [r14]
sar rax, 3
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
lea r9, str.:_background_work_finished:_exist:_____game_count:_
call fcn.1400f55d0
movzx eax, byte [r13 + 0x30]
mov ecx, 1
movzx edi, byte [rsp + 0x40]
cmp dil, al
je 0x1400f4269
mov ebx, 3
test dil, dil
cmovne bx, cx
movzx edx, bx
lea rcx, [rbp + 8]
call fcn.140179190
nop
cmp qword [rax + 0x18], 0xf
jbe 0x1400f41b7
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov rcx, r13
call fcn.1403e61dc
lea rcx, [rax + 8]
lea rdx, [0x14088dd20]
call fcn.1403e59d4
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, str.ShadowProcessator_OnProviderStateChanged____
lea r8, str.GAMEPROVIDERCHAN
mov edx, 2
call fcn.1400d30c0
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0xf
jbe 0x1400f4241
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f423c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f4915
call fcn.1403e3650
mov word [rsp + 0x40], bx
mov rcx, qword [r13 + 0xb0]
test rcx, rcx
je 0x1400f491b
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax + reloc.WS2_32.dll_recv]
mov byte [r13 + 0x30], dil
movzx eax, dil
test al, al
je 0x1400f47da
mov dword [rsp + 0x70], 0
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov ecx, 0x30
call fcn.1403e3660
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x78], r15
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 7
mov qword [rbp - 0x58], 8
mov dword [rsp + 0x70], 0x3f800000
mov r8, rax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rbp - 0x78]
call fcn.1400eda30
nop
mov rcx, qword [r13 + 0x48]
xorps xmm0, xmm0
test rcx, rcx
js 0x1400f42e1
cvtsi2ss xmm0, rcx
jmp 0x1400f42f6
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rsp + 0x70]
call fcn.14043cb28
xor eax, eax
movabs rdi, 0x8000000000000000
movss xmm6, dword [0x14057a8a0]
comiss xmm0, xmm6
jb 0x1400f4326
subss xmm0, xmm6
comiss xmm0, xmm6
jae 0x1400f4326
mov rax, rdi
cvttss2si rbx, xmm0
add rbx, rax
mov rcx, qword [rbp - 0x80]
xorps xmm0, xmm0
test rcx, rcx
js 0x1400f4341
cvtsi2ss xmm0, rcx
jmp 0x1400f4356
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rsp + 0x70]
call fcn.14043cb28
xor eax, eax
comiss xmm0, xmm6
jb 0x1400f4374
subss xmm0, xmm6
comiss xmm0, xmm6
jae 0x1400f4374
mov rax, rdi
cvttss2si rdx, xmm0
add rdx, rax
cmp rdx, rbx
cmovb rdx, rbx
cmp rdx, qword [rbp - 0x58]
jbe 0x1400f4393
lea rcx, [rsp + 0x70]
call fcn.1400f4f20
lea r15, [r13 + 0x38]
mov qword [rsp + 0x48], r15
mov rdi, qword [r15 + 8]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1400f43cd
nop dword [rax + rax]
lea r8, [rbx + 0x10]
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x70]
call fcn.1400f5ee0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
jne 0x1400f43b0
mov rbx, qword [r14]
movabs r12, 0x100000001b3
cmp rbx, qword [r14 + 8]
movabs rdi, 0xcbf29ce484222325
je 0x1400f464f
mov rdx, qword [rbx]
add rdx, 8
lea rcx, [rbp - 0x18]
call fcn.1400c6060
nop
mov r9, rbx
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x48]
mov rcx, r15
call fcn.1400f58f0
mov r10, qword [rbp]
mov qword [rsp + 0x58], r10
mov rsi, qword [rbp - 8]
mov r9, qword [rbp - 0x18]
mov qword [rsp + 0x50], r9
cmp byte [rbp - 0x40], 0
je 0x1400f449b
lea rdx, [rbp - 0x18]
cmp r10, 0xf
cmova rdx, r9
mov r9, rdi
xor ecx, ecx
test rsi, rsi
je 0x1400f4463
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, rsi
jb 0x1400f4450
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x38]
mov rcx, r15
call fcn.1400f65f0
mov r8, qword [rbp - 0x30]
test r8, r8
je 0x1400f4921
mov edx, 2
mov r8, qword [r8 + 0x30]
mov rcx, r13
call fcn.1400f49d0
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
lea r8, [rbp - 0x18]
cmp r10, 0xf
cmova r8, r9
mov rdx, rdi
xor ecx, ecx
test rsi, rsi
je 0x1400f44c5
movzx eax, byte [r8 + rcx]
xor rdx, rax
imul rdx, r12
inc rcx
cmp rcx, rsi
jb 0x1400f44b1
mov r15, qword [rbp - 0x60]
and r15, rdx
add r15, r15
mov r13, qword [rbp - 0x78]
mov rdi, qword [r13 + r15*8 + 8]
cmp rdi, qword [rsp + 0x78]
je 0x1400f4540
mov r14, qword [r13 + r15*8]
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1400f4502
mov rdx, qword [rdx]
lea rcx, [rbp - 0x18]
cmp r10, 0xf
cmova rcx, r9
cmp rsi, rax
jne 0x1400f4529
mov r8, rsi
call fcn.14043d2a0
test eax, eax
je 0x1400f4534
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
cmp rdi, r14
je 0x1400f453b
mov rdi, qword [rdi + 8]
jmp 0x1400f44f0
mov r14, qword [rsp + 0x60]
jmp 0x1400f4542
mov r14, qword [rsp + 0x60]
xor edi, edi
test rdi, rdi
je 0x1400f45b2
mov rax, qword [r13 + r15*8]
cmp qword [r13 + r15*8 + 8], rdi
jne 0x1400f4574
cmp rax, rdi
jne 0x1400f4569
mov r14, qword [rsp + 0x78]
mov qword [r13 + r15*8], r14
mov qword [r13 + r15*8 + 8], r14
jmp 0x1400f4581
mov r14, qword [rdi + 8]
mov qword [r13 + r15*8 + 8], r14
jmp 0x1400f4581
cmp rax, rdi
jne 0x1400f4581
mov rax, qword [rdi]
mov qword [r13 + r15*8], rax
mov rdx, qword [rdi]
dec qword [rbp - 0x80]
mov rax, qword [rdi + 8]
mov qword [rax], rdx
mov rax, qword [rdi + 8]
mov qword [rdx + 8], rax
lea rcx, [rdi + 0x10]
call fcn.1400c6440
mov edx, 0x30
mov rcx, rdi
call fcn.1403e3650
mov r14, qword [rsp + 0x60]
mov rsi, qword [r14 + 8]
lea rdi, [rbx + 8]
cmp rdi, rsi
je 0x1400f45e8
xor r15d, r15d
mov rax, qword [rdi]
mov qword [rdi], r15
mov rcx, qword [rdi - 8]
mov qword [rdi - 8], rax
test rcx, rcx
je 0x1400f45df
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
add rdi, 8
cmp rdi, rsi
jne 0x1400f45c2
mov rax, qword [r14 + 8]
mov rcx, qword [rax - 8]
test rcx, rcx
je 0x1400f45ff
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
add qword [r14 + 8], 0xfffffffffffffff8
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x1400f4641
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f463c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f492e
call fcn.1403e3650
mov r15, qword [rsp + 0x48]
mov r13, qword [rbp - 0x50]
jmp 0x1400f43da
mov r14, qword [rsp + 0x78]
mov rbx, qword [r14]
cmp rbx, r14
je 0x1400f4775
mov r8, qword [rbx + 0x20]
lea rdx, [rbx + 0x10]
cmp qword [rbx + 0x28], 0xf
jbe 0x1400f4673
mov rdx, qword [rbx + 0x10]
mov r9, rdi
xor ecx, ecx
test r8, r8
je 0x1400f4693
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, r8
jb 0x1400f4680
lea r8, [rbx + 0x10]
lea rdx, [rbp - 0x38]
mov rcx, r15
call fcn.1400f65f0
mov r8, qword [rbp - 0x30]
test r8, r8
je 0x1400f493a
mov edx, 7
mov r8, qword [r8 + 0x30]
mov rcx, r13
call fcn.1400f49d0
mov r8, qword [rbx + 0x20]
lea rdx, [rbx + 0x10]
cmp qword [rbx + 0x28], 0xf
jbe 0x1400f46d4
mov rdx, qword [rbx + 0x10]
xor ecx, ecx
test r8, r8
je 0x1400f46f3
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
xor rdi, rax
imul rdi, r12
inc rcx
cmp rcx, r8
jb 0x1400f46e0
mov r9, rdi
lea r8, [rbx + 0x10]
lea rdx, [rbp + 8]
mov rcx, r15
call fcn.1400f65f0
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400f475c
mov rcx, qword [r15 + 0x30]
and rcx, rdi
add rcx, rcx
mov r8, qword [r15 + 0x18]
mov rax, qword [r8 + rcx*8]
cmp qword [r8 + rcx*8 + 8], rdx
jne 0x1400f4747
cmp rax, rdx
jne 0x1400f473c
mov rax, qword [r15 + 8]
mov qword [r8 + rcx*8], rax
mov qword [r8 + rcx*8 + 8], rax
jmp 0x1400f4753
mov rax, qword [rdx + 8]
mov qword [r8 + rcx*8 + 8], rax
jmp 0x1400f4753
cmp rax, rdx
jne 0x1400f4753
mov rax, qword [rdx]
mov qword [r8 + rcx*8], rax
lea rcx, [r15 + 8]
call fcn.1400f6d50
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r14
movabs rdi, 0xcbf29ce484222325
jne 0x1400f4660
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x1400f47cb
mov rax, qword [rbp - 0x68]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f47b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f4934
call fcn.1403e3650
mov qword [rbp - 0x78], 0
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rsp + 0x78]
call fcn.1400f4c80
jmp 0x1400f48a1
mov rax, qword [r13 + 0x40]
mov rbx, qword [rax]
cmp rbx, rax
je 0x1400f48a1
movabs rsi, 0xcbf29ce484222325
movabs r12, 0x100000001b3
nop
mov edx, 7
mov r8, qword [rbx + 0x30]
mov rcx, r13
call fcn.1400f49d0
lea r8, [rbx + 0x10]
mov r9, qword [r8 + 0x10]
cmp qword [r8 + 0x18], 0xf
jbe 0x1400f4823
mov r8, qword [r8]
mov rcx, rsi
mov rdx, r15
test r9, r9
je 0x1400f4844
nop
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, r12
inc rdx
cmp rdx, r9
jb 0x1400f4830
mov rdx, qword [r13 + 0x68]
and rdx, rcx
add rdx, rdx
mov rcx, qword [r13 + 0x50]
mov rax, qword [rcx + rdx*8]
cmp qword [rcx + rdx*8 + 8], rbx
jne 0x1400f487c
cmp rax, rbx
jne 0x1400f4871
mov rax, qword [r13 + 0x40]
mov qword [rcx + rdx*8], rax
mov qword [rcx + rdx*8 + 8], rax
jmp 0x1400f4888
mov rax, qword [rbx + 8]
mov qword [rcx + rdx*8 + 8], rax
jmp 0x1400f4888
cmp rax, rbx
jne 0x1400f4888
mov rax, qword [rbx]
mov qword [rcx + rdx*8], rax
mov rdx, rbx
lea rcx, [r13 + 0x40]
call fcn.1400f6d50
mov rbx, rax
cmp rax, qword [r13 + 0x40]
jne 0x1400f4800
mov rdx, qword [rbp + 0x40]
cmp rdx, 0xf
jbe 0x1400f48d8
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400f48d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400f4909
call fcn.1403e3650
mov al, 1
mov rcx, qword [rbp + 0x48]
xor rcx, rsp
call fcn.1403e3630
mov rbx, qword [rsp + 0x1b8]
movaps xmm6, xmmword [rsp + 0x150]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1403fd768
nop
call fcn.1403fd768
nop
call fcn.1403fd768
int3
call fcn.1403c2348
nop
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.1403c23b0
nop
call fcn.1403fd768
nop
call fcn.1403fd768
nop
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.1403c23b0
int3