Function at 0x180231160
Capabilities:
Check mutex on windows

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1d0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x1804ca010]
xor rax, rsp
mov qword [rbp + 0xc0], rax
xor r14d, r14d
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r14w
lea r15d, [r14 + 1]
test cl, cl
je 0x18023173e
mov eax, dword [0x1804db028]
test r15b, al
jne 0x1802311ec
or eax, r15d
mov dword [0x1804db028], eax
mov qword [0x1804db020], r14
lea rcx, [0x1803ae1d0]
call fcn.180386150
nop
lea rcx, [0x1804db020]
call fcn.180240d20
lea rcx, [rsp + 0x78]
call fcn.18025e020
nop
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r14
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r14w
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], 7
mov word [rbp], r14w
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], r14
mov qword [rbp + 0x30], r14
mov qword [rbp + 0x38], 7
mov word [rbp + 0x20], r14w
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x58], r14
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x58], 7
mov word [rbp + 0x40], r14w
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], r14
mov qword [rbp + 0x70], r14
mov qword [rbp + 0x78], 7
mov word [rbp + 0x60], r14w
mov qword [rbp + 0x90], r14
mov qword [rbp + 0x98], r14
mov qword [rbp + 0x90], r14
mov qword [rbp + 0x98], 7
mov word [rbp + 0x80], r14w
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r14
lea rcx, [rbp - 0x20]
call fcn.18025ddb0
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r14w
mov r8d, 0x33
lea rdx, str.84E2A8BE_B4E9_4C0B_824A_BE2182ECD590_optimizeUpdate
lea rcx, [rsp + 0x58]
call fcn.180004e70
nop
mov qword [rsp + 0x38], r14
mov word [rsp + 0x40], 0
mov word [rsp + 0x40], 0
xor bl, bl
cmp qword [rsp + 0x68], 0
je 0x180231329
lea r8, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae r8, qword [rsp + 0x58]
jmp 0x18023132c
mov r8, r14
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rdi, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x180231359
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, bl
cmp eax, 0xb7
cmove ebx, r15d
mov byte [rsp + 0x41], bl
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x18023139e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180231399
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180231399
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r14w
test rdi, rdi
je 0x1802313bf
test bl, bl
jne 0x180231471
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x30]
call fcn.18025d3c0
nop
lea rcx, [rsp + 0x30]
call fcn.18025d9d0
mov rcx, rax
call fcn.1801641a0
test al, al
je 0x180231426
lea rcx, [rsp + 0x30]
call fcn.18025d840
lea rdx, [rax + 1]
lea rcx, [rsp + 0x30]
call fcn.18025d620
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.18025db60
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x18023142b
mov rcx, rbx
call fcn.18016a030
jmp 0x18023142b
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x180231456
mov rsi, rbx
mov rbx, r14
mov qword [rsp + 0x30], rbx
test rsi, rsi
je 0x180231456
mov rcx, rsi
call fcn.180168f60
mov edx, 0x20
mov rcx, rsi
call fcn.180385c70
nop
test rbx, rbx
je 0x180231471
mov rcx, rbx
call fcn.180168f60
mov edx, 0x20
mov rcx, rbx
call fcn.180385c70
nop
test rdi, rdi
je 0x180231484
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x38], r14
mov word [rsp + 0x40], 0
mov ecx, 0x2f0
call fcn.180385c34
mov qword [rsp + 0x38], rax
mov rcx, rax
call fcn.1803835e0
nop
mov qword [rsp + 0x30], rax
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x30]
call fcn.180383a50
mov rbx, qword [rsp + 0x30]
cmp byte [rbx], 0
je 0x18023167b
lea rdx, [rbx + 0x138]
lea rcx, [rbx + 0x120]
call fcn.180384b30
mov rax, qword [rbx + 0x100]
cmp byte [rax + 0x10], 0
je 0x1802314f5
lea rcx, [rbx + 0x100]
call fcn.18016a030
lea rdx, [rbx + 0x48]
lea rcx, [rbx + 0x120]
call fcn.180384c00
test al, al
je 0x18023167b
lea rdx, [rsp + 0x58]
lea rcx, [rbx + 0x100]
call fcn.180169d00
nop
mov rax, qword [rbx + 0x100]
cmp byte [rax + 0x10], 0
je 0x18023154a
cmp qword [rsp + 0x68], 0
je 0x18023154a
mov r8b, 1
lea rdx, [rsp + 0x58]
lea rcx, [rbx + 0x100]
call fcn.180169d40
mov byte [rbx], al
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x18023158f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023158a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023158a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r14w
mov r8d, 7
lea rdx, str._update
lea rcx, [rbp - 0x68]
call fcn.180004e70
nop
mov rcx, rbx
call fcn.180383730
mov edx, 0x2f0
mov rcx, rbx
call fcn.180385c70
mov qword [rsp + 0x30], r14
lea rcx, [rbp + 0xa0]
call fcn.180005df0
nop
lea rcx, [rbp + 0x80]
call fcn.180004df0
nop
lea rcx, [rbp + 0x60]
call fcn.180004df0
nop
lea rcx, [rbp + 0x40]
call fcn.180004df0
nop
lea rcx, [rbp + 0x20]
call fcn.180004df0
nop
lea rcx, [rbp]
call fcn.180004df0
nop
lea rcx, [rbp - 0x20]
call fcn.180004df0
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x180231664
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023165f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023165f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r14w
jmp 0x180231754
mov rcx, rbx
call fcn.180383730
mov edx, 0x2f0
mov rcx, rbx
call fcn.180385c70
mov qword [rsp + 0x30], r14
lea rcx, [rbp + 0xa0]
call fcn.180005df0
nop
lea rcx, [rbp + 0x80]
call fcn.180004df0
nop
lea rcx, [rbp + 0x60]
call fcn.180004df0
nop
lea rcx, [rbp + 0x40]
call fcn.180004df0
nop
lea rcx, [rbp + 0x20]
call fcn.180004df0
nop
lea rcx, [rbp]
call fcn.180004df0
nop
lea rcx, [rbp - 0x20]
call fcn.180004df0
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x180231725
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180231720
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180231720
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r14w
xor bl, bl
jmp 0x180231a95
mov r8d, 7
lea rdx, str._manual
lea rcx, [rbp - 0x68]
call fcn.180004e70
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x18023179a
lea rdi, [rcx + 1]
mov qword [rbp - 0x58], rdi
lea rbx, [rbp - 0x68]
cmp rdx, 8
cmovae rbx, qword [rbp - 0x68]
lea rcx, [rbx + rcx*2]
mov r8d, 2
lea rdx, [0x1803c2b80]
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + rdi*2], r14w
jmp 0x1802317b5
mov qword [rsp + 0x20], r15
lea r9, [0x1803c2b80]
xor r8d, r8d
mov rdx, r15
lea rcx, [rbp - 0x68]
call fcn.180009e00
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
mov rax, rdx
sub rax, rcx
cmp rax, 0x14
jb 0x1802317fb
lea rdi, [rcx + 0x14]
mov qword [rbp - 0x58], rdi
lea rbx, [rbp - 0x68]
cmp rdx, 8
cmovae rbx, qword [rbp - 0x68]
lea rcx, [rbx + rcx*2]
mov r8d, 0x28
lea rdx, str._update_platform_x64
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + rdi*2], r14w
jmp 0x18023181b
mov qword [rsp + 0x20], 0x14
lea r9, str._update_platform_x64
xor r8d, r8d
lea edx, [r8 + 0x14]
lea rcx, [rbp - 0x68]
call fcn.180009e00
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r14w
mov r8d, 0x11
lea rdx, str.2345PicUpdate.exe
lea rcx, [rsp + 0x78]
call fcn.180004e70
nop
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x48]
call fcn.1802327a0
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x1802318a0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023189b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023189b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r14w
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r14w
mov r8d, 0x11
lea rdx, str.2345PicUpdate.exe
lea rcx, [rsp + 0x58]
call fcn.180004e70
nop
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x78]
call fcn.18015aa30
mov rbx, rax
lea rax, [rbp - 0x48]
cmp rax, rbx
je 0x18023192f
lea rcx, [rbp - 0x48]
call fcn.180004df0
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x38], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x180231973
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023196e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023196e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r14w
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x1802319ca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802319c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1802319c5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r14w
lea rbx, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rbx, qword [rbp - 0x48]
mov rax, qword [0x1804dc630]
test rax, rax
jne 0x180231a1c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, str.CheckSigner
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1804dc630], rax
test rax, rax
je 0x180231a2a
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call rax
test al, al
jne 0x180231a2e
xor bl, bl
jmp 0x180231a41
xor r9d, r9d
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x48]
call fcn.1801652a0
movzx ebx, al
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x180231a84
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180231a7f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180231a7f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r14w
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x180231ad8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180231ad3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180231ad3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180385c70
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r14w
movzx eax, bl
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.180385c10
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret