Function at 0x140040354
Capabilities:
Check mutex on windows
Encode data using xor
Hash data using fnv

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xa8
mov rax, qword [0x1401750b8]
xor rax, rsp
mov qword [rbp - 1], rax
mov r13, qword [rbp + 0x7f]
mov rdi, rcx
mov r12, r9
mov qword [rbp - 0x51], r8
mov qword [rbp - 0x49], rdx
lea rcx, [r13 + 8]
cmp qword [rcx + 0x18], 8
mov r9, qword [rcx + 0x10]
jb 0x14004039f
mov rcx, qword [rcx]
xor r14d, r14d
movabs rdx, 0xcbf29ce484222325
mov r8d, r14d
add r9, r9
je 0x1400403d2
movzx eax, byte [r8 + rcx]
movabs r10, 0x100000001b3
xor rdx, rax
inc r8
imul rdx, r10
cmp r8, r9
jb 0x1400403b4
lea rcx, [rbp - 0x41]
call fcn.14005d1d0
lea r8, [rbp - 0x41]
lea rdx, str.GlobalChromeSetupMutex_
lea rcx, [rbp - 0x21]
call fcn.14002c140
cmp qword [rax + 0x18], 8
jb 0x1400403f9
mov rax, qword [rax]
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x71], r14
mov rdx, rax
call fcn.140033814
xor r8d, r8d
lea rcx, [rbp - 0x21]
mov dl, 1
call fcn.140029bc0
mov rcx, qword [rbp - 0x71]
inc rcx
test rcx, 0xfffffffffffffffe
jne 0x140040446
mov ecx, 3
call fcn.140040314
mov qword [rdi], r14
jmp 0x1400406dd
lea r8, [rbp - 0x41]
lea rdx, str.GlobalChromeSetupExitEvent_
lea rcx, [rbp - 0x21]
call fcn.14002c140
cmp qword [rax + 0x18], 8
jb 0x140040464
mov rax, qword [rax]
xor r8d, r8d
mov r9, rax
xor ecx, ecx
lea edx, [r8 + 1]
call qword [sym.imp.KERNEL32.dll_CreateEventW]
lea rcx, [rbp - 0x69]
mov qword [rbp - 0x69], r14
mov rdx, rax
call fcn.140033814
xor r8d, r8d
lea rcx, [rbp - 0x21]
mov dl, 1
call fcn.140029bc0
mov rax, qword [rbp - 0x69]
inc rax
test rax, 0xfffffffffffffffe
jne 0x1400404b5
mov ecx, 4
call fcn.140040314
mov qword [rdi], r14
jmp 0x1400406d4
mov ecx, 0x18
call fcn.140111b94
mov rbx, qword [rbp - 0x69]
mov rsi, rax
mov qword [rbp - 0x61], r14
mov qword [rbp - 0x69], r14
lea rcx, [rbx - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x1400404f0
call fcn.14006b020
mov r8, qword [rbp + 0x57]
lea rdx, [rbp - 0x69]
mov r9, rax
mov rcx, rbx
call fcn.14006e2e0
mov rdx, rbx
lea rcx, [rbp - 0x61]
call fcn.140033814
mov rbx, qword [rbp - 0x71]
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x71], r14
lea rax, [rbx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14004052a
call fcn.14006b020
mov r8, qword [rbp + 0x57]
lea rdx, [rbp - 0x71]
mov r9, rax
mov rcx, rbx
call fcn.14006e2e0
mov rdx, rbx
lea rcx, [rbp - 0x59]
call fcn.140033814
lea r8, [rbp - 0x61]
mov rcx, rsi
lea rdx, [rbp - 0x59]
call fcn.140040718
lea r8, [rbp - 0x41]
mov rbx, rax
lea rdx, str.GlobalChromeSetupExitEventMutex_
lea rcx, [rbp - 0x21]
call fcn.14002c140
cmp qword [rax + 0x18], 8
jb 0x140040567
mov rax, qword [rax]
mov r8, rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
lea rcx, [rbp - 0x61]
mov qword [rbp - 0x61], r14
mov rdx, rax
call fcn.140033814
xor r8d, r8d
lea rcx, [rbp - 0x21]
mov dl, 1
call fcn.140029bc0
mov rsi, qword [rbp - 0x61]
lea rax, [rsi + 1]
test rax, 0xfffffffffffffffe
jne 0x1400405ca
mov ecx, 5
call fcn.140040314
lea rcx, [rbp - 0x61]
mov qword [rdi], r14
call fcn.1400337b0
test rbx, rbx
je 0x1400406d4
lea rcx, [rbx + 0x10]
jmp 0x1400406af
lea rcx, [rbp - 0x59]
mov qword [rbp - 0x59], 0x4c4b40
call fcn.140070220
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
je 0x1400405f5
mov ecx, 1
jmp 0x1400405a7
lea r14, [rbx + 0x10]
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov r15, qword [rbx]
lea rcx, [rbp - 0x59]
mov qword [rbp - 0x59], 0x4c4b40
call fcn.140070220
mov rdx, rax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
jne 0x140040686
mov qword [rbx + 8], r15
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
cmp rsi, 0xffffffffffffffff
je 0x140040645
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea rcx, [rbp - 0x61]
call fcn.1400337b0
xor edx, edx
mov rcx, r12
call fcn.1400a38a8
lea rcx, [r12 + 0xf0]
mov dl, 1
call fcn.1400a38a8
mov r8, qword [rbp - 0x51]
mov r9, r12
mov rdx, qword [rbp - 0x49]
mov rcx, r13
call fcn.140035728
xor ecx, ecx
call fcn.140040314
mov qword [rdi], rbx
jmp 0x1400406d4
mov ecx, 2
call fcn.140040314
and qword [rdi], 0
cmp rsi, 0xffffffffffffffff
je 0x1400406a3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea rcx, [rbp - 0x61]
call fcn.1400337b0
mov rcx, r14
call fcn.1400337b0
mov rcx, qword [rbx + 8]
cmp rcx, 0xffffffffffffffff
je 0x1400406c4
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rbx
call fcn.1400337b0
mov rcx, rbx
call fcn.140111e78
lea rcx, [rbp - 0x69]
call fcn.1400337b0
lea rcx, [rbp - 0x71]
call fcn.1400337b0
xor r8d, r8d
lea rcx, [rbp - 0x41]
mov dl, 1
call fcn.140029bc0
mov rax, rdi
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.140111850
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret