joyce8/EMBER2024-capa huggingface dataset:
Function at 0x2111d8e0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
mov esi, dword [esp + 8]
push edi
je 0x2111d931
cmp word [0x2115929c], 1
je 0x2111d90b
cmp word [0x21159298], 0
je 0x2111d931
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111d931
call fcn.21112300
test eax, eax
je 0x2111d931
mov eax, dword [0x2115c0bc]
push esi
push str.AIL_close_3D_provider__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111d96a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111d961
mov edi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea esp, [esp]
push 0
push 0
push 0
call edi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111d950
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test esi, esi
je 0x2111d9a1
mov ecx, dword [0x211567dc]
imul esi, esi, 0x258
mov edi, dword [esi + ecx + 0x238]
test edi, edi
je 0x2111d9a1
push 0
call dword [edi + 0x14]
push edi
call sym.mss32.dll__AIL_mem_free_lock_4
mov edx, dword [0x211567dc]
mov dword [esi + edx + 0x238], 0
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop esi
je 0x2111d9b8
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4

Function at 0x2111dca0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 0xc]
push ebp
mov ebp, dword [esp + 0x14]
push edi
mov edi, dword [esp + 0x10]
je 0x2111dcfc
cmp word [0x2115929c], 1
je 0x2111dcd4
cmp word [0x21159298], 0
je 0x2111dcfc
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111dcfc
call fcn.21112300
test eax, eax
je 0x2111dcfc
mov eax, dword [0x2115c0bc]
push ebp
push ebx
push edi
push str.AIL_set_3D_provider_preference__lX__s__lX__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111dd30
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111dd27
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111dd15
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [esp + 0x18]
push ecx
push ebx
push 2
push str.MSS_3D_audio_services
push edi
call sym.mss32.dll_RIB_request_interface_entry
test eax, eax
jne 0x2111dd6b
lea edx, [esp + 0x14]
push edx
push str.M3D_set_provider_preference
push eax
push str.MSS_3D_audio_services
push edi
call sym.mss32.dll_RIB_request_interface_entry
test eax, eax
jne 0x2111dd6b
mov eax, dword [esp + 0x18]
push ebp
push eax
call dword [esp + 0x1c]
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop ebp
pop ebx
je 0x2111dd84
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 0xc
Function at 0x2111dd90
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 0xc]
push ebp
mov ebp, dword [esp + 0x14]
push esi
push edi
mov edi, dword [esp + 0x14]
je 0x2111dded
cmp word [0x2115929c], 1
je 0x2111ddc5
cmp word [0x21159298], 0
je 0x2111dded
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111dded
call fcn.21112300
test eax, eax
je 0x2111dded
mov eax, dword [0x2115c0bc]
push ebp
push ebx
push edi
push str.AIL_set_3D_sample__lX__s__lX__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111de1f
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111de16
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111de05
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, dword [edi + 4]
lea ecx, [esp + 0x1c]
push ecx
push ebx
push 2
push str.MSS_3D_sample_services
push esi
call sym.mss32.dll_RIB_request_interface_entry
test eax, eax
jne 0x2111de5f
test esi, esi
je 0x2111de50
mov edx, dword [0x211567dc]
imul esi, esi, 0x258
mov esi, dword [esi + edx + 0x238]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
push ebp
push eax
push ecx
call dword [esi + 0xa4]
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop esi
pop ebp
pop ebx
je 0x2111de79
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 0xc

Function at 0x2111de90
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x2111dee1
cmp word [0x2115929c], 1
je 0x2111debb
cmp word [0x21159298], 0
je 0x2111dee1
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111dee1
call fcn.21112300
test eax, eax
je 0x2111dee1
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_allocate_3D_sample_handle__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111df1a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111df11
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea esp, [esp]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111df00
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.211042f0
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111df38
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x2111df68
cmp word [0x2115929c], 1
je 0x2111df56
cmp word [0x21159298], 0
je 0x2111df68
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111df68
push esi
call fcn.211120a0
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
ret 4
Function at 0x2111df80
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2111dfd0
cmp word [0x2115929c], 1
je 0x2111dfaa
cmp word [0x21159298], 0
je 0x2111dfd0
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111dfd0
call fcn.21112300
test eax, eax
je 0x2111dfd0
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_release_3D_sample_handle__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111e00b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111e002
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea esp, [esp]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111dff0
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111e039
mov eax, dword [edi + 4]
test eax, eax
je 0x2111e039
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x2111e039
mov edx, dword [edi]
push edx
call dword [eax + 0x1c]
push edi
call sym.mss32.dll__AIL_mem_free_lock_4
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111e04f
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4

Function at 0x2111e060
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2111e0b0
cmp word [0x2115929c], 1
je 0x2111e08a
cmp word [0x21159298], 0
je 0x2111e0b0
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111e0b0
call fcn.21112300
test eax, eax
je 0x2111e0b0
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_start_3D_sample__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111e0eb
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111e0e2
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea esp, [esp]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111e0d0
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111e113
mov eax, dword [edi + 4]
test eax, eax
je 0x2111e113
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x2111e113
mov edx, dword [edi]
push edx
call dword [eax + 0x20]
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111e129
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4
Function at 0x2111e140
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2111e190
cmp word [0x2115929c], 1
je 0x2111e16a
cmp word [0x21159298], 0
je 0x2111e190
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111e190
call fcn.21112300
test eax, eax
je 0x2111e190
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_stop_3D_sample__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111e1cb
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111e1c2
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea esp, [esp]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111e1b0
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111e1f3
mov eax, dword [edi + 4]
test eax, eax
je 0x2111e1f3
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x2111e1f3
mov edx, dword [edi]
push edx
call dword [eax + 0x24]
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111e209
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4

Function at 0x2111e220
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2111e270
cmp word [0x2115929c], 1
je 0x2111e24a
cmp word [0x21159298], 0
je 0x2111e270
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111e270
call fcn.21112300
test eax, eax
je 0x2111e270
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_resume_3D_sample__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111e2ab
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111e2a2
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea esp, [esp]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111e290
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111e2d3
mov eax, dword [edi + 4]
test eax, eax
je 0x2111e2d3
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x2111e2d3
mov edx, dword [edi]
push edx
call dword [eax + 0x28]
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111e2e9
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4
Function at 0x2111e300
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2111e350
cmp word [0x2115929c], 1
je 0x2111e32a
cmp word [0x21159298], 0
je 0x2111e350
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111e350
call fcn.21112300
test eax, eax
je 0x2111e350
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_end_3D_sample__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111e38b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111e382
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea esp, [esp]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111e370
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111e3b3
mov eax, dword [edi + 4]
test eax, eax
je 0x2111e3b3
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x2111e3b3
mov edx, dword [edi]
push edx
call dword [eax + 0x2c]
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111e3c9
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4

Function at 0x2111e3e0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 0xc]
push esi
push edi
mov edi, dword [esp + 0x10]
je 0x2111e437
cmp word [0x2115929c], 1
je 0x2111e410
cmp word [0x21159298], 0
je 0x2111e437
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111e437
call fcn.21112300
test eax, eax
je 0x2111e437
mov eax, dword [0x2115c0bc]
push ebx
push edi
push str.AIL_set_3D_sample_info__lX__lX__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111e46a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111e461
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
nop
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111e450
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
jne 0x2111e472
xor esi, esi
jmp 0x2111e49d
mov eax, dword [edi + 4]
test eax, eax
je 0x2111e490
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
jne 0x2111e494
xor esi, esi
jmp 0x2111e49d
mov edx, dword [edi]
push ebx
push edx
call dword [eax + 0x30]
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111e4b2
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x2111e4e2
cmp word [0x2115929c], 1
je 0x2111e4d0
cmp word [0x21159298], 0
je 0x2111e4e2
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111e4e2
push esi
call fcn.21112060
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
pop ebx
ret 8
Function at 0x2111e500
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 0xc]
push esi
push edi
mov edi, dword [esp + 0x10]
je 0x2111e557
cmp word [0x2115929c], 1
je 0x2111e530
cmp word [0x21159298], 0
je 0x2111e557
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111e557
call fcn.21112300
test eax, eax
je 0x2111e557
mov eax, dword [0x2115c0bc]
push ebx
push edi
push str.AIL_set_3D_sample_file__lX__lX__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111e58a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111e581
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
nop
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111e570
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push ebx
call fcn.21104360
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111e5a8
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x2111e5d8
cmp word [0x2115929c], 1
je 0x2111e5c6
cmp word [0x21159298], 0
je 0x2111e5d8
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111e5d8
push esi
call fcn.21112060
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
pop ebx
ret 8

Function at 0x2111e720
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 0xc]
push edi
mov edi, dword [esp + 0xc]
je 0x2111e776
cmp word [0x2115929c], 1
je 0x2111e74f
cmp word [0x21159298], 0
je 0x2111e776
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111e776
call fcn.21112300
test eax, eax
je 0x2111e776
mov eax, dword [0x2115c0bc]
push ebx
push edi
push str.AIL_set_3D_sample_offset__lX__lu__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111e7ab
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111e7a2
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
nop
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111e790
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111e7d4
mov eax, dword [edi + 4]
test eax, eax
je 0x2111e7d4
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x2111e7d4
mov edx, dword [edi]
push ebx
push edx
call dword [eax + 0x3c]
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop ebx
je 0x2111e7eb
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8
Function at 0x2111e930
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2111e98a
cmp word [0x2115929c], 1
je 0x2111e95a
cmp word [0x21159298], 0
je 0x2111e98a
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111e98a
call fcn.21112300
test eax, eax
je 0x2111e98a
fld dword [esp + 0xc]
mov eax, dword [0x2115c0bc]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_sample_obstruction__lX__f__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111e9be
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111e9b5
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111e9a3
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111e9f4
mov eax, dword [edi + 4]
test eax, eax
je 0x2111e9f4
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x2111e9f4
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x2111e9f4
mov edx, dword [esp + 0xc]
mov ecx, dword [edi]
push edx
push ecx
call eax
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111ea0b
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8

Function at 0x2111ea20
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2111ea7a
cmp word [0x2115929c], 1
je 0x2111ea4a
cmp word [0x21159298], 0
je 0x2111ea7a
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111ea7a
call fcn.21112300
test eax, eax
je 0x2111ea7a
fld dword [esp + 0xc]
mov eax, dword [0x2115c0bc]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_sample_exclusion__lX__f__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111eaae
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111eaa5
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111ea93
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111eae4
mov eax, dword [edi + 4]
test eax, eax
je 0x2111eae4
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x2111eae4
mov eax, dword [eax + 0xc0]
test eax, eax
je 0x2111eae4
mov edx, dword [esp + 0xc]
mov ecx, dword [edi]
push edx
push ecx
call eax
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111eafb
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8
Function at 0x2111eb10
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2111eb6a
cmp word [0x2115929c], 1
je 0x2111eb3a
cmp word [0x21159298], 0
je 0x2111eb6a
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111eb6a
call fcn.21112300
test eax, eax
je 0x2111eb6a
fld dword [esp + 0xc]
mov eax, dword [0x2115c0bc]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_sample_occlusion__lX__f__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111eb9e
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111eb95
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111eb83
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111ebd4
mov eax, dword [edi + 4]
test eax, eax
je 0x2111ebd4
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x2111ebd4
mov eax, dword [eax + 0xbc]
test eax, eax
je 0x2111ebd4
mov edx, dword [esp + 0xc]
mov ecx, dword [edi]
push edx
push ecx
call eax
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111ebeb
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8

Function at 0x2111ec00
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2111ec6a
cmp word [0x2115929c], 1
je 0x2111ec2a
cmp word [0x21159298], 0
je 0x2111ec6a
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111ec6a
call fcn.21112300
test eax, eax
je 0x2111ec6a
fld dword [esp + 0x14]
mov eax, dword [0x2115c0bc]
sub esp, 0x18
fstp qword [esp + 0x10]
fld dword [esp + 0x28]
fstp qword [esp + 8]
fld dword [esp + 0x24]
fstp qword [esp]
push edi
push str.AIL_set_3D_sample_cone__lX__f__f__f__r_n
push eax
call fcn.211306e2
add esp, 0x24
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111ec9e
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111ec95
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111ec83
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111ecde
mov eax, dword [edi + 4]
test eax, eax
je 0x2111ecde
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x2111ecde
mov eax, dword [eax + 0xc4]
test eax, eax
je 0x2111ecde
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x10]
push ecx
mov ecx, dword [edi]
push edx
push ecx
call eax
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111ecf5
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 0x10