Function at 0x1400c0850
Capabilities:
Check if file exists
Link many functions at runtime

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 r13, rdx
mov rsi, rcx
mov rdi, qword [rsp + 0xf0]
mov rax, qword [0x14029a038]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov ecx, 0x130
call fcn.14017b1d8
mov r14, rax
test rdi, rdi
je 0x1400c089f
lock inc dword [rdi + 8]
mov al, byte [rbx + 2]
lea r15, [rsp + 0x30]
mov byte [r15 - 6], al
movzx eax, word [rbx]
mov word [r15 - 8], ax
lea rdx, [rbx + 8]
mov rcx, r15
call fcn.1401246e0
lea r12, [rsp + 0x40]
lea rdx, [rbx + 0x18]
mov rcx, r12
call fcn.1401246e0
mov rcx, r14
mov rdx, r13
mov r8d, ebp
xor r9d, r9d
call fcn.1400bf5d0
lea rax, [0x14026d070]
mov qword [r14 + 0x38], rax
lea rdx, str.ChannelWin
lea r8, str.....mojocorechannel_win.cc
lea r13, [rsp + 0x60]
mov rcx, r13
mov r9d, 0x5a
call fcn.140120f60
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [r14 + 0x58], xmm1
movups xmmword [r14 + 0x48], xmm0
lea rax, [0x14026ec70]
mov qword [r14], rax
lea rax, [0x14026d060]
mov qword [r14 + 0x38], rax
lea rax, [0x14026d220]
mov qword [r14 + 0x40], rax
mov al, byte [r12 - 0x17]
mov byte [r14 + 0x68], al
mov qword [r14 + 0x70], r14
test r14, r14
je 0x1400c0958
lock inc dword [r14 + 8]
mov qword [r14 + 0x78], 0
mov byte [r14 + 0x80], 0
mov qword [r14 + 0x88], rdi
test rdi, rdi
je 0x1400c0978
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 r13, qword [0x1402a0ca0]
test r13, r13
je 0x1400c0a0a
mov eax, dword [0x14029f590]
mov ecx, dword [0x14029dfe4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400c1025
mov rax, qword [0x14029f588]
jmp 0x1400c0a0c
xor eax, eax
mov qword [r14 + 0x120], rax
mov dword [r14 + 0x128], 1
mov rax, qword [rsp + 0x48]
inc rax
cmp rax, 2
jae 0x1400c0a77
lea r12, [rsp + 0x50]
mov rcx, r12
mov rdx, r15
call fcn.1401246e0
lea r15, [rsp + 0x60]
mov rcx, r15
mov rdx, r12
call fcn.1401246e0
mov dword [r15], 0
mov r12, qword [r15 + 8]
mov qword [r15 + 8], 0
test r12, r12
je 0x1400c0ad0
cmp r12, 0xffffffffffffffff
jne 0x1400c0ad5
xor r12d, r12d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
jmp 0x1400c0ae7
lea r15, [rsp + 0x50]
mov rcx, r15
mov rdx, r12
call fcn.1401246e0
lea r12, [rsp + 0x60]
mov rcx, r12
mov rdx, r15
call fcn.1401246e0
mov dword [r12], 0
mov r13, qword [r12 + 8]
mov qword [r12 + 8], 0
test r13, r13
je 0x1400c0b8c
cmp r13, 0xffffffffffffffff
jne 0x1400c0b91
xor r13d, r13d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
jmp 0x1400c0ba3
xor r12d, r12d
jmp 0x1400c0aef
call fcn.140105b90
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
call fcn.140105b90
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r13, [r12 + 1]
cmp r13, 2
jb 0x1400c0aff
call fcn.140105b90
cmp qword [r14 + 0x78], r12
je 0x1400c0b35
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [r14 + 0x78]
inc rax
cmp rax, 2
jae 0x1400c0da6
cmp r13, 2
jb 0x1400c0b2d
mov qword [r14 + 0x78], r12
call fcn.140105b90
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsp + 0x68]
inc rax
cmp rax, 2
jae 0x1400c0f9f
mov rax, qword [rsp + 0x58]
inc rax
cmp rax, 2
jb 0x1400c0c14
call fcn.140105b90
mov r15, qword [rsp + 0x58]
cmp qword [0x1402a45d0], 0
je 0x1400c1198
mov rcx, qword [0x1402a45d0]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [case.0x1401e7f70.0]
jmp 0x1400c0c14
xor r13d, r13d
jmp 0x1400c0bab
call fcn.140105b90
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
call fcn.140105b90
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r12, [r13 + 1]
cmp r12, 2
jb 0x1400c0bba
call fcn.140105b90
cmp qword [r14 + 0x78], r13
je 0x1400c0bf0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [r14 + 0x78]
inc rax
cmp rax, 2
jae 0x1400c0ddc
cmp r12, 2
jb 0x1400c0be8
mov qword [r14 + 0x78], r13
call fcn.140105b90
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsp + 0x68]
inc rax
cmp rax, 2
jae 0x1400c0fe9
lea rcx, [rsp + 0x50]
call fcn.1400cbcc0
mov byte [r14 + 0x80], 1
mov rax, qword [r14 + 0x78]
inc rax
cmp rax, 1
jbe 0x1400c12b2
mov rax, qword [rsp + 0x48]
inc rax
cmp rax, 2
jae 0x1400c0e6b
mov rax, qword [rsp + 0x38]
inc rax
cmp rax, 2
jae 0x1400c0ea7
test rdi, rdi
je 0x1400c0ca9
lock dec dword [rdi + 8]
jne 0x1400c0ca9
mov rcx, qword [rdi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401e6bb0]
cmp qword [rcx + 0x10], rdx
jne 0x1400c0d83
lea rcx, [0x140203760]
cmp rax, rcx
jne 0x1400c0d83
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x1400c0c8e
lock dec dword [rcx]
je 0x1400c0e16
mov r15, qword [rdi + 0x10]
test r15, r15
je 0x1400c0ca1
lock dec dword [r15]
je 0x1400c0d5a
mov rcx, rdi
call fcn.14017b254
mov qword [rsi], r14
test r14, r14
je 0x1400c0cb6
lock inc dword [r14 + 8]
mov rax, qword [rbx + 0x20]
inc rax
cmp rax, 2
jae 0x1400c0ee3
mov rax, qword [rbx + 0x10]
inc rax
cmp rax, 2
jae 0x1400c0f1d
test rdi, rdi
je 0x1400c0d33
lock dec dword [rdi + 8]
jne 0x1400c0d33
mov rcx, qword [rdi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401e6bb0]
cmp qword [rcx + 0x10], rdx
jne 0x1400c0d96
lea rcx, [0x140203760]
cmp rax, rcx
jne 0x1400c0d96
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x1400c0d1d
lock dec dword [rcx]
je 0x1400c0e20
mov rbx, qword [rdi + 0x10]
test rbx, rbx
je 0x1400c0d2b
lock dec dword [rbx]
je 0x1400c0d70
mov rcx, rdi
call fcn.14017b254
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14017e7b0
mov rax, rsi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [r15 + 8]
call fcn.1400091b0
mov rcx, r15
call fcn.14017b254
jmp 0x1400c0ca1
lea rcx, [rbx + 8]
call fcn.1400091b0
mov rcx, rbx
call fcn.14017b254
jmp 0x1400c0d2b
mov rcx, rdi
mov edx, 1
call qword [case.0x1401e7f70.0]
jmp 0x1400c0ca9
mov rcx, rdi
mov edx, 1
call qword [case.0x1401e7f70.0]
jmp 0x1400c0d33
call fcn.140105b90
mov r15, qword [r14 + 0x78]
cmp qword [0x1402a45d0], 0
je 0x1400c0e2a
mov rcx, qword [0x1402a45d0]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [case.0x1401e7f70.0]
mov qword [r14 + 0x78], 0
jmp 0x1400c0b1e
call fcn.140105b90
mov r15, qword [r14 + 0x78]
cmp qword [0x1402a45d0], 0
je 0x1400c0f57
mov rcx, qword [0x1402a45d0]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [case.0x1401e7f70.0]
mov qword [r14 + 0x78], 0
jmp 0x1400c0bd9
call fcn.14017b254
jmp 0x1400c0c8e
call fcn.14017b254
jmp 0x1400c0d1d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14027d081]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400c12b5
lea rcx, [sym.Maxthon.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400c0f91
call qword [case.0x1401e7f70.0]
mov rcx, rax
xor edx, edx
jmp 0x1400c0f95
call fcn.140105b90
mov r15, qword [rsp + 0x48]
cmp qword [0x1402a45d0], 0
je 0x1400c1094
mov rcx, qword [0x1402a45d0]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [case.0x1401e7f70.0]
mov qword [rsp + 0x48], 0
jmp 0x1400c0c37
call fcn.140105b90
mov r15, qword [rsp + 0x38]
cmp qword [0x1402a45d0], 0
je 0x1400c10d5
mov rcx, qword [0x1402a45d0]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [case.0x1401e7f70.0]
mov qword [rsp + 0x38], 0
jmp 0x1400c0c49
call fcn.140105b90
mov r14, qword [rbx + 0x20]
cmp qword [0x1402a45d0], 0
je 0x1400c1116
mov rcx, qword [0x1402a45d0]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [case.0x1401e7f70.0]
mov qword [rbx + 0x20], 0
jmp 0x1400c0cc7
call fcn.140105b90
mov r14, qword [rbx + 0x10]
cmp qword [0x1402a45d0], 0
je 0x1400c1157
mov rcx, qword [0x1402a45d0]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [case.0x1401e7f70.0]
mov qword [rbx + 0x10], 0
jmp 0x1400c0cd8
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14027d081]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400c12bc
lea rcx, [sym.Maxthon.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400c0fdb
call qword [case.0x1401e7f70.0]
mov rcx, rax
xor edx, edx
jmp 0x1400c0fdf
xor ecx, ecx
mov dl, 1
call fcn.140005a10
jmp 0x1400c0db9
call fcn.140105b90
mov r15, qword [rsp + 0x68]
cmp qword [0x1402a45d0], 0
je 0x1400c11d9
mov rcx, qword [0x1402a45d0]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [case.0x1401e7f70.0]
mov qword [rsp + 0x68], 0
jmp 0x1400c0b47
xor ecx, ecx
mov dl, 1
call fcn.140005a10
jmp 0x1400c0df3
call fcn.140105b90
mov r15, qword [rsp + 0x68]
cmp qword [0x1402a45d0], 0
je 0x1400c1252
mov rcx, qword [0x1402a45d0]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r15
call qword [case.0x1401e7f70.0]
mov qword [rsp + 0x68], 0
jmp 0x1400c0c02
lea rcx, [0x14029f590]
call fcn.14017b2bc
cmp dword [0x14029f590], 0xffffffff
jne 0x1400c0a01
add r13, 0xd0
lea r9, [rsp + 0x50]
mov qword [r9], 0
lea rax, str.channel_win_total_outgoing_messages
lea rdx, [rsp + 0x60]
mov qword [rdx], rax
mov qword [rdx + 8], 0x23
mov qword [rsp + 0x20], 8
mov rcx, r13
mov r8b, 8
call fcn.1400c47b0
mov qword [0x14029f588], rax
lea rcx, [0x14029f590]
call fcn.14017b25c
jmp 0x1400c0a01
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14027d081]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400c12c3
lea rcx, [sym.Maxthon.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400c121a
call qword [case.0x1401e7f70.0]
mov rcx, rax
xor edx, edx
jmp 0x1400c121e
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14027d081]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400c12ca
lea rcx, [sym.Maxthon.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400c1228
call qword [case.0x1401e7f70.0]
mov rcx, rax
xor edx, edx
jmp 0x1400c122c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14027d081]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400c12d1
lea rcx, [sym.Maxthon.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400c1236
call qword [case.0x1401e7f70.0]
mov rcx, rax
xor edx, edx
jmp 0x1400c123a
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14027d081]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400c12d8
lea rcx, [sym.Maxthon.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400c1244
call qword [case.0x1401e7f70.0]
mov rcx, rax
xor edx, edx
jmp 0x1400c1248
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14027d081]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400c12df
lea rcx, [sym.Maxthon.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400c1288
call qword [case.0x1401e7f70.0]
mov rcx, rax
xor edx, edx
jmp 0x1400c128c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14027d081]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400c12e6
lea rcx, [sym.Maxthon.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400c1296
call qword [case.0x1401e7f70.0]
mov rcx, rax
xor edx, edx
jmp 0x1400c129a
xor ecx, ecx
mov dl, 1
call fcn.140005a10
jmp 0x1400c0e83
xor ecx, ecx
mov dl, 1
call fcn.140005a10
jmp 0x1400c0ebf
xor ecx, ecx
mov dl, 1
call fcn.140005a10
jmp 0x1400c0efa
xor ecx, ecx
mov dl, 1
call fcn.140005a10
jmp 0x1400c0f34
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14027d081]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400c12ed
lea rcx, [sym.Maxthon.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400c12a4
call qword [case.0x1401e7f70.0]
mov rcx, rax
xor edx, edx
jmp 0x1400c12a8
xor ecx, ecx
mov dl, 1
call fcn.140005a10
jmp 0x1400c0b71
xor ecx, ecx
mov dl, 1
call fcn.140005a10
jmp 0x1400c0fb7
xor ecx, ecx
mov dl, 1
call fcn.140005a10
jmp 0x1400c1001
int3
xor ecx, ecx
jmp 0x1400c0e64
xor ecx, ecx
jmp 0x1400c0f8d
xor ecx, ecx
jmp 0x1400c10ce
xor ecx, ecx
jmp 0x1400c110f
xor ecx, ecx
jmp 0x1400c1150
xor ecx, ecx
jmp 0x1400c1191
xor ecx, ecx
jmp 0x1400c11d2
xor ecx, ecx
jmp 0x1400c1213
xor ecx, ecx
jmp 0x1400c1284