Function at 0x1400aa980
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x130
mov rax, qword [0x1402e1040]
xor rax, rsp
mov qword [rsp + 0x120], rax
xor r15d, r15d
lea rcx, [0x140089ce0]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rdx, [0x140089fa0]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
mov qword [0x1402e3650], rax
lea rdx, [rsp + 0x20]
call fcn.14008f300
lea rdx, [rsp + 0x20]
call fcn.14008f640
nop
lea rdx, [rsp + 0x20]
call fcn.14008f300
nop
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x108]
call fcn.14008ee30
movsd xmm0, qword [rax]
movsd qword [rsp + 0x68], xmm0
mov edx, dword [rax + 8]
mov ebx, dword [rsp + 0x68]
test edx, edx
je 0x1400aaa31
lea eax, [rbx - 1]
test eax, 0xfffffff7
jne 0x1400aaee3
lea rcx, [rsp + 0x20]
call fcn.140063b30
cmp ebx, 3
je 0x1400aaaf7
lea rdx, [rsp + 0x98]
call fcn.14008f300
nop
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x78]
call fcn.140061c30
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
mov r8d, socket
lea rdx, str.Cannot_create_folder:_n
lea rcx, [rsp + 0x48]
call fcn.140068000
nop
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x48]
lea rcx, [rsp + 0x20]
call fcn.1400ab1f0
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 7
cmova rdx, qword [rsp + 0x20]
mov r9d, reloc.WS2_32.dll_recv
lea r8, str.Error_Initializing
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
lea rcx, [rsp + 0x20]
call fcn.140063b30
nop
lea rcx, [rsp + 0x48]
call fcn.140063b30
nop
lea rcx, [rsp + 0x78]
call fcn.140063b30
nop
lea rcx, [rsp + 0x98]
call fcn.140063b30
lea r8, str.Local_Cherax_
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400aab3b
mov r9d, reloc.WS2_32.dll_recv
lea r8, str.Error_Initializing
lea rdx, str.Cherax_Loader_is_already_running.
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, 0xffffffff
jmp 0x1400aaeb1
mov ecx, 0x170
call fcn.140171d10
mov rbx, rax
mov qword [rsp + 0x40], rax
xor edx, edx
mov r8d, 0x170
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.1400aa4a0
mov rdi, rax
mov qword [rsp + 0x108], rax
call fcn.1400a7d00
mov ecx, 1
call fcn.140171d10
mov rbx, rax
mov qword [rsp + 0x40], rax
lea rcx, [0x1402e3798]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov dl, 1
mov ecx, 3
call fcn.1400f8b00
lea rcx, [0x1402e3798]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [0x1402e3640], rbx
mov qword [rsp + 0x100], rbx
mov ecx, 0x80
call fcn.140171d10
mov qword [rsp + 0xf8], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
movups xmmword [rax + 0x70], xmm0
mov rcx, rax
call fcn.1400ab400
mov rsi, rax
mov qword [rsp + 0xf8], rax
mov ecx, 0x20
call fcn.140171d10
mov qword [rsp + 0xf0], rax
mov rcx, rax
call fcn.1400a8ec0
mov r12, rax
mov qword [rsp + 0xf0], rax
mov ecx, 0x60
call fcn.140171d10
mov r14, rax
mov qword [rsp + 0xe8], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
mov dword [rax], r15d
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], r15
mov qword [rax + 0x20], reloc.WS2_32.dll_ntohs
mov byte [rax + 8], 0
lea r13, [rax + 0x28]
mov qword [rsp + 0xe0], r13
mov qword [r13], r15
mov qword [r13 + 8], r15
mov qword [r13 + 0x10], r15
mov qword [r13 + 0x18], r15
mov qword [r13 + 0x20], r15
mov ecx, reloc.WS2_32.dll_recv
call fcn.140171d10
mov qword [rax + 8], r15
mov qword [r13], rax
mov qword [rax], r13
mov qword [r14 + 0x50], r15
mov dword [r14 + 0x58], r15d
mov qword [0x1402e38c8], r14
mov qword [rsp + 0xe8], r14
mov ecx, 0x1c0
call fcn.140171d10
mov rbx, rax
mov qword [rsp + 0xe0], rax
xor edx, edx
mov r8d, 0x1c0
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call fcn.14004a280
mov rbx, rax
mov qword [rsp + 0xe0], rax
mov ecx, 0x98
call fcn.140171d10
mov qword [rsp + 0xd8], rax
mov rcx, rax
call fcn.1400a6530
mov r15, rax
mov qword [rsp + 0xd8], rax
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1400aad6d
lea rcx, [0x1402ac350]
nop word [rax + rax]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], r14
lea rax, [rsp + 0x98]
mov qword [rsp + 0xd0], rax
lea rdx, [rsp + 0x98]
call fcn.1400a9ea0
cmp byte [reloc.WS2_32.dll_accept], 0
lea rcx, [0x1402ac350]
jne 0x1400aad30
mov qword [rsp + 0xd8], 0
test r15, r15
je 0x1400aad93
mov rcx, r15
call fcn.1400a6c20
mov edx, 0x98
mov rcx, r15
call fcn.140172064
xor r15d, r15d
mov qword [rsp + 0xe0], r15
test rbx, rbx
je 0x1400aadb8
mov rcx, rbx
call fcn.14004a460
mov edx, 0x1c0
mov rcx, rbx
call fcn.140172064
mov qword [rsp + 0xe8], r15
mov qword [0x1402e38c8], r15
mov rcx, r13
call fcn.14005fec0
lea rcx, [r14 + 8]
call fcn.140063ba0
mov edx, 0x60
mov rcx, r14
call fcn.140172064
mov qword [rsp + 0xf0], r15
test r12, r12
je 0x1400aadfa
mov rdx, r12
call fcn.1400ab0a0
mov qword [rsp + 0xf8], r15
test rsi, rsi
je 0x1400aae34
mov rcx, rsi
call fcn.1400ab6b0
mov rcx, qword [rsi]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x48]
call qword [sym.imp.USER32.dll_UnregisterClassW]
nop
mov edx, 0x80
mov rcx, rsi
call fcn.140172064
mov qword [rsp + 0x100], r15
call sym.CheraxLoader.exe_curl_global_cleanup
nop
mov edx, 1
mov rcx, qword [rsp + 0x40]
call fcn.140172064
test rdi, rdi
je 0x1400aae8d
mov qword [0x1402e3628], r15
lea rcx, [rdi + 0x68]
call fcn.140090130
lea rcx, [rdi + 0x48]
call fcn.140063b30
lea rcx, [rdi + 0x20]
call fcn.140063ba0
mov rcx, rdi
call fcn.140063ba0
mov edx, 0x170
mov rcx, rdi
call fcn.140172064
mov rcx, qword [0x1402e3650]
call qword [sym.imp.KERNEL32.dll_RemoveVectoredExceptionHandler]
mov rcx, qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
nop
xor eax, eax
jmp 0x1400aaeb1
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.140171bd0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
lea r8, [rsp + 0x20]
lea rcx, str.status
call fcn.14008ecd0
int3