Function at 0x140004615
Capabilities:
Create pipe

Disassembly:
jmp 0x14020f560
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x88]
sub rsp, 0x188
mov rax, qword [0x140779878]
xor rax, rsp
mov qword [rbp + 0x78], rax
mov edi, r9d
mov rsi, r8
mov r14, rdx
mov rax, rcx
mov qword [rsp + 0x60], rcx
mov qword [rbp + 0x10], r8
xor r13d, r13d
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rcx
mov dword [rsp + 0x68], 0x18
mov dword [rsp + 0x78], 1
lea r15, [rax + 0x20]
mov qword [rsp + 0x50], r15
xor r9d, r9d
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x58]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CreatePipe]
cmp eax, 6
jne 0x14020f5f4
mov rcx, rsi
call fcn.140004d68
xor al, al
jmp 0x14020f91f
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_SetHandleInformation]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 3
lea r9, [rsp + 0x68]
mov edx, 0x80000000
mov r8d, 7
lea rcx, [0x140719738]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
xor bl, bl
cmp rax, 0xffffffffffffffff
je 0x14020f8f9
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
mov dword [rbp - 0x60], 0x68
mov dword [rbp - 0x24], 0x100
mov qword [rbp - 0x10], rax
test dil, 1
cmovne rax, qword [rsp + 0x58]
mov qword [rbp - 8], rax
test dil, 2
mov rax, r12
cmovne rax, qword [rsp + 0x58]
mov qword [rbp], rax
xor eax, eax
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rax
mov r13, qword [r14 + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r13
cmp rax, 1
jb 0x14020f93f
cmp qword [r14 + 0x18], 0x10
jb 0x14020f6c0
mov r14, qword [r14]
movups xmmword [rbp + 0x18], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x28], xmm1
lea r15, [r13 + 1]
mov ebx, 0xf
lea rdi, [rbp + 0x18]
cmp r15, rbx
jbe 0x14020f739
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x14020f701
mov rbx, rcx
movabs rcx, 0x8000000000000000
call fcn.14000e7dc
mov rdi, rax
jmp 0x14020f735
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14020f724
call fcn.14000e7dc
mov rdi, rax
jmp 0x14020f735
test rcx, rcx
je 0x14020f733
call fcn.140001ec4
mov rdi, rax
jmp 0x14020f735
xor edi, edi
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x28], r15
mov qword [rbp + 0x30], rbx
mov r8, r13
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r13], 0x20
mov byte [rdi + r15], 0
mov rdx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x14020f766
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rbp + 0x18]
call fcn.140018859
xorps xmm0, xmm0
movups xmmword [rbp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x48], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x48], xmm1
xor r13d, r13d
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], r13b
mov rdx, qword [rbp + 0x30]
cmp rdx, 0x10
jb 0x14020f7e1
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14020f7dc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14020f7dc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001326e
movdqa xmm0, xmmword [0x1402fc010]
movdqu xmmword [rbp + 0x28], xmm0
mov byte [rbp + 0x18], 0
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x58]
call qword [sym.imp.MiKTeX231000_util.dll_public:_static_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_MiKTeX::Util::PathNameUtil::ToLengthExtendedPathName_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64_]
cmp qword [rax + 0x18], 8
jb 0x14020f80a
mov rax, qword [rax]
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x48], rcx
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x200
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
mov edi, eax
test eax, eax
setne bl
mov rdx, qword [rbp + 0x70]
cmp rdx, 8
jb 0x14020f891
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14020f88c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14020f88c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001326e
test edi, edi
je 0x14020f8ac
mov rax, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x28], rax
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbp + 0x50]
cmp rdx, 0x10
jb 0x14020f8f4
inc rdx
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14020f8ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14020f8ef
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001326e
mov r15, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test bl, bl
jne 0x14020f914
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r15], r13
mov rcx, rsi
call fcn.140004d68
movzx eax, bl
mov rcx, qword [rbp + 0x78]
xor rcx, rsp
call fcn.14000baf0
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14000c225
nop
int3