Function at 0x100bf3d0
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018eecf
mov eax, dword fs:[0]
push eax
sub esp, 0x320
mov eax, dword [0x101d8724]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x310], ecx
mov byte [ebp - 0x259], 1
cmp dword [0x101e2448], 0
jne 0x100bf42c
mov eax, dword [ebp - 0x310]
push eax
push 0
call fcn.100bc510
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x101e2448], eax
push 0x1388
mov ecx, dword [0x101e2448]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0x80
je 0x100bf45d
cmp dword [ebp - 0x258], 0
jne 0x100bfc4d
call fcn.100be6a0
cmp dword [ebp + 8], 7
jne 0x100bf479
mov edx, dword [ebp - 0x310]
movzx eax, byte [edx + 0x1658]
test eax, eax
je 0x100bf483
cmp dword [ebp + 8], 0xd
jne 0x100bf50e
movzx ecx, byte [0x101e2444]
test ecx, ecx
jne 0x100bf4fa
mov edx, 0x12
shl edx, 2
mov eax, dword [0x101db5fc]
mov ecx, dword [0x101db5fc]
mov esi, dword [0x101db5fc]
mov esi, dword [esi + 0x6c]
xor esi, dword [ecx + 0x64]
xor esi, dword [eax + edx]
and esi, 0xc000
je 0x100bf4fa
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x80000000
mov ecx, dword [ebp - 0x310]
call fcn.100be8f0
mov byte [ebp - 0x259], al
movzx edx, byte [ebp - 0x259]
test edx, edx
jne 0x100bf4f8
call fcn.100e2110
movzx eax, al
test eax, eax
je 0x100bf4f8
mov byte [ebp - 0x259], 1
jmp 0x100bf509
movzx ecx, byte [ebp + 0x14]
test ecx, ecx
je 0x100bf509
mov byte [ebp - 0x259], 0
jmp 0x100bfc4b
cmp dword [ebp + 8], 0xa
jne 0x100bf525
mov edx, dword [ebp - 0x310]
movzx eax, byte [edx + 0x1658]
test eax, eax
je 0x100bf52b
cmp dword [ebp + 8], 0x10
jne 0x100bf598
movzx ecx, byte [0x101e2444]
test ecx, ecx
jne 0x100bf584
mov edx, 0x12
shl edx, 2
mov eax, dword [0x101db5fc]
mov ecx, dword [0x101db5fc]
mov esi, dword [0x101db5fc]
mov esi, dword [esi + 0x6c]
xor esi, dword [ecx + 0x64]
xor esi, dword [eax + edx]
and esi, 0xc000
je 0x100bf584
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x80000001
mov ecx, dword [ebp - 0x310]
call fcn.100be8f0
mov byte [ebp - 0x259], al
jmp 0x100bf593
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x100bf593
mov byte [ebp - 0x259], 0
jmp 0x100bfc4b
cmp dword [ebp + 8], 8
jne 0x100bf5af
mov eax, dword [ebp - 0x310]
movzx ecx, byte [eax + 0x1658]
test ecx, ecx
je 0x100bf5b9
cmp dword [ebp + 8], 0xe
jne 0x100bf6a7
movzx edx, byte [0x101e2445]
test edx, edx
jne 0x100bf693
mov eax, 0x12
shl eax, 2
mov ecx, dword [0x101db5fc]
mov edx, dword [0x101db5fc]
mov esi, dword [0x101db5fc]
mov esi, dword [esi + 0x6c]
xor esi, dword [edx + 0x64]
xor esi, dword [ecx + eax]
and esi, 0x20000
je 0x100bf693
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
shl edx, 7
mov eax, dword [ebp - 0x310]
lea ecx, [eax + edx + 0xb50]
push ecx
push 1
call fcn.100bfca0
add esp, 0x10
mov byte [ebp - 0x259], al
movzx edx, byte [ebp - 0x259]
test edx, edx
jne 0x100bf65a
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
shl edx, 7
mov eax, dword [ebp - 0x310]
lea ecx, [eax + edx + 0xb50]
push ecx
push 2
call fcn.100bfca0
add esp, 0x10
mov byte [ebp - 0x259], al
movzx edx, byte [ebp - 0x259]
test edx, edx
jne 0x100bf691
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
shl edx, 7
mov eax, dword [ebp - 0x310]
lea ecx, [eax + edx + 0xb50]
push ecx
push 0
call fcn.100bfca0
add esp, 0x10
mov byte [ebp - 0x259], al
jmp 0x100bf6a2
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x100bf6a2
mov byte [ebp - 0x259], 0
jmp 0x100bfc4b
cmp dword [ebp + 8], 0x11
jne 0x100bf835
mov eax, dword [ebp - 0x310]
movzx ecx, byte [eax + 0x1658]
test ecx, ecx
je 0x100bf7bf
mov edx, dword [ebp + 8]
shl edx, 7
mov eax, dword [ebp - 0x310]
lea ecx, [eax + edx + 0xb50]
push ecx
lea ecx, [ebp - 0x74]
call fcn.100e1250
mov dword [ebp - 4], 0
mov edx, dword [str.SoftwareLicenses]
push edx
lea ecx, [ebp - 0xd4]
call fcn.100e1250
mov byte [ebp - 4], 1
mov eax, 0xe
shl eax, 2
mov ecx, dword [0x101db5fc]
mov edx, dword [0x101db5fc]
mov esi, dword [0x101db5fc]
mov esi, dword [esi + 0x6c]
xor esi, dword [edx + 0x64]
xor esi, dword [ecx + eax]
and esi, 8
neg esi
sbb esi, esi
add esi, 0x80000002
cmp esi, 0x80000001
jne 0x100bf743
mov dword [ebp - 0x314], 0x101a39ac
jmp 0x100bf74d
mov dword [ebp - 0x314], 0x101a39a4
mov eax, dword [ebp - 0x314]
push eax
lea ecx, [ebp - 0x134]
call fcn.100e1250
mov byte [ebp - 4], 2
movzx ecx, byte [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x74]
push ecx
lea edx, [ebp - 0xd4]
push edx
lea eax, [ebp - 0x134]
push eax
call fcn.100f3c00
add esp, 0x18
mov byte [ebp - 0x259], al
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x134]
call fcn.10063f10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xd4]
call fcn.10063f10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.10063f10
jmp 0x100bf830
mov ecx, 0xe
shl ecx, 2
mov edx, dword [0x101db5fc]
mov eax, dword [0x101db5fc]
mov esi, dword [0x101db5fc]
mov esi, dword [esi + 0x6c]
xor esi, dword [eax + 0x64]
xor esi, dword [edx + ecx]
mov dword [ebp - 0x2b0], esi
push 3
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
shl eax, 7
mov ecx, dword [ebp - 0x310]
lea edx, [ecx + eax + 0xb50]
push edx
mov eax, dword [str.SoftwareLicenses]
push eax
mov ecx, dword [ebp - 0x2b0]
and ecx, 8
neg ecx
sbb ecx, ecx
add ecx, 0x80000002
push ecx
mov ecx, dword [ebp - 0x310]
call fcn.100bd2c0
mov byte [ebp - 0x259], al
jmp 0x100bfc4b
cmp dword [ebp + 8], 0x14
je 0x100bf841
cmp dword [ebp + 8], 0x15
jne 0x100bf8a6
mov edx, 0xe
shl edx, 2
mov eax, dword [0x101db5fc]
mov ecx, dword [0x101db5fc]
mov esi, dword [0x101db5fc]
mov esi, dword [esi + 0x6c]
xor esi, dword [ecx + 0x64]
xor esi, dword [eax + edx]
and esi, 8
jne 0x100bf88e
cmp dword [ebp + 8], 0x15
sete dl
movzx eax, dl
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x310]
call fcn.100bb390
mov byte [ebp - 0x315], al
jmp 0x100bf895
mov byte [ebp - 0x315], 1
mov al, byte [ebp - 0x315]
mov byte [ebp - 0x259], al
jmp 0x100bfc4b
mov ecx, 0x12
shl ecx, 2
mov edx, dword [0x101db5fc]
mov eax, dword [0x101db5fc]
mov esi, dword [0x101db5fc]
mov esi, dword [esi + 0x6c]
xor esi, dword [eax + 0x64]
xor esi, dword [edx + ecx]
and esi, 0x10000
je 0x100bfc3c
mov ecx, dword [ebp - 0x310]
movzx edx, byte [ecx + 0x1658]
test edx, edx
je 0x100bfa2c
cmp dword [ebp + 8], 6
je 0x100bf8f9
cmp dword [ebp + 8], 9
jne 0x100bfa2c
cmp dword [ebp + 8], 6
jne 0x100bf933
mov eax, 0xe
shl eax, 2
mov ecx, dword [0x101db5fc]
mov edx, dword [0x101db5fc]
mov esi, dword [0x101db5fc]
mov esi, dword [esi + 0x6c]
xor esi, dword [edx + 0x64]
xor esi, dword [ecx + eax]
and esi, 8
jne 0x100bf933
mov dword [ebp - 0x31c], 0x101a39a4
jmp 0x100bf93d
mov dword [ebp - 0x31c], 0x101a39ac
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x264], eax
cmp dword [ebp + 8], 9
jne 0x100bf95d
mov ecx, dword [str.SoftwareThe_Silicon_Realms_ToolworksArmadillo]
mov dword [ebp - 0x320], ecx
jmp 0x100bf969
mov edx, dword [str.SoftwareLicenses]
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp + 8]
shl ecx, 7
mov edx, dword [ebp - 0x310]
lea eax, [edx + ecx + 0xb50]
push eax
lea ecx, [ebp - 0x194]
call fcn.100e1250
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x260]
push ecx
lea ecx, [ebp - 0x1f4]
call fcn.100e1250
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x264]
push edx
lea ecx, [ebp - 0x254]
call fcn.100e1250
mov byte [ebp - 4], 5
movzx eax, byte [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x1f4]
push ecx
lea edx, [ebp - 0x254]
push edx
call fcn.100f3c00
add esp, 0x18
mov byte [ebp - 0x259], al
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x254]
call fcn.10063f10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1f4]
call fcn.10063f10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x194]
call fcn.10063f10
jmp 0x100bfc3a
cmp dword [ebp + 8], 9
je 0x100bfa38
cmp dword [ebp + 8], 0xf
jne 0x100bfa78
push 3
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
shl ecx, 7
mov edx, dword [ebp - 0x310]
lea eax, [edx + ecx + 0xb50]
push eax
mov ecx, dword [str.SoftwareThe_Silicon_Realms_ToolworksArmadillo]
push ecx
push 0x80000001
mov ecx, dword [ebp - 0x310]
call fcn.100bd2c0
mov byte [ebp - 0x259], al
jmp 0x100bfc3a
cmp dword [ebp + 8], 5
je 0x100bfa84
cmp dword [ebp + 8], 0xb
jne 0x100bfafb
mov edx, 0xe
shl edx, 2
mov eax, dword [0x101db5fc]
mov ecx, dword [0x101db5fc]
mov esi, dword [0x101db5fc]
mov esi, dword [esi + 0x6c]
xor esi, dword [ecx + 0x64]
xor esi, dword [eax + edx]
mov dword [ebp - 0x308], esi
push 3
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
shl ecx, 7
mov edx, dword [ebp - 0x310]
lea eax, [edx + ecx + 0xb50]
push eax
mov ecx, dword [str.SoftwareThe_Silicon_Realms_ToolworksArmadillo]
push ecx
mov edx, dword [ebp - 0x308]
and edx, 8
neg edx
sbb edx, edx
add edx, 0x80000002
push edx
mov ecx, dword [ebp - 0x310]
call fcn.100bd2c0
mov byte [ebp - 0x259], al
jmp 0x100bfc3a
mov eax, 0xe
shl eax, 2
mov ecx, dword [0x101db5fc]
mov edx, dword [0x101db5fc]
mov esi, dword [0x101db5fc]
mov esi, dword [esi + 0x6c]
xor esi, dword [edx + 0x64]
xor esi, dword [ecx + eax]
mov dword [ebp - 0x30c], esi
push 3
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
shl edx, 7
mov eax, dword [ebp - 0x310]
lea ecx, [eax + edx + 0xb50]
push ecx
mov edx, dword [str.SoftwareLicenses]
push edx
mov eax, dword [ebp - 0x30c]
and eax, 8
neg eax
sbb eax, eax
add eax, 0x80000002
push eax
mov ecx, dword [ebp - 0x310]
call fcn.100bd2c0
mov byte [ebp - 0x266], al
mov ecx, 0xe
shl ecx, 2
mov edx, dword [0x101db5fc]
mov eax, dword [0x101db5fc]
mov esi, dword [0x101db5fc]
mov esi, dword [esi + 0x6c]
xor esi, dword [eax + 0x64]
xor esi, dword [edx + ecx]
and esi, 8
jne 0x100bfbef
cmp dword [ebp + 8], 0xc
jne 0x100bfbae
mov ecx, dword [ebp - 0x310]
add ecx, 0x12d0
mov dword [ebp - 0x324], ecx
jmp 0x100bfbc0
mov edx, dword [ebp - 0x310]
add edx, 0xfd0
mov dword [ebp - 0x324], edx
push 3
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x324]
push edx
mov eax, dword [str.SoftwareLicenses]
push eax
push 0x80000001
mov ecx, dword [ebp - 0x310]
call fcn.100bd2c0
mov byte [ebp - 0x325], al
jmp 0x100bfbf6
mov byte [ebp - 0x325], 0
mov cl, byte [ebp - 0x325]
mov byte [ebp - 0x265], cl
movzx edx, byte [ebp - 0x266]
test edx, edx
jne 0x100bfc24
movzx eax, byte [ebp - 0x265]
test eax, eax
jne 0x100bfc24
mov dword [ebp - 0x32c], 0
jmp 0x100bfc2e
mov dword [ebp - 0x32c], 1
mov cl, byte [ebp - 0x32c]
mov byte [ebp - 0x259], cl
jmp 0x100bfc4b
movzx edx, byte [ebp + 0x14]
test edx, edx
je 0x100bfc4b
mov byte [ebp - 0x259], 0
jmp 0x100bfc54
mov byte [ebp - 0x259], 0
mov eax, dword [0x101e2448]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [0x101e2448]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x101e2448], 0
mov al, byte [ebp - 0x259]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1014c68a
mov esp, ebp
pop ebp
ret 0x10