Function at 0x1400e7c20
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov ebp, r9d
mov rbx, r8
mov r12, rdx
mov rsi, rcx
mov rdi, qword [rsp + 0xf0]
mov rax, qword [0x14033f038]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov ecx, 0x130
call fcn.14016ecd4
mov r14, rax
test rdi, rdi
je 0x1400e7c6f
lock inc dword [rdi + 8]
lea r15, [rsp + 0x30]
mov rcx, r15
mov rdx, rbx
call fcn.14008b7e0
mov rcx, r14
mov rdx, r12
mov r8d, ebp
xor r9d, r9d
call fcn.140163590
lea rax, [0x1402fe400]
mov qword [r14 + 0x38], rax
lea rdx, str.ChannelWin
lea r8, str.....mojocorechannel_win.cc
lea r12, [rsp + 0x58]
mov rcx, r12
mov r9d, 0x5a
call fcn.14004f270
lea rax, [0x1402fe580]
mov qword [r14 + 0x40], rax
lea rcx, [r14 + 0x48]
mov rdx, r12
call fcn.14008b7c0
lea rax, [0x1402ff808]
mov qword [r14], rax
lea rax, [0x1402fe3f0]
mov qword [r14 + 0x38], rax
lea rax, [0x1402fe570]
mov qword [r14 + 0x40], rax
mov al, byte [r15 + 1]
mov byte [r14 + 0x68], al
mov qword [r14 + 0x70], r14
test r14, r14
je 0x1400e7d09
lock inc dword [r14 + 8]
mov qword [r14 + 0x78], 0
mov byte [r14 + 0x80], 0
mov qword [r14 + 0x88], rdi
test rdi, rdi
je 0x1400e7d29
lock inc dword [rdi + 8]
xorps xmm0, xmm0
movups xmmword [r14 + 0xc0], xmm0
movups xmmword [r14 + 0xb0], xmm0
movups xmmword [r14 + 0xa0], xmm0
movups xmmword [r14 + 0x90], xmm0
mov word [r14 + 0xd0], 0
movups xmmword [r14 + 0xd8], xmm0
movups xmmword [r14 + 0xe8], xmm0
movups xmmword [r14 + 0xf8], xmm0
movups xmmword [r14 + 0x108], xmm0
mov qword [r14 + 0x118], 0
mov r15, qword [0x140352ad8]
test r15, r15
jne 0x1400e8002
xor r15d, r15d
mov rax, qword [0x1403428e0]
and rax, r15
cmp rax, qword [0x1403428c8]
je 0x1400e8033
mov qword [r14 + 0x120], r15
mov dword [r14 + 0x128], 1
mov r12, qword [rsp + 0x50]
lea r13, [r12 + 1]
cmp r13, 2
jae 0x1400e7f5d
mov dword [rsp + 0x38], 0
mov r12, qword [rsp + 0x40]
mov qword [rsp + 0x40], 0
test r12, r12
je 0x1400e81cf
cmp r12, 0xffffffffffffffff
je 0x1400e81d7
call fcn.1400412c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
call fcn.1400412c0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r12, r12
je 0x1400e81e7
cmp r12, 0xffffffffffffffff
je 0x1400e81ef
call fcn.1400412c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
call fcn.1400412c0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r12, r12
je 0x1400e81ff
cmp r12, 0xffffffffffffffff
je 0x1400e8207
call fcn.1400412c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
call fcn.1400412c0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r13, [r12 + 1]
cmp r13, 2
jb 0x1400e7e7e
call fcn.1400412c0
cmp qword [r14 + 0x78], r12
je 0x1400e7eb4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [r14 + 0x78]
inc rax
cmp rax, 2
jae 0x1400e8217
cmp r13, 2
jb 0x1400e7eac
mov qword [r14 + 0x78], r12
call fcn.1400412c0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [r14 + 0x78]
inc rax
cmp rax, 1
jbe 0x1400e8040
mov rax, qword [rsp + 0x50]
inc rax
cmp rax, 2
jae 0x1400e8043
mov rax, qword [rsp + 0x40]
inc rax
cmp rax, 2
jae 0x1400e807a
test rdi, rdi
je 0x1400e7ef8
lock dec dword [rdi + 8]
je 0x1400e80b1
mov qword [rsi], r14
test r14, r14
je 0x1400e7f05
lock inc dword [r14 + 8]
mov rax, qword [rbx + 0x20]
inc rax
cmp rax, 2
jae 0x1400e810c
mov rax, qword [rbx + 0x10]
inc rax
cmp rax, 2
jae 0x1400e8141
test rdi, rdi
je 0x1400e7f36
lock dec dword [rdi + 8]
je 0x1400e8176
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140171860
mov rax, rsi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
call fcn.1400412c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
call fcn.1400412c0
mov r15, qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, ebp
call r15
call fcn.1400412c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
call fcn.1400412c0
mov ecx, ebp
call r15
call fcn.1400412c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
call fcn.1400412c0
mov ecx, ebp
call r15
call fcn.1400412c0
cmp qword [r14 + 0x78], r12
je 0x1400e7ff5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [r14 + 0x78]
inc rax
cmp rax, 2
jae 0x1400e8272
cmp r13, 2
jb 0x1400e7fed
mov qword [r14 + 0x78], r12
call fcn.1400412c0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov byte [r14 + 0x80], 1
jmp 0x1400e7eb4
mov eax, dword [0x1403513b8]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400e8361
mov r15, qword [0x1403513b0]
jmp 0x1400e7d94
mov rcx, r15
call fcn.140156f20
jmp 0x1400e7dab
int3
call fcn.1400412c0
mov r15, qword [rsp + 0x50]
mov rcx, qword [0x14035abe0]
test rcx, rcx
je 0x1400e82d1
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [case.0x140211850.0]
mov qword [rsp + 0x50], 0
jmp 0x1400e7ed7
call fcn.1400412c0
mov r15, qword [rsp + 0x40]
mov rcx, qword [0x14035abe0]
test rcx, rcx
je 0x1400e82e2
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [case.0x140211850.0]
mov qword [rsp + 0x40], 0
jmp 0x1400e7ee9
mov rcx, qword [rdi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401c4710]
cmp qword [rcx + 0x10], rdx
jne 0x1400e824c
lea rcx, [0x1401c4730]
cmp rax, rcx
jne 0x1400e824c
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x1400e80ec
lock dec dword [r15]
je 0x1400e8326
mov r15, qword [rdi + 0x10]
test r15, r15
je 0x1400e80ff
lock dec dword [r15]
je 0x1400e82a7
mov rcx, rdi
call fcn.14016eccc
jmp 0x1400e7ef8
call fcn.1400412c0
mov r14, qword [rbx + 0x20]
mov rcx, qword [0x14035abe0]
test rcx, rcx
je 0x1400e82f3
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [case.0x140211850.0]
mov qword [rbx + 0x20], 0
jmp 0x1400e7f16
call fcn.1400412c0
mov r14, qword [rbx + 0x10]
mov rcx, qword [0x14035abe0]
test rcx, rcx
je 0x1400e8304
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [case.0x140211850.0]
mov qword [rbx + 0x10], 0
jmp 0x1400e7f27
mov rcx, qword [rdi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401c4710]
cmp qword [rcx + 0x10], rdx
jne 0x1400e825f
lea rcx, [0x1401c4730]
cmp rax, rcx
jne 0x1400e825f
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x1400e81b0
lock dec dword [rbx]
je 0x1400e833b
mov rbx, qword [rdi + 0x10]
test rbx, rbx
je 0x1400e81c2
lock dec dword [rbx]
je 0x1400e82bc
mov rcx, rdi
call fcn.14016eccc
jmp 0x1400e7f36
xor r12d, r12d
jmp 0x1400e7e14
xor r12d, r12d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
jmp 0x1400e7e0c
xor r12d, r12d
jmp 0x1400e7e41
xor r12d, r12d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
jmp 0x1400e7e39
xor r12d, r12d
jmp 0x1400e7e6e
xor r12d, r12d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
jmp 0x1400e7e66
call fcn.1400412c0
mov r15, qword [r14 + 0x78]
mov rcx, qword [0x14035abe0]
test rcx, rcx
je 0x1400e8315
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [case.0x140211850.0]
mov qword [r14 + 0x78], 0
jmp 0x1400e7e9d
mov rcx, rdi
mov edx, 1
call qword [case.0x140211850.0]
jmp 0x1400e7ef8
mov rcx, rdi
mov edx, 1
call qword [case.0x140211850.0]
jmp 0x1400e7f36
call fcn.1400412c0
mov r15, qword [r14 + 0x78]
mov rcx, qword [0x14035abe0]
test rcx, rcx
je 0x1400e8350
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [case.0x140211850.0]
mov qword [r14 + 0x78], 0
jmp 0x1400e7fde
mov rcx, r15
call fcn.1400b6510
mov rcx, r15
call fcn.14016eccc
jmp 0x1400e80ff
mov rcx, rbx
call fcn.1400b6510
mov rcx, rbx
call fcn.14016eccc
jmp 0x1400e81c2
call fcn.1400bf420
mov rcx, qword [0x14035abe0]
jmp 0x1400e805d
call fcn.1400bf420
mov rcx, qword [0x14035abe0]
jmp 0x1400e8094
call fcn.1400bf420
mov rcx, qword [0x14035abe0]
jmp 0x1400e8125
call fcn.1400bf420
mov rcx, qword [0x14035abe0]
jmp 0x1400e815a
call fcn.1400bf420
mov rcx, qword [0x14035abe0]
jmp 0x1400e8230
mov rcx, r15
call fcn.1400ad7f0
mov rcx, r15
call fcn.14016eccc
jmp 0x1400e80ec
mov rcx, rbx
call fcn.1400ad7f0
mov rcx, rbx
call fcn.14016eccc
jmp 0x1400e81b0
call fcn.1400bf420
mov rcx, qword [0x14035abe0]
jmp 0x1400e828b
lea rcx, [0x1403513b8]
call fcn.14016f8b4
cmp dword [0x1403513b8], 0xffffffff
jne 0x1400e8027
add r15, 0xd0
lea r9, [rsp + 0x78]
mov qword [r9], 0
lea rax, str.channel_win_total_outgoing_messages
lea rdx, [rsp + 0x58]
mov qword [rdx], rax
mov qword [rdx + 8], 0x23
mov qword [rsp + 0x20], 8
mov rcx, r15
mov r8b, 8
call fcn.140207a80
mov qword [0x1403513b0], rax
lea rcx, [0x1403513b8]
call fcn.14016ef8c
jmp 0x1400e8027