Function at 0x140016660
Capabilities:
Check mutex on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], 0xfffffffffffffffe
mov eax, dword [0x1401f2df8]
mov ecx, dword [0x1401f2dfc]
shrd ecx, eax, 6
xor ecx, 0xc94614e5
mov eax, ecx
shl rax, 5
call fcn.140053000
sub rsp, rax
mov rdi, rsp
imul eax, dword [0x1401f2e00], 0x6578ee64
imul ecx, dword [0x1401f2e04], 0x72d5ab46
add eax, ecx
add eax, 0x4972bd0b
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.140053000
sub rsp, rax
mov rbx, rsp
imul eax, dword [0x1401f2e08], 0xf50571d6
imul ecx, dword [0x1401f2e0c], 0xf5b52d79
add eax, ecx
add eax, 0x99c03a6e
shl rax, 4
call fcn.140053000
sub rsp, rax
mov r14, rsp
sub rsp, 0x20
lea rsi, [0x140216150]
lea rdx, [0x14006248b]
mov rcx, rsi
call fcn.140038210
add rsp, 0x20
mov eax, dword [0x1401f2e10]
mov ecx, dword [0x1401f2e14]
shrd ecx, eax, 0xe
mov edx, ecx
xor edx, 0xf6cb2d67
sub rsp, 0x20
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov esi, eax
sub rsp, 0x20
call fcn.140045290
add rsp, 0x20
cdqe
lea rcx, [0x140062e18]
cmp esi, dword [rcx + rax*4]
jne 0x140016b5a
sub rsp, 0x20
lea rsi, [0x140216150]
lea rdx, [0x14006248b]
mov rcx, rsi
call fcn.140038210
add rsp, 0x20
imul eax, dword [0x1401f2e18], 0xa3dbb9d6
imul ecx, dword [0x1401f2e1c], 0x271f6bf4
lea edx, [rax + rcx]
add edx, 0x56037ab3
sub rsp, 0x20
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov esi, eax
sub rsp, 0x20
call fcn.140045310
add rsp, 0x20
cdqe
lea rcx, [0x140062e24]
cmp esi, dword [rcx + rax*4]
jne 0x140016b5a
sub rsp, 0x20
lea rsi, [0x140216150]
lea rdx, [0x14006248b]
mov rcx, rsi
call fcn.140038210
add rsp, 0x20
imul eax, dword [0x1401f2e20], 0x9db505fa
imul ecx, dword [0x1401f2e24], 0x8e35756b
lea edx, [rax + rcx]
add edx, 0x16b8587c
sub rsp, 0x20
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov esi, eax
sub rsp, 0x20
call fcn.140045380
add rsp, 0x20
cdqe
lea rcx, [0x140062e30]
cmp esi, dword [rcx + rax*4]
jne 0x140016b5a
sub rsp, 0x20
lea rsi, [0x140216150]
lea rdx, [0x14006248b]
mov rcx, rsi
call fcn.140038210
add rsp, 0x20
imul eax, dword [0x1401f2e28], 0x385b0d97
imul ecx, dword [0x1401f2e2c], 0xa1d3bebf
lea edx, [rax + rcx]
add edx, 0x21303b03
sub rsp, 0x20
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov esi, eax
sub rsp, 0x20
call fcn.140045420
add rsp, 0x20
cdqe
lea rcx, [0x140062e3c]
cmp esi, dword [rcx + rax*4]
jne 0x140016b5a
sub rsp, 0x20
lea rsi, [0x140216150]
lea rdx, [0x14006248b]
mov rcx, rsi
call fcn.140038210
add rsp, 0x20
mov eax, dword [0x1401f2e30]
mov ecx, dword [0x1401f2e34]
shrd ecx, eax, 0x1f
mov edx, ecx
xor edx, 0x19579b24
sub rsp, 0x20
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov esi, eax
sub rsp, 0x20
call fcn.1400454a0
add rsp, 0x20
cdqe
lea rcx, [0x140062e48]
cmp esi, dword [rcx + rax*4]
jne 0x140016b5a
sub rsp, 0x20
lea rsi, [0x140216150]
lea rdx, [0x14006248b]
mov rcx, rsi
call fcn.140038210
add rsp, 0x20
imul eax, dword [0x1401f2e38], 0xd7a17ab0
imul ecx, dword [0x1401f2e3c], 0x2eed3355
lea edx, [rax + rcx]
add edx, 0x8bb73b0
sub rsp, 0x20
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov esi, eax
sub rsp, 0x20
call fcn.140045520
add rsp, 0x20
cdqe
lea rcx, [0x140062e54]
cmp esi, dword [rcx + rax*4]
jne 0x140016b5a
sub rsp, 0x20
lea rsi, [0x140216150]
lea rdx, [0x14006248b]
mov rcx, rsi
call fcn.140038210
add rsp, 0x20
mov eax, dword [0x1401f2e40]
mov ecx, dword [0x1401f2e44]
shrd ecx, eax, 0x11
mov edx, ecx
xor edx, 0x81507fcb
sub rsp, 0x20
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov esi, eax
sub rsp, 0x20
call fcn.140045590
add rsp, 0x20
cdqe
lea rcx, [0x140062e60]
cmp esi, dword [rcx + rax*4]
jne 0x140016b5a
sub rsp, 0x20
lea rsi, [0x140216150]
lea rdx, [0x14006248b]
mov rcx, rsi
call fcn.140038210
add rsp, 0x20
imul eax, dword [0x1401f2e48], 0x65bc44d9
imul ecx, dword [0x1401f2e4c], 0x28651c2c
lea edx, [rax + rcx]
add edx, 0x988a3343
sub rsp, 0x20
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov esi, eax
sub rsp, 0x20
call fcn.140045620
add rsp, 0x20
cdqe
lea rcx, [0x140062e6c]
cmp esi, dword [rcx + rax*4]
jne 0x140016b5a
sub rsp, 0x20
lea rsi, [0x140216150]
lea rdx, [0x14006248b]
mov rcx, rsi
call fcn.140038210
add rsp, 0x20
imul eax, dword [0x1401f2e50], 0xb6a6ed18
imul ecx, dword [0x1401f2e54], 0xfd2e34e0
lea edx, [rax + rcx]
add edx, 0xae900841
sub rsp, 0x20
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov esi, eax
sub rsp, 0x20
call fcn.1400456b0
add rsp, 0x20
cdqe
lea rcx, [0x140062e78]
cmp esi, dword [rcx + rax*4]
jne 0x140016b5a
sub rsp, 0x20
lea rsi, [0x140216150]
lea rdx, [0x14006248b]
mov rcx, rsi
call fcn.140038210
add rsp, 0x20
imul eax, dword [0x1401f2e58], 0xc383c3
imul ecx, dword [0x1401f2e5c], 0x8b036155
lea edx, [rax + rcx]
add edx, 0xf17212bf
sub rsp, 0x20
xor ecx, ecx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
sub rsp, 0x20
call fcn.140001070
add rsp, 0x20
test al, al
jne 0x140016c08
sub rsp, 0x20
call fcn.140001070
add rsp, 0x20
test al, al
jne 0x140016c08
sub rsp, 0x20
call fcn.140001070
add rsp, 0x20
test al, al
jne 0x140016c08
sub rsp, 0x20
call fcn.140001070
add rsp, 0x20
test al, al
jne 0x140016c08
sub rsp, 0x20
call fcn.140001070
add rsp, 0x20
test al, al
jne 0x140016c08
sub rsp, 0x20
call fcn.140001070
add rsp, 0x20
test al, al
jne 0x140016c08
sub rsp, 0x20
call fcn.140001070
add rsp, 0x20
test al, al
jne 0x140016c08
sub rsp, 0x20
call fcn.140001070
add rsp, 0x20
test al, al
jne 0x140016c08
sub rsp, 0x20
call fcn.140001070
add rsp, 0x20
test al, al
jne 0x140016c08
sub rsp, 0x20
call fcn.140001070
add rsp, 0x20
sub rsp, 0x20
call fcn.140045720
call fcn.1400457a0
call fcn.140045830
call fcn.1400458b0
call fcn.140045920
call fcn.1400459b0
call fcn.140045a30
call fcn.140045ab0
add rsp, 0x20
mov r12, qword [0x140215fd8]
test r12, r12
je 0x140016d0c
mov rsi, qword [0x140215fe8]
sub rsi, r12
sub rsp, 0x20
call fcn.140045b30
add rsp, 0x20
cdqe
lea rcx, [0x140062ed0]
cmp rsi, qword [rcx + rax*8]
jbe 0x140016cd2
mov r15, qword [r12 - 8]
sub rsp, 0x20
call fcn.140045bc0
add rsp, 0x20
cdqe
lea rcx, [0x140062ef0]
add r12, qword [rcx + rax*8]
sub r12, r15
sub rsp, 0x20
call fcn.140045c50
add rsp, 0x20
cdqe
lea rcx, [0x140062f10]
cmp r12, qword [rcx + rax*8]
jae 0x1400174d7
sub rsp, 0x20
call fcn.140045ce0
add rsp, 0x20
cdqe
lea rcx, [0x140062f30]
add rsi, qword [rcx + rax*8]
mov rdx, rsi
mov rcx, r15
jmp 0x140016cd8
mov rdx, rsi
mov rcx, r12
sub rsp, 0x20
call fcn.140052fb0
add rsp, 0x20
xorps xmm0, xmm0
movups xmmword [0x140215fd8], xmm0
mov qword [0x140215fe8], 0
sub rsp, 0x20
call fcn.140045d70
call fcn.140045e10
add rsp, 0x20
mov qword [rbp - 0x18], rdi
mov rdi, rbx
mov qword [rbp - 0x10], r14
sub rsp, 0x20
call fcn.140045e90
call fcn.140045f20
add rsp, 0x20
xorps xmm0, xmm0
movups xmmword [0x140215fd8], xmm0
mov qword [0x140215fe8], 0
sub rsp, 0x20
call fcn.14005622c
add rsp, 0x20
mov r14d, dword [0x1402161e8]
mov esi, dword [0x1402161ec]
xor eax, eax
jmp 0x140016da2
sub rsp, 0x20
call fcn.140046af0
add rsp, 0x20
cdqe
mov rbx, qword [rbp - 0x20]
lea rcx, [0x140063050]
add rbx, qword [rcx + rax*8]
sub rsp, 0x20
call fcn.140046b60
add rsp, 0x20
movsxd rcx, eax
mov rax, rbx
lea rdx, [0x140063070]
cmp rbx, qword [rdx + rcx*8]
je 0x140017307
mov rcx, rax
mov r13d, r14d
mov r14d, esi
lea rax, [0x140131560]
mov qword [rbp - 0x20], rcx
movzx ebx, byte [rcx + rax]
movzx esi, byte [0x1401f2abc]
sub rsp, 0x20
call fcn.140045fb0
add rsp, 0x20
cdqe
lea rcx, [0x140062f6c]
mov r12d, dword [rcx + rax*4]
xor r12d, ebx
sub rsp, 0x20
call fcn.140046040
add rsp, 0x20
cdqe
lea rcx, [0x140062f78]
mov r15d, dword [rcx + rax*4]
and r15d, r12d
sub rsp, 0x20
call fcn.1400460b0
add rsp, 0x20
cdqe
lea rcx, [0x140062f84]
and ebx, dword [rcx + rax*4]
or ebx, r15d
xor ebx, esi
sub rsp, 0x20
call fcn.140046140
add rsp, 0x20
cdqe
lea rcx, [0x140062f90]
xor ebx, dword [rcx + rax*4]
and ebx, esi
sub rsp, 0x20
call fcn.1400461c0
add rsp, 0x20
cdqe
lea rcx, [0x140062f9c]
and r12d, dword [rcx + rax*4]
or r12d, esi
xor r12d, ebx
sub rsp, 0x20
call fcn.140046250
add rsp, 0x20
cdqe
lea rcx, [0x140062fa8]
xor r12d, dword [rcx + rax*4]
mov dword [rbp - 4], r12d
sub rsp, 0x20
call fcn.1400462d0
add rsp, 0x20
cdqe
lea rcx, [0x140062fb4]
mov eax, dword [rcx + rax*4]
xor eax, r13d
mov esi, eax
imul esi, r13d
sub rsp, 0x20
call fcn.140046340
add rsp, 0x20
cdqe
lea rcx, [0x140062fc0]
and esi, dword [rcx + rax*4]
sub rsp, 0x20
call fcn.1400463c0
add rsp, 0x20
mov ebx, dword [0x1401f2e78]
mov r13d, dword [0x1401f2e7c]
sub rsp, 0x20
call fcn.140046430
add rsp, 0x20
cdqe
lea rcx, [0x140062fcc]
cmp r14d, dword [rcx + rax*4]
jl 0x140016fe0
shld ebx, r13d, 0x1c
xor ebx, 0xd0d3ae22
cmp esi, ebx
je 0x140016fe0
mov eax, dword [rbp - 4]
mov r13d, eax
mov byte [rdi], r13b
mov r14, qword [0x140215fe0]
cmp r14, qword [0x140215fe8]
je 0x140016f30
mov byte [r14], r13b
inc qword [0x140215fe0]
jmp 0x140016fe0
mov esi, dword [0x1402161f0]
mov r12d, dword [0x1402161f4]
sub rsp, 0x20
call fcn.1400475a0
add rsp, 0x20
cdqe
lea rcx, [0x140063130]
mov eax, dword [rcx + rax*4]
xor eax, esi
mov ebx, eax
imul ebx, esi
sub rsp, 0x20
call fcn.140047610
add rsp, 0x20
cdqe
mov esi, ebx
lea rcx, [0x14006313c]
and esi, dword [rcx + rax*4]
sub rsp, 0x20
call fcn.140047690
add rsp, 0x20
imul ebx, dword [0x1401f2ed8], 0xeeb4fe6
imul r15d, dword [0x1401f2edc], 0x740c0d86
sub rsp, 0x20
call fcn.140047700
add rsp, 0x20
cdqe
lea rcx, [0x140063148]
cmp r12d, dword [rcx + rax*4]
jl 0x140017230
mov eax, r15d
mov ecx, ebx
add eax, ecx
add eax, 0x7656d888
cmp esi, eax
jne 0x1400172e8
jmp 0x140017230
mov eax, dword [rbp - 4]
mov r13d, eax
mov byte [rdi], al
mov r14, qword [0x140215fe0]
cmp r14, qword [0x140215fe8]
je 0x140017010
mov byte [r14], r13b
inc qword [0x140215fe0]
jmp 0x1400170b0
mov esi, dword [0x1402161f0]
mov r12d, dword [0x1402161f4]
sub rsp, 0x20
call fcn.1400464c0
add rsp, 0x20
cdqe
lea rcx, [0x140062fd8]
mov eax, dword [rcx + rax*4]
xor eax, esi
mov ebx, eax
imul ebx, esi
sub rsp, 0x20
call fcn.140046540
add rsp, 0x20
cdqe
mov esi, ebx
lea rcx, [0x140062fe4]
and esi, dword [rcx + rax*4]
sub rsp, 0x20
call fcn.1400465d0
add rsp, 0x20
mov ebx, dword [0x1401f2e80]
mov r15d, dword [0x1401f2e84]
sub rsp, 0x20
call fcn.140046650
add rsp, 0x20
cdqe
lea rcx, [0x140062ff0]
cmp r12d, dword [rcx + rax*4]
jl 0x140017150
shld ebx, r15d, 8
xor ebx, 0x1e63ed6c
cmp esi, ebx
jne 0x140017208
jmp 0x140017150
mov r14d, dword [0x1402161e8]
mov esi, dword [0x1402161ec]
sub rsp, 0x20
call fcn.1400468e0
add rsp, 0x20
cdqe
lea rcx, [0x140063020]
mov ebx, dword [rcx + rax*4]
xor ebx, r14d
imul ebx, r14d
sub rsp, 0x20
call fcn.140046960
add rsp, 0x20
cdqe
lea rcx, [0x14006302c]
and ebx, dword [rcx + rax*4]
sub rsp, 0x20
call fcn.1400469f0
add rsp, 0x20
mov r15d, dword [0x1401f2e90]
mov r12d, dword [0x1401f2e94]
sub rsp, 0x20
call fcn.140046a70
add rsp, 0x20
cdqe
lea rcx, [0x140063038]
cmp esi, dword [rcx + rax*4]
jl 0x140016d60
shld r15d, r12d, 6
xor r15d, 0x2611dd5e
cmp ebx, r15d
jne 0x140016f00
jmp 0x140016d60
sub rsp, 0x20
lea rcx, [0x140215fd8]
mov rdx, r14
mov r8, rdi
call fcn.140018be0
add rsp, 0x20
mov esi, dword [0x1402161f0]
mov r12d, dword [0x1402161f4]
sub rsp, 0x20
call fcn.1400466e0
add rsp, 0x20
cdqe
lea rcx, [0x140062ffc]
mov eax, dword [rcx + rax*4]
xor eax, esi
mov ebx, eax
imul ebx, esi
sub rsp, 0x20
call fcn.140046750
add rsp, 0x20
cdqe
mov esi, ebx
lea rcx, [0x140063008]
and esi, dword [rcx + rax*4]
sub rsp, 0x20
call fcn.1400467d0
add rsp, 0x20
imul ebx, dword [0x1401f2e88], 0xdec9383a
imul r15d, dword [0x1401f2e8c], 0xf84beed9
sub rsp, 0x20
call fcn.140046850
add rsp, 0x20
cdqe
lea rcx, [0x140063014]
cmp r12d, dword [rcx + rax*4]
jl 0x1400170b0
mov eax, r15d
mov ecx, ebx
add eax, ecx
add eax, 0xd89abceb
cmp esi, eax
je 0x1400170b0
sub rsp, 0x20
lea rcx, [0x140215fd8]
mov rdx, r14
mov r8, rdi
call fcn.140018be0
add rsp, 0x20
jmp 0x140017150
sub rsp, 0x20
lea rcx, [0x140215fd8]
mov rdx, r14
mov r8, rdi
call fcn.140018be0
add rsp, 0x20
mov esi, dword [0x1402161f0]
mov r12d, dword [0x1402161f4]
sub rsp, 0x20
call fcn.140047770
add rsp, 0x20
cdqe
lea rcx, [0x140063154]
mov eax, dword [rcx + rax*4]
xor eax, esi
mov ebx, eax
imul ebx, esi
sub rsp, 0x20
call fcn.1400477f0
add rsp, 0x20
cdqe
mov esi, ebx
lea rcx, [0x140063160]
and esi, dword [rcx + rax*4]
sub rsp, 0x20
call fcn.140047870
add rsp, 0x20
imul ebx, dword [0x1401f2ee0], 0x13a5b019
imul r15d, dword [0x1401f2ee4], 0x87d22737
sub rsp, 0x20
call fcn.140047900
add rsp, 0x20
cdqe
lea rcx, [0x14006316c]
cmp r12d, dword [rcx + rax*4]
jl 0x140016fe0
mov eax, r15d
mov ecx, ebx
add eax, ecx
add eax, 0x1b4dc71a
cmp esi, eax
je 0x140016fe0
sub rsp, 0x20
lea rcx, [0x140215fd8]
mov rdx, r14
mov r8, rdi
call fcn.140018be0
add rsp, 0x20
jmp 0x140017230
mov esi, dword [0x140215f48]
sub rsp, 0x20
call fcn.140046be0
add rsp, 0x20
imul eax, dword [0x1401f2e98], 0x331df514
imul ecx, dword [0x1401f2e9c], 0x62c62dd7
add eax, ecx
add eax, 0x7017a4a
cmp esi, eax
je 0x1400173f9
xorps xmm0, xmm0
mov rsi, qword [rbp - 0x18]
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
lea rax, [0x140215f18]
mov qword [rsi + 0x10], rax
sub rsp, 0x20
call fcn.140046c60
call fcn.140046ce0
call fcn.140046d70
call fcn.140046df0
call fcn.140046e80
add rsp, 0x20
cdqe
lea rcx, [0x1400630ac]
mov eax, dword [rcx + rax*4]
mov dword [rsi + 0x18], eax
mov rdx, qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [0x140215f10], rdx
sub rsp, 0x20
lea r8, [0x140003540]
mov cl, 1
mov r9, rsi
call fcn.14000c680
add rsp, 0x20
mov esi, dword [0x140215f48]
sub rsp, 0x20
call fcn.140046f00
add rsp, 0x20
cdqe
lea rcx, [0x1400630b8]
cmp esi, dword [rcx + rax*4]
jne 0x1400173f9
mov eax, dword [0x1401f2ea8]
mov ecx, dword [0x1401f2eac]
shrd ecx, eax, 6
xor ecx, 0x7bb7d188
sub rsp, 0x20
lea rdx, [0x140014730]
call qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
add rsp, 0x20
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, qword [rbp - 0x10]
mov qword [rsi], rax
mov qword [rsi + 8], 0
sub rsp, 0x20
call fcn.140046f80
call fcn.140047000
call fcn.1400470a0
call fcn.140047130
add rsp, 0x20
nop
sub rsp, 0x20
lea rcx, [0x140215fd8]
mov rdx, rsi
call fcn.140016330
add rsp, 0x20
nop
mov rax, qword [rbp - 0x10]
mov rsi, qword [rax + 8]
mov eax, dword [0x1401f2eb8]
mov ecx, dword [0x1401f2ebc]
shrd ecx, eax, 0x1f
mov edx, ecx
xor edx, 0x71b6f177
nop
sub rsp, 0x20
mov rcx, rsi
call qword [0x140215f60]
add rsp, 0x20
nop
test rsi, rsi
je 0x1400174ab
sub rsp, 0x20
call fcn.1400471a0
call fcn.140047220
call fcn.1400472a0
call fcn.140047320
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, rsi
mov rax, qword [rbp - 0x10]
call qword [rax]
add rsp, 0x20
nop
imul eax, dword [0x1401f2ec8], 0x342e4811
imul ecx, dword [0x1401f2ecc], 0x47805581
add eax, ecx
add eax, 0xe5d8caf8
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub rsp, 0x20
call fcn.140055ba4
int3