Function at 0x1400130e0
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov r14, rdx
mov r15, rcx
xor r12d, r12d
mov dword [rsp + 0x68], r12d
mov edi, 4
mov rax, qword gs:[0x58]
add rdi, qword [rax]
lea r13, [0x14017d040]
mov eax, dword [rdi]
cmp dword [0x14017d670], eax
jg 0x140013891
mov qword [rbp], r13
mov rcx, r13
call fcn.1400d8994
test eax, eax
jne 0x14001390a
mov eax, dword [0x14017d08c]
cmp eax, 0x7fffffff
je 0x140013915
cmp byte [0x140177639], 0
je 0x140013192
mov rbx, qword [r15 + 0xd48]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xb]
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_PostMessageW]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xb]
mov rcx, qword [rbx + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
mov rcx, qword [0x14017c568]
test rcx, rcx
je 0x1400131af
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov qword [rbp - 0x70], r12
jmp 0x1400131da
lea r8, [0x1401455b0]
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenMutexW]
mov rcx, rax
mov qword [rbp - 0x70], rax
test rax, rax
je 0x1400131da
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor sil, sil
mov byte [rbp + 0x80], sil
mov eax, dword [rdi]
cmp dword [0x14017d1f8], eax
jg 0x140013928
lea rdx, [0x14017d310]
lea rcx, [rbp - 0x20]
call fcn.14003e970
mov dword [rsp + 0x68], 1
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 7
jbe 0x140013222
mov rdx, qword [rbp - 0x20]
test rdx, rdx
je 0x1400139e7
mov rcx, qword [r14]
call fcn.1401103e4
mov ebx, eax
mov ecx, 1
and ecx, 0xfffffffe
mov dword [rsp + 0x68], ecx
mov rdx, qword [rbp - 8]
cmp rdx, 7
jbe 0x140013278
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013273
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400139f2
call fcn.1400ff054
movdqa xmm0, xmmword [0x1401533b0]
movdqu xmmword [rbp - 0x10], xmm0
mov word [rbp - 0x20], r12w
test ebx, ebx
je 0x1400132ab
mov rdx, qword [r14]
mov qword [0x14017d380], r12
mov dword [0x14017d388], r12d
lea rcx, [0x14017d310]
call fcn.14003e790
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r12
lea rdx, [rsp + 0x78]
call fcn.14000ef50
test eax, eax
je 0x1400136f6
mov r13, qword [rsp + 0x78]
mov r14, qword [rbp - 0x80]
mov qword [rsp + 0x70], r14
cmp r13, r14
je 0x1400136eb
mov rcx, qword [r13]
mov rax, qword [r13 + 8]
sub rax, rcx
cmp rax, 0x160
jne 0x1400136d7
lea rsi, [rcx + 0x80]
cmp qword [rsi + 0x18], 7
jbe 0x140013309
mov rsi, qword [rsi]
mov rdx, rcx
cmp qword [rcx + 0x18], 7
jbe 0x140013316
mov rdx, qword [rcx]
lea rdi, [rcx + 0x60]
cmp qword [rdi + 0x18], 7
jbe 0x140013324
mov rdi, qword [rdi]
lea rbx, [rcx + 0x20]
cmp qword [rbx + 0x18], 7
jbe 0x140013332
mov rbx, qword [rbx]
lea r9, [rcx + 0x40]
cmp qword [r9 + 0x18], 7
jbe 0x140013340
mov r9, qword [r9]
lea r11, [rcx + 0x120]
cmp qword [r11 + 0x18], 7
jbe 0x140013351
mov r11, qword [r11]
lea r10, [rcx + 0x140]
cmp qword [r10 + 0x18], 7
jbe 0x140013362
mov r10, qword [r10]
lea r8, [rcx + 0x100]
cmp qword [r8 + 0x18], 7
jbe 0x140013373
mov r8, qword [r8]
lea rax, [rcx + 0xe0]
cmp qword [rax + 0x18], 7
jbe 0x140013384
mov rax, qword [rax]
add rcx, 0xa0
cmp qword [rcx + 0x18], 7
jbe 0x140013395
mov rcx, qword [rcx]
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
mov r8, rbx
mov rcx, qword [r15 + 0xd48]
call fcn.14008aa20
mov sil, 1
mov byte [rbp + 0x80], sil
cmp byte [0x140177639], 0
jne 0x1400136de
mov rcx, qword [r13]
sub rcx, 0xffffffffffffff80
cmp qword [rcx + 0x18], 7
jbe 0x1400133f0
mov rcx, qword [rcx]
xor edx, edx
lea r8d, [rdx + 0xa]
call fcn.14011547c
mov edi, eax
mov rcx, qword [r13]
cmp qword [rcx + 0x18], 7
jbe 0x14001340b
mov rcx, qword [rcx]
xor edx, edx
lea r8d, [rdx + 0xa]
call fcn.140115260
mov r12, rax
mov rcx, qword [r13]
add rcx, 0xc0
cmp qword [rcx + 0x18], 7
jbe 0x14001342e
mov rcx, qword [rcx]
xor edx, edx
lea r8d, [rdx + 0xa]
call fcn.14011547c
mov ebx, eax
mov rdx, qword [r13]
add rdx, 0x60
lea rcx, [rbp - 0x40]
call fcn.14003e970
nop
mov rdx, qword [r13]
add rdx, 0xa0
lea rcx, [rbp - 0x60]
call fcn.14003e970
nop
cmp ebx, 0x2b
jne 0x140013574
lea rsi, [rbp - 0x60]
cmp qword [rbp - 0x48], 7
cmova rsi, qword [rbp - 0x60]
lea r14, [rbp - 0x40]
cmp qword [rbp - 0x28], 7
cmova r14, qword [rbp - 0x40]
mov dword [rbp + 0x88], edi
mov rdi, qword [r15 + 0x110]
lea rbx, [rdi + 8]
mov qword [rbp + 8], rbx
mov rcx, rbx
call fcn.1400d8994
test eax, eax
jne 0x140013a08
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x1400139f8
mov r8, qword [rdi + 0x68]
mov rax, qword [r8 + 8]
mov rcx, r8
mov edx, dword [rbp + 0x88]
cmp byte [rax + 0x19], 0
jne 0x1400134e8
cmp dword [rax + 0x20], edx
jae 0x1400134dc
mov rax, qword [rax + 0x10]
jmp 0x1400134e2
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400134d1
cmp byte [rcx + 0x19], 0
jne 0x1400134f8
cmp edx, dword [rcx + 0x20]
jb 0x1400134f8
cmp rcx, r8
jne 0x140013538
lea rdx, [rbp + 0x88]
lea rcx, [rdi + 0x68]
call fcn.14003cc00
mov qword [rax], r12
lea rcx, [rdi + 0x78]
lea rdx, [rbp + 0x88]
call fcn.14003e3b0
inc dword [rax]
mov qword [rsp + 0x20], r14
mov r9, rsi
mov r8d, dword [rbp + 0x88]
mov rdx, r12
mov rcx, rdi
call fcn.14000dfc0
nop
mov rcx, rbx
call fcn.1400d899c
mov rcx, qword [0x14017ad68]
test rcx, rcx
je 0x14001362d
cmp byte [r15 + 0x3f49], 0
je 0x14001362d
xor r9d, r9d
xor r8d, r8d
mov edx, 0x417
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x14001362d
cmp ebx, 0x20
jne 0x140013632
mov dword [rsp + 0x60], edi
mov r14, qword [r15 + 0x110]
lea rbx, [r14 + 8]
mov qword [rbp + 0x10], rbx
mov rcx, rbx
call fcn.1400d8994
test eax, eax
jne 0x140013a23
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x140013a13
mov rdx, qword [r14 + 0x68]
mov rax, qword [rdx + 8]
mov rdi, rdx
mov ecx, dword [rsp + 0x60]
cmp byte [rax + 0x19], 0
jne 0x1400135da
cmp dword [rax + 0x20], ecx
jae 0x1400135ce
mov rax, qword [rax + 0x10]
jmp 0x1400135d4
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400135c3
cmp byte [rdi + 0x19], 0
jne 0x140013621
cmp ecx, dword [rdi + 0x20]
jb 0x140013621
cmp rdi, rdx
je 0x140013621
lea rdx, [rsp + 0x60]
lea rcx, [r14 + 0x68]
call fcn.14003cc00
mov rsi, qword [rax]
cmp r12, rsi
jb 0x140013621
lea rcx, [r14 + 0x58]
lea rdx, [rsp + 0x60]
call fcn.14003cc00
sub r12, rsi
add qword [rax], r12
mov rdx, rdi
lea rcx, [r14 + 0x68]
call fcn.140041d00
nop
mov rcx, rbx
call fcn.1400d899c
mov r15, qword [rbp + 0x70]
mov r14, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x140013672
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001366d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013a2e
call fcn.1400ff054
xor r12d, r12d
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r12w
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x1400136c6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400136c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140013a34
call fcn.1400ff054
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], r12w
movzx esi, byte [rbp + 0x80]
add r13, 0x18
cmp r13, r14
jne 0x1400132e1
lea r13, [0x14017d040]
mov r14, qword [rbp + 0x78]
mov rbx, qword [rbp - 0x70]
test rbx, rbx
jne 0x140013713
mov rcx, qword [0x14017c568]
test rcx, rcx
je 0x140013725
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x140013725
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test sil, sil
je 0x140013765
movsxd r8, dword [0x14017bdb0]
lea rdx, [0x1401742e8]
movzx edx, byte [r8 + rdx]
mov rcx, qword [r15 + 0x748]
mov qword [rbp - 0x70], rcx
mov dword [rbp - 0x68], r8d
mov byte [rbp - 0x64], dl
lea r9, [0x140010bc0]
lea r8, [rbp - 0x70]
mov edx, 0x1051
call qword [sym.imp.USER32.dll_SendMessageW]
cmp byte [0x140177639], 0
je 0x1400137c0
mov rdi, qword [r15 + 0xd48]
mov rbx, qword [rdi]
xor r9d, r9d
lea edx, [r9 + 0xb]
lea r8d, [r9 + 1]
mov rcx, rbx
call qword [sym.imp.USER32.dll_PostMessageW]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.USER32.dll_InvalidateRect]
mov rbx, qword [rdi + 8]
xor r9d, r9d
lea edx, [r9 + 0xb]
lea r8d, [r9 + 1]
mov rcx, rbx
call qword [sym.imp.USER32.dll_PostMessageW]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.USER32.dll_InvalidateRect]
mov byte [0x140177639], 0
mov rbx, qword [rsp + 0x78]
test rbx, rbx
je 0x14001384d
mov rdi, qword [rbp - 0x80]
cmp rbx, rdi
je 0x1400137f6
nop
mov rcx, rbx
call fcn.14003ffe0
add rbx, 0x18
cmp rbx, rdi
jne 0x1400137e0
mov rbx, qword [rsp + 0x78]
mov rax, qword [rbp - 0x78]
sub rax, rbx
sar rax, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rax, rcx
lea rdx, [rax + rax*2]
shl rdx, 3
mov rax, rbx
cmp rdx, 0x1000
jb 0x140013838
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001388b
mov rcx, rbx
call fcn.1400ff054
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r12
mov rcx, r13
call fcn.1400d899c
nop
mov rdx, qword [r14]
sub rdx, 0x18
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013875
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov al, 1
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14010b448
nop
lea rcx, [0x14017d670]
call fcn.1400feccc
cmp dword [0x14017d670], 0xffffffff
jne 0x140013136
mov dword [0x14017d040], r12d
mov qword [0x14017d048], r12
mov qword [0x14017d050], r12
xorps xmm0, xmm0
movups xmmword [0x14017d058], xmm0
movups xmmword [0x14017d068], xmm0
movups xmmword [0x14017d078], xmm0
mov qword [0x14017d088], r12
mov edx, 2
mov rcx, r13
call fcn.1400d8980
nop
lea rcx, [0x140136dc0]
call fcn.1400ff03c
nop
lea rcx, [0x14017d670]
call fcn.1400fec60
jmp 0x140013136
mov ecx, 5
call fcn.1400d7b54
int3
dec eax
mov dword [0x14017d08c], eax
mov ecx, 6
call fcn.1400d7b54
nop
lea rcx, [0x14017d1f8]
call fcn.1400feccc
cmp dword [0x14017d1f8], 0xffffffff
jne 0x1400131f2
xorps xmm0, xmm0
movups xmmword [0x14017d310], xmm0
xorps xmm1, xmm1
movdqa xmmword [0x14017d320], xmm1
movdqa xmm0, xmmword [0x1401533b0]
movdqa xmmword [0x14017d320], xmm0
mov word [0x14017d310], r12w
lea rcx, [0x14017d330]
mov qword [rbp + 0x88], rcx
mov dword [0x14017d330], r12d
mov qword [0x14017d338], r12
mov qword [0x14017d340], r12
xorps xmm0, xmm0
movups xmmword [0x14017d348], xmm0
movups xmmword [0x14017d358], xmm0
movups xmmword [0x14017d368], xmm0
mov qword [0x14017d378], r12
mov edx, 2
call fcn.1400d8980
nop
mov qword [0x14017d380], r12
mov dword [0x14017d388], r12d
lea rcx, [0x140136d90]
call fcn.1400ff03c
nop
lea rcx, [0x14017d1f8]
call fcn.1400fec60
jmp 0x1400131f2
mov ecx, 0x80004005
call fcn.140002b00
nop
call fcn.14010b448
nop
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call fcn.1400d7b54
int3
mov ecx, 5
call fcn.1400d7b54
int3
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call fcn.1400d7b54
int3
mov ecx, 5
call fcn.1400d7b54
nop
call fcn.14010b448
nop
call fcn.14010b448
int3