Function at 0x1801df150
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov ebp, r9d
mov rbx, r8
mov r12, rdx
mov rsi, rcx
mov rdi, qword [rsp + 0xe0]
mov rax, qword [0x1803b6038]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov ecx, 0x118
call fcn.1801e4f08
mov r14, rax
test rdi, rdi
je 0x1801df1aa
mov eax, 1
lock xadd dword [rdi + 8], eax
cmp eax, 0x7fffffff
je 0x1801df44b
lea r15, [rsp + 0x28]
mov rcx, r15
mov rdx, rbx
call fcn.18014f850
mov rcx, r14
mov rdx, r12
mov r8d, ebp
xor r9d, r9d
call fcn.18014f570
lea rax, [0x18034a4c0]
mov qword [r14 + 0x50], rax
lea r12, [r14 + 0x58]
lea rdx, str.ChannelWin
lea r8, str.....mojocorechannel_win.cc
lea r13, [rsp + 0x50]
mov rcx, r13
mov r9d, 0x42
call fcn.18010a970
mov rcx, r12
mov rdx, r13
call fcn.1801754c0
lea rax, [0x18034b2f0]
mov qword [r14], rax
lea rax, [0x18034a4b0]
mov qword [r14 + 0x50], rax
lea rax, [0x18034a580]
mov qword [r14 + 0x58], rax
mov al, byte [r15 + 1]
mov byte [r14 + 0x80], al
mov qword [r14 + 0x88], r14
test r14, r14
je 0x1801df253
mov eax, 1
lock xadd dword [r14 + 8], eax
cmp eax, 0x7fffffff
je 0x1801df448
mov qword [r14 + 0x90], 0
mov qword [r14 + 0x98], rdi
test rdi, rdi
je 0x1801df27f
mov eax, 1
lock xadd dword [rdi + 8], eax
cmp eax, 0x7fffffff
je 0x1801df445
lea rcx, [r14 + 0xa0]
call fcn.1801754b0
mov byte [r14 + 0xc0], 0
lea rcx, [r14 + 0xc8]
call fcn.1800e2f60
lea rcx, [r14 + 0xd0]
call fcn.1801754b0
xorps xmm0, xmm0
movups xmmword [r14 + 0xf0], xmm0
movups xmmword [r14 + 0x100], xmm0
mov dword [r14 + 0x110], 1
lea rdx, [rsp + 0x30]
lea r15, [rsp + 0x40]
mov rcx, r15
call fcn.18018cee0
lea r12, [rsp + 0x50]
mov rcx, r12
mov rdx, r15
call fcn.18010ef72
mov dword [r12], 0
mov r15, qword [r12 + 8]
mov qword [r12 + 8], 0
test r15, r15
je 0x1801df320
cmp r15, 0xffffffffffffffff
je 0x1801df325
call fcn.18010a990
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
call fcn.18010a990
jmp 0x1801df330
xor r15d, r15d
jmp 0x1801df338
xor r15d, r15d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r12, [r15 + 1]
cmp r12, 2
jb 0x1801df347
call fcn.18010a990
cmp qword [r14 + 0x90], r15
je 0x1801df386
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [r14 + 0x90]
inc rax
cmp rax, 2
jae 0x1801df421
cmp r12, 2
jb 0x1801df37e
mov qword [r14 + 0x90], r15
call fcn.18010a990
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rsp + 0x50]
call fcn.18010f130
lea rcx, [rsp + 0x40]
call fcn.18018cf0a
mov rax, qword [r14 + 0x90]
inc rax
cmp rax, 1
jbe 0x1801df44e
lea rcx, [rsp + 0x28]
call fcn.18014f880
test rdi, rdi
je 0x1801df3cb
lock dec dword [rdi + 8]
jne 0x1801df3cb
mov rcx, rdi
call fcn.180101730
mov qword [rsi], r14
test r14, r14
je 0x1801df3e5
mov eax, 1
lock xadd dword [r14 + 8], eax
cmp eax, 0x7fffffff
je 0x1801df442
mov rcx, rbx
call fcn.18014f880
test rdi, rdi
je 0x1801df400
lock dec dword [rdi + 8]
jne 0x1801df400
mov rcx, rdi
call fcn.180101730
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1801e6610
mov rax, rsi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.18010a990
mov rcx, qword [r14 + 0x90]
call fcn.1800fd300
mov qword [r14 + 0x90], 0
jmp 0x1801df36c
int3
int3
int3
int3
int3