Function at 0x14007d400
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x90
mov ebx, r9d
mov r15, r8
mov rdi, rdx
mov r14, rcx
mov r12, qword [rsp + 0xf0]
mov rax, qword [0x140362028]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov ecx, 0x128
call fcn.1401a2e6c
mov rsi, rax
test r12, r12
je 0x14007d44f
lock inc dword [r12 + 8]
lea rcx, [rsp + 0x30]
mov rdx, r15
call fcn.14005a5f0
mov rcx, rsi
mov rdx, rdi
mov r8d, ebx
xor r9d, r9d
call fcn.140059260
lea rax, [0x1402306f8]
mov qword [rsi + 0x38], rax
lea rdi, [rsi + 0x40]
lea rdx, str.ChannelWin
lea r8, str..._.._mojo_core_channel_win.cc
lea rbx, [rsp + 0x68]
mov rcx, rbx
mov r9d, 0x5a
call fcn.1400c5820
mov rcx, rdi
mov rdx, rbx
call fcn.1400de2e0
lea rax, [0x140231e50]
mov qword [rsi], rax
lea rax, [0x1402306e8]
mov qword [rsi + 0x38], rax
lea rax, [0x1402308e0]
mov qword [rsi + 0x40], rax
mov qword [rsi + 0x68], rsi
test rsi, rsi
je 0x14007d4d5
lock inc dword [rsi + 8]
mov qword [rsi + 0x70], 0
mov byte [rsi + 0x78], 0
mov qword [rsi + 0x80], r12
test r12, r12
je 0x14007d4f3
lock inc dword [r12 + 8]
lea rcx, [rsi + 0x88]
call fcn.1400de2d0
lea rcx, [rsi + 0xa8]
call fcn.1400de2d0
mov word [rsi + 0xc8], 0
lea rcx, [rsi + 0xd0]
call fcn.140063e10
lea rcx, [rsi + 0xd8]
call fcn.1400de2d0
xorps xmm0, xmm0
movups xmmword [rsi + 0xf8], xmm0
movups xmmword [rsi + 0x108], xmm0
mov rbx, qword [0x140390858]
test rbx, rbx
je 0x14007d577
mov eax, dword [0x14036ee08]
mov ecx, dword [0x14036bfd8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007d7fe
mov rdi, qword [0x14036ee00]
jmp 0x14007d579
xor edi, edi
movabs rax, 0xfffffffe00000000
and rax, rdi
cmp rax, qword [0x140362e48]
jne 0x14007d597
mov rcx, rdi
call fcn.1400c98c0
mov qword [rsi + 0x118], rdi
mov dword [rsi + 0x120], 1
mov rax, qword [rsp + 0x50]
inc rax
cmp rax, 2
jae 0x14007d601
lea rdx, [rsp + 0x38]
lea rdi, [rsp + 0x58]
mov rcx, rdi
call fcn.1400fbe00
lea rbx, [rsp + 0x68]
mov rcx, rbx
mov rdx, rdi
call fcn.1400fbe90
mov dword [rbx], 0
mov rdi, qword [rbx + 8]
mov qword [rbx + 8], 0
test rdi, rdi
je 0x14007d657
cmp rdi, 0xffffffffffffffff
jne 0x14007d65b
xor edi, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14007d66d
lea rdx, [rsp + 0x48]
lea rdi, [rsp + 0x58]
mov rcx, rdi
call fcn.1400fbe00
lea rbx, [rsp + 0x68]
mov rcx, rbx
mov rdx, rdi
call fcn.1400fbe90
mov dword [rbx], 0
mov rdi, qword [rbx + 8]
mov qword [rbx + 8], 0
test rdi, rdi
je 0x14007d6e5
cmp rdi, 0xffffffffffffffff
jne 0x14007d6e9
xor edi, edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14007d6fb
xor edi, edi
jmp 0x14007d675
call fcn.1400c5840
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.1400c5840
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rbx, [rdi + 1]
cmp rbx, 2
jb 0x14007d684
call fcn.1400c5840
cmp qword [rsi + 0x70], rdi
je 0x14007d6cc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi + 0x70]
inc rax
cmp rax, 2
jb 0x14007d6b5
call fcn.1400c5840
mov rcx, qword [rsi + 0x70]
call fcn.1400e21b0
mov qword [rsi + 0x70], 0
cmp rbx, 2
jb 0x14007d6c4
mov qword [rsi + 0x70], rdi
call fcn.1400c5840
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rsp + 0x68]
call fcn.1400fbff0
lea rcx, [rsp + 0x58]
call fcn.1400fbe40
jmp 0x14007d772
xor edi, edi
jmp 0x14007d703
call fcn.1400c5840
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.1400c5840
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rbp, [rdi + 1]
cmp rbp, 2
jb 0x14007d712
call fcn.1400c5840
cmp qword [rsi + 0x70], rdi
je 0x14007d75a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi + 0x70]
inc rax
cmp rax, 2
jb 0x14007d743
call fcn.1400c5840
mov rcx, qword [rsi + 0x70]
call fcn.1400e21b0
mov qword [rsi + 0x70], 0
cmp rbp, 2
jb 0x14007d752
mov qword [rsi + 0x70], rdi
call fcn.1400c5840
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rsp + 0x68]
call fcn.1400fbff0
lea rcx, [rsp + 0x58]
call fcn.1400fbe40
mov byte [rsi + 0x78], 1
mov rax, qword [rsi + 0x70]
inc rax
cmp rax, 1
jbe 0x14007d86d
lea rcx, [rsp + 0x30]
call fcn.14005a630
test r12, r12
je 0x14007d7a8
lock dec dword [r12 + 8]
jne 0x14007d7a8
lea rcx, [r12 + 8]
add rcx, 0xfffffffffffffff8
call fcn.1400d76a0
mov qword [r14], rsi
test rsi, rsi
je 0x14007d7b4
lock inc dword [rsi + 8]
mov rcx, r15
call fcn.14005a630
test r12, r12
je 0x14007d7d9
lock dec dword [r12 + 8]
jne 0x14007d7d9
add r12, 8
add r12, 0xfffffffffffffff8
mov rcx, r12
call fcn.1400d76a0
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1401a4270
mov rax, r14
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, [0x14036ee08]
call fcn.1401a2fc0
cmp dword [0x14036ee08], 0xffffffff
jne 0x14007d56e
add rbx, 0xc8
lea r9, [rsp + 0x58]
mov qword [r9], 0
lea rax, str.channel_win_total_outgoing_messages
lea rdx, [rsp + 0x68]
mov qword [rdx], rax
mov qword [rdx + 8], 0x23
mov qword [rsp + 0x20], 8
mov rcx, rbx
mov r8b, 8
call fcn.1400c0dd0
mov qword [0x14036ee00], rax
lea rcx, [0x14036ee08]
call fcn.1401a3058
jmp 0x14007d56e
int3