Function at 0x402660
Capabilities:
Check mutex on windows
Hide graphical window

Disassembly:
push rbp
mov rbp, rsp
add rsp, 0xffffffffffffff80
call fcn.004029d0
mov rax, qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
call rax
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_ShowWindow]
call rax
lea r8, str.config_m2
mov edx, 1
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateMutexA]
call rax
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
jne 0x4026be
mov eax, 1
jmp 0x4028d3
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
cmp eax, 0xb7
jne 0x4026e8
mov rax, qword [rbp - 0x10]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov eax, 0
jmp 0x4028d3
mov ecx, 0xdbba0
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
mov rax, qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
call rax
test eax, eax
setne al
mov byte [rbp - 0x11], al
cmp byte [rbp - 0x11], 0
je 0x402727
mov rax, qword [rbp - 0x10]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov ecx, 0
call sub.msvcrt.dll_exit
lea rdx, [0x00406068]
lea rcx, str.C:__Users__Public__config.ini
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x20], rax
cmp qword [rbp - 0x20], 0
je 0x4027f5
mov rax, qword [rbp - 0x20]
mov r8, rax
mov edx, 0x32
lea rax, [0x004099c0]
mov rcx, rax
call sub.msvcrt.dll_fgets
mov rax, qword [rbp - 0x20]
mov r8d, 2
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_fseek
mov rax, qword [rbp - 0x20]
mov rcx, rax
call sub.msvcrt.dll_ftell
mov dword [rbp - 0x2c], eax
mov rax, qword [rbp - 0x20]
mov rcx, rax
call sub.msvcrt.dll_fclose
cmp dword [rbp - 0x2c], 0
je 0x402818
lea rax, [0x004099c0]
mov rcx, rax
call sub.msvcrt.dll_strlen
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x58]
lea rdx, [rbp - 0x58]
mov r8, rdx
mov rdx, rax
lea rax, [0x004099c0]
mov rcx, rax
call fcn.00401c2e
mov qword [rbp - 0x38], rax
cmp qword [rbp - 0x38], 0
je 0x4028b5
mov rax, qword [rbp - 0x38]
mov rcx, rax
call fcn.00402265
mov byte [rbp - 0x39], al
cmp byte [rbp - 0x39], 0
je 0x402818
jmp 0x4028b9
lea rdx, [0x0040600b]
lea rcx, str.C:__Users__Public__config.ini
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x28]
mov rcx, rax
call sub.msvcrt.dll_fclose
lea rdx, [0x00406068]
lea rcx, str.C:__Users__Public__Documents__win.ini
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x48], rax
cmp qword [rbp - 0x48], 0
je 0x402890
mov rax, qword [rbp - 0x48]
mov r8, rax
mov edx, 0x19
lea rax, [0x00409a00]
mov rcx, rax
call sub.msvcrt.dll_fgets
mov rax, qword [rbp - 0x48]
mov r8d, 2
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_fseek
mov rax, qword [rbp - 0x48]
mov rcx, rax
call sub.msvcrt.dll_ftell
mov dword [rbp - 0x4c], eax
mov rax, qword [rbp - 0x48]
mov rcx, rax
call sub.msvcrt.dll_fclose
cmp dword [rbp - 0x4c], 0
je 0x4028b8
call fcn.0040254e
jmp 0x4028b8
lea rdx, [0x0040600b]
lea rcx, str.C:__Users__Public__Documents__win.ini
call sub.msvcrt.dll_fopen
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov rcx, rax
call sub.msvcrt.dll_fclose
jmp 0x4028b8
nop
jmp 0x4028b9
nop
mov ecx, 0xdbba0
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
call fcn.004016f4
call fcn.0040254e
jmp 0x4028b9
sub rsp, 0xffffffffffffff80
pop rbp
ret