Function at 0x180231e50
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 [0x1804e0010]
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 0x18023242e
mov eax, dword [0x1804f1978]
test r15b, al
jne 0x180231edc
or eax, r15d
mov dword [0x1804f1978], eax
mov qword [0x1804f1970], r14
lea rcx, [0x1803bd500]
call fcn.180394490
nop
lea rcx, [0x1804f1970]
call fcn.180240190
lea rcx, [rsp + 0x78]
call fcn.180263000
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.180262d90
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.180005cd0
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 0x180232019
lea r8, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae r8, qword [rsp + 0x58]
jmp 0x18023201c
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 0x180232049
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 0x18023208e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180232089
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180232089
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r14w
test rdi, rdi
je 0x1802320af
test bl, bl
jne 0x180232161
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x30]
call fcn.180262340
nop
lea rcx, [rsp + 0x30]
call fcn.1802629b0
mov rcx, rax
call fcn.180169ba0
test al, al
je 0x180232116
lea rcx, [rsp + 0x30]
call fcn.180262820
lea rdx, [rax + 1]
lea rcx, [rsp + 0x30]
call fcn.180262600
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.180262b40
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x18023211b
mov rcx, rbx
call fcn.18016fa30
jmp 0x18023211b
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x180232146
mov rsi, rbx
mov rbx, r14
mov qword [rsp + 0x30], rbx
test rsi, rsi
je 0x180232146
mov rcx, rsi
call fcn.18016e960
mov edx, 0x20
mov rcx, rsi
call fcn.180393fb0
nop
test rbx, rbx
je 0x180232161
mov rcx, rbx
call fcn.18016e960
mov edx, 0x20
mov rcx, rbx
call fcn.180393fb0
nop
test rdi, rdi
je 0x180232174
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.180393f74
mov qword [rsp + 0x38], rax
mov rcx, rax
call fcn.180391920
nop
mov qword [rsp + 0x30], rax
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x30]
call fcn.180391d90
mov rbx, qword [rsp + 0x30]
cmp byte [rbx], 0
je 0x18023236b
lea rdx, [rbx + 0x138]
lea rcx, [rbx + 0x120]
call fcn.180392e70
mov rax, qword [rbx + 0x100]
cmp byte [rax + 0x10], 0
je 0x1802321e5
lea rcx, [rbx + 0x100]
call fcn.18016fa30
lea rdx, [rbx + 0x48]
lea rcx, [rbx + 0x120]
call fcn.180392f40
test al, al
je 0x18023236b
lea rdx, [rsp + 0x58]
lea rcx, [rbx + 0x100]
call fcn.18016f700
nop
mov rax, qword [rbx + 0x100]
cmp byte [rax + 0x10], 0
je 0x18023223a
cmp qword [rsp + 0x68], 0
je 0x18023223a
mov r8b, 1
lea rdx, [rsp + 0x58]
lea rcx, [rbx + 0x100]
call fcn.18016f740
mov byte [rbx], al
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x18023227f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023227a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023227a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
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.180005cd0
nop
mov rcx, rbx
call fcn.180391a70
mov edx, 0x2f0
mov rcx, rbx
call fcn.180393fb0
mov qword [rsp + 0x30], r14
lea rcx, [rbp + 0xa0]
call fcn.180006c50
nop
lea rcx, [rbp + 0x80]
call fcn.180005c50
nop
lea rcx, [rbp + 0x60]
call fcn.180005c50
nop
lea rcx, [rbp + 0x40]
call fcn.180005c50
nop
lea rcx, [rbp + 0x20]
call fcn.180005c50
nop
lea rcx, [rbp]
call fcn.180005c50
nop
lea rcx, [rbp - 0x20]
call fcn.180005c50
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x180232354
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023234f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023234f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r14w
jmp 0x180232444
mov rcx, rbx
call fcn.180391a70
mov edx, 0x2f0
mov rcx, rbx
call fcn.180393fb0
mov qword [rsp + 0x30], r14
lea rcx, [rbp + 0xa0]
call fcn.180006c50
nop
lea rcx, [rbp + 0x80]
call fcn.180005c50
nop
lea rcx, [rbp + 0x60]
call fcn.180005c50
nop
lea rcx, [rbp + 0x40]
call fcn.180005c50
nop
lea rcx, [rbp + 0x20]
call fcn.180005c50
nop
lea rcx, [rbp]
call fcn.180005c50
nop
lea rcx, [rbp - 0x20]
call fcn.180005c50
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x180232415
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180232410
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180232410
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r14w
xor bl, bl
jmp 0x180232785
mov r8d, 7
lea rdx, str._manual
lea rcx, [rbp - 0x68]
call fcn.180005cd0
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x18023248a
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, [0x1803d1bb0]
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + rdi*2], r14w
jmp 0x1802324a5
mov qword [rsp + 0x20], r15
lea r9, [0x1803d1bb0]
xor r8d, r8d
mov rdx, r15
lea rcx, [rbp - 0x68]
call fcn.18000ada0
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
mov rax, rdx
sub rax, rcx
cmp rax, 0x14
jb 0x1802324eb
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 0x18023250b
mov qword [rsp + 0x20], 0x14
lea r9, str._update_platform_x64
xor r8d, r8d
lea edx, [r8 + 0x14]
lea rcx, [rbp - 0x68]
call fcn.18000ada0
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.180005cd0
nop
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x48]
call fcn.180232e30
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x180232590
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023258b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023258b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
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.180005cd0
nop
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x78]
call fcn.180160610
mov rbx, rax
lea rax, [rbp - 0x48]
cmp rax, rbx
je 0x18023261f
lea rcx, [rbp - 0x48]
call fcn.180005c50
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 0x180232663
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023265e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023265e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r14w
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x1802326ba
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802326b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1802326b5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
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 [0x1804f2f30]
test rax, rax
jne 0x18023270c
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 [0x1804f2f30], rax
test rax, rax
je 0x18023271a
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call rax
test al, al
jne 0x18023271e
xor bl, bl
jmp 0x180232731
xor r9d, r9d
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x48]
call fcn.18016aca0
movzx ebx, al
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x180232774
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18023276f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18023276f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r14w
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x1802327c8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1802327c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1802327c3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180393fb0
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.180393f50
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