Function at 0x14000865c
Capabilities:
Enumerate processes
Read .ini file

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x2a0
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x14006d9f8]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov r15, rcx
xor ebx, ebx
lea rdi, [rcx + 0x40]
cmp qword [rdi + 0x18], 8
jb 0x1400086ac
mov r9, qword [rdi]
jmp 0x1400086af
mov r9, rdi
xor r8d, r8d
lea rdx, [0x140060a20]
lea rcx, [0x140060a58]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp eax, 1
sete r12b
test r12b, r12b
je 0x1400086f6
cmp qword [rdi + 0x18], 8
jb 0x1400086dc
mov rdi, qword [rdi]
mov r9, rdi
xor r8d, r8d
lea rdx, str.wait_for_last_program_exit
lea rcx, str.Launcher
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov edi, ebx
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rsi, rax
test rax, rax
je 0x1400088d5
mov dword [rsp + 0x50], 0x238
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x1400087da
or r11, 0xffffffffffffffff
cmp word [rsp + 0x7c], bx
jne 0x14000873d
mov rdx, rbx
jmp 0x14000874e
lea rax, [rsp + 0x7c]
mov rdx, r11
inc rdx
cmp word [rax + rdx*2], bx
jne 0x140008745
mov r10, qword [r15 + 0x70]
cmp qword [r15 + 0x78], 8
jb 0x14000875f
mov r8, qword [r15 + 0x60]
jmp 0x140008763
lea r8, [r15 + 0x60]
mov rcx, rdx
cmp r10, rdx
cmovb rcx, r10
test rcx, rcx
je 0x140008799
lea r9, [rsp + 0x7c]
movzx eax, word [r9]
cmp word [r8], ax
jne 0x140008790
add r8, 2
add r9, 2
dec rcx
jne 0x140008777
jmp 0x140008799
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x14000879b
mov eax, ebx
movsxd rcx, eax
mov eax, ebx
cmp r10, rdx
setne al
cmp r10, rdx
cmovb eax, r11d
test rcx, rcx
cmovne eax, ecx
test eax, eax
jne 0x1400087c3
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [rsp + 0x58], eax
jne 0x1400087d6
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_Process32NextW]
jmp 0x140008725
mov edi, dword [rsp + 0x58]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x1400088d5
test r12b, r12b
je 0x14000889f
mov edx, edi
call fcn.14000bc94
test eax, eax
jle 0x140008873
lea r8, [0x14005ff68]
xor edx, edx
mov ecx, 0x1f0001
call qword [sym.imp.KERNEL32.dll_OpenMutexW]
test rax, rax
je 0x14000885b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [0x1400716b0], rbx
je 0x14000884b
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r9d, eax
lea r8, str._INFO___d___waiting_for_last_program_exit.
mov edx, 3
mov rcx, qword [0x1400716b0]
call fcn.14000d154
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400086f6
cmp qword [0x1400716b0], rbx
je 0x1400088d5
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r8, str._INFO___d___no_run.
jmp 0x140008889
cmp qword [0x1400716b0], rbx
je 0x1400088d5
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r8, str._INFO___d___no_thread.
mov r9d, eax
mov edx, 3
mov rcx, qword [0x1400716b0]
call fcn.14000d154
jmp 0x1400088d5
mov r8d, edi
lea rdx, [rsp + 0x28]
call fcn.140008f3c
nop
cmp qword [rsp + 0x38], rbx
je 0x1400088c3
lea rdx, [rsp + 0x28]
mov rcx, r15
call fcn.140008904
mov bl, al
cmp qword [rsp + 0x40], 8
jb 0x1400088d5
mov rcx, qword [rsp + 0x28]
call fcn.14003440c
mov al, bl
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.1400326d0
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret