Function at 0x140090914
Capabilities:
Create process on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov qword [rbp - 0x51], 0xfffffffffffffffe
mov rdi, rcx
cmp dword [rcx + 0x9c], 0
jne 0x140090946
xor eax, eax
jmp 0x140090ba0
and dword [rcx + 0x9c], 0
lea rdx, str.Restarting_the_application...
lea rcx, [rsp + 0x50]
call fcn.140067e3c
lea r14, [rdi + 0x5e0]
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, r14
call fcn.14006b790
mov ebx, 0x68
mov r8d, ebx
xor edx, edx
lea rcx, [rbp - 0x49]
call fcn.1400b1c70
mov dword [rbp - 0x49], ebx
xor edx, edx
lea r8d, [rbx - 0x50]
lea rcx, [rbp - 0x69]
call fcn.1400b1c70
mov rax, qword [0x140174018]
mov qword [rbp + 0x67], rax
lea r15, [rdi + 0xa0]
mov rax, qword [r15]
or r13d, 0xffffffff
lea rsi, [rdi + 8]
mov edx, dword [rdi + 0x5cc]
mov rcx, rsi
cmp dword [rax - 8], 0
jne 0x140090a12
call fcn.140072980
mov rcx, rax
lea rdx, [rbp + 0x6f]
call fcn.1400724bc
nop
mov r8, qword [rax]
lea rdx, [0x140124ad8]
lea rcx, [rbp + 0x67]
call fcn.14006895c
nop
mov rcx, qword [rbp + 0x6f]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140174010]
je 0x140090a73
mov eax, r13d
lock xadd dword [rcx], eax
add eax, r13d
test eax, eax
jg 0x140090a73
mov rcx, qword [rbp + 0x6f]
jmp 0x140090a6a
call fcn.140072980
mov rcx, rax
lea rdx, [rbp + 0x77]
call fcn.1400724bc
mov rbx, rax
xor edx, edx
mov rcx, r15
call fcn.140069064
mov r9, rax
mov r8, qword [rbx]
lea rdx, str.__s___s
lea rcx, [rbp + 0x67]
call fcn.14006895c
nop
mov rdx, qword [rbp + 0x77]
add rdx, 0xfffffffffffffff4
cmp rdx, qword [0x140174010]
je 0x140090a73
mov eax, r13d
lock xadd dword [rdx], eax
add eax, r13d
test eax, eax
jg 0x140090a73
mov rcx, qword [rbp + 0x77]
add rcx, 0xfffffffffffffff4
call fcn.1400b0230
mov edx, dword [rdi + 0x5cc]
mov rcx, rsi
call fcn.140072980
mov rcx, rax
lea rdx, [rbp + 0x7f]
call fcn.1400724bc
nop
mov rbx, qword [rax]
xor edx, edx
lea rcx, [rbp + 0x67]
call fcn.140069064
mov rdx, rax
lea rax, [rbp - 0x69]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x49]
mov qword [rsp + 0x40], rax
and qword [rsp + 0x38], 0
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
mov ebx, eax
mov rdx, qword [rbp + 0x7f]
add rdx, 0xfffffffffffffff4
cmp rdx, qword [0x140174010]
je 0x140090b04
mov ecx, r13d
lock xadd dword [rdx], ecx
add ecx, r13d
test ecx, ecx
jg 0x140090b04
mov rcx, qword [rbp + 0x7f]
add rcx, 0xfffffffffffffff4
call fcn.1400b0230
mov rcx, qword [rbp - 0x69]
test rcx, rcx
je 0x140090b18
call qword [sym.imp.KERNEL32.dll_CloseHandle]
and qword [rbp - 0x69], 0
mov rcx, qword [rbp - 0x61]
test rcx, rcx
je 0x140090b2c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
and qword [rbp - 0x61], 0
test ebx, ebx
jne 0x140090b54
lea rdx, str.Error_restarting_the_application_
lea rcx, [rsp + 0x58]
call fcn.140067e3c
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, r14
call fcn.14006b790
jmp 0x140090b7a
lea rdx, str.Application_restarted_OK.
lea rcx, [rbp - 0x79]
call fcn.140067e3c
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, r14
call fcn.14006b790
mov ebx, 1
mov rcx, qword [rbp + 0x67]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140174010]
je 0x140090b9e
mov edx, r13d
lock xadd dword [rcx], edx
add edx, r13d
test edx, edx
jg 0x140090b9e
call fcn.1400b0230
mov eax, ebx
add rsp, 0x100
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret