Function at 0x1400b06c0
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x278
mov r14, qword [0x140207460]
lea rsi, str.compat_simple_ipc_ipc_win32.c
lea r9, str.try_connect
mov rax, qword [r14]
mov qword [rsp + 0x268], rax
xor eax, eax
mov qword [r8], 0
mov rbx, rcx
mov r12, rdx
mov rcx, rsi
mov edx, 0xce
lea r13, [rsp + 0x60]
mov rbp, r8
mov qword [rsp + 0x20], 0
lea r8, str.ipc_client
call fcn.14008f540
mov qword [rsp + 0x28], rbx
xor r9d, r9d
mov rcx, rsi
lea rax, str.try_connect_path
mov edx, 0xcf
lea r8, str.ipc_client
mov qword [rsp + 0x20], rax
call fcn.14008f960
mov rdx, r13
mov rcx, rbx
call fcn.1400b00d0
test eax, eax
js 0x1400b08f0
mov dword [rsp + 0x5c], 0
mov ebx, 0x7530
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
mov rcx, r13
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400b0970
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x1400b08c0
cmp eax, 0xe7
jne 0x1400b0828
test byte [r12], 1
je 0x1400b0a10
test ebx, ebx
je 0x1400b0a10
call fcn.14008e180
mov rcx, r13
movabs r15, 0x431bde82d7b634db
mul r15
mov rdi, rdx
mov edx, ebx
shr rdi, 0x12
call qword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
je 0x1400b0a2f
call fcn.14008e180
mul r15
shr rdx, 0x12
mov eax, edx
sub eax, edi
add edi, ebx
sub edi, edx
cmp eax, ebx
mov ebx, 1
cmovb ebx, edi
jmp 0x1400b076f
mov eax, eax
xor r9d, r9d
lea r8, str.ipc_debug
mov rcx, rsi
mov qword [rsp + 0x28], rax
lea rax, str.connect_createfile_gle
mov edx, 0x97
mov qword [rsp + 0x20], rax
call fcn.14008f990
mov edx, 4
mov eax, 4
nop dword [rax]
mov dword [rsp + 0x4c], eax
xor r9d, r9d
mov rcx, rsi
lea rax, str.try_connect_state
mov qword [rsp + 0x20], rax
lea r8, str.ipc_client
mov qword [rsp + 0x28], rdx
mov edx, 0xd7
call fcn.14008f990
lea r9, str.try_connect
mov edx, 0xd9
mov rcx, rsi
mov qword [rsp + 0x20], 0
lea r8, str.ipc_client
call fcn.14008f750
mov eax, dword [rsp + 0x4c]
jmp 0x1400b0945
test byte [r12], 2
je 0x1400b0a20
test ebx, ebx
je 0x1400b0a20
mov edi, 0x32
cmp ebx, edi
cmovbe edi, ebx
mov ecx, edi
sub ebx, edi
call fcn.1400a7270
jmp 0x1400b076f
lea rax, str.try_connect_state
xor r9d, r9d
mov edx, 0xd7
mov rcx, rsi
mov qword [rsp + 0x20], rax
lea r8, str.ipc_client
mov qword [rsp + 0x28], 2
call fcn.14008f990
lea r9, str.try_connect
mov edx, 0xd9
mov rcx, rsi
mov qword [rsp + 0x20], 0
lea r8, str.ipc_client
call fcn.14008f750
mov eax, 2
mov rdx, qword [rsp + 0x268]
sub rdx, qword [r14]
jne 0x1400b0ae5
add rsp, 0x278
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x5c]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
je 0x1400b0a69
mov edx, 0x8002
mov rcx, rdi
call qword [sym.imp.msvcrt.dll__open_osfhandle]
mov ebx, eax
test eax, eax
js 0x1400b0aa7
lea rax, str.try_connect_state
xor r9d, r9d
mov edx, 0xd7
mov rcx, rsi
mov qword [rsp + 0x20], rax
lea r8, str.ipc_client
mov qword [rsp + 0x28], 0
call fcn.14008f990
lea r9, str.try_connect
mov edx, 0xd9
mov rcx, rsi
mov qword [rsp + 0x20], 0
lea r8, str.ipc_client
call fcn.14008f750
mov edx, 4
mov ecx, 1
call fcn.1400a6220
mov qword [rbp], rax
mov dword [rax], ebx
xor eax, eax
jmp 0x1400b0945
mov edx, 1
mov eax, 1
jmp 0x1400b0860
mov edx, 3
mov eax, 3
jmp 0x1400b0860
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x79
je 0x1400b0a10
mov eax, eax
xor r9d, r9d
lea r8, str.ipc_debug
mov rcx, rsi
mov qword [rsp + 0x28], rax
lea rax, str.connect_waitpipe_gle
mov edx, 0x7e
mov qword [rsp + 0x20], rax
call fcn.14008f990
jmp 0x1400b0852
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
xor r9d, r9d
mov edx, 0xa1
mov eax, eax
lea r8, str.ipc_debug
mov qword [rsp + 0x28], rax
lea rax, str.connect_setpipestate_gle
mov qword [rsp + 0x20], rax
call fcn.14008f990
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400b0852
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
xor r9d, r9d
mov edx, 0xac
mov eax, eax
lea r8, str.ipc_debug
mov qword [rsp + 0x28], rax
lea rax, str.connect_openosfhandle_gle
mov qword [rsp + 0x20], rax
call fcn.14008f990
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400b0852
call fcn.1401be670
nop
nop dword [rax + rax]