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

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2110df60
cmp word [0x2114fa34], 1
je 0x2110df3a
cmp word [0x2114fa32], 0
je 0x2110df60
call fcn.211023e0
test eax, eax
jne 0x2110df60
call fcn.21102230
test eax, eax
je 0x2110df60
mov eax, dword [0x211530f8]
push edi
push str.AIL_close_3D_provider__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110df94
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110df8b
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110df79
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21128050
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x2110dfb1
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 4

Function at 0x2110e280
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push ebx
mov ebx, dword [esp + 0xc]
push ebp
mov ebp, dword [esp + 0x14]
push edi
mov edi, dword [esp + 0x10]
je 0x2110e2dc
cmp word [0x2114fa34], 1
je 0x2110e2b4
cmp word [0x2114fa32], 0
je 0x2110e2dc
call fcn.211023e0
test eax, eax
jne 0x2110e2dc
call fcn.21102230
test eax, eax
je 0x2110e2dc
mov eax, dword [0x211530f8]
push ebp
push ebx
push edi
push str.AIL_set_3D_provider_preference__lX__s__lX__r_n
push eax
call fcn.2112ed34
add esp, 0x14
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110e310
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110e307
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110e2f5
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 0x2110e34b
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 0x2110e34b
mov eax, dword [esp + 0x18]
push ebp
push eax
call dword [esp + 0x1c]
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
pop ebp
pop ebx
je 0x2110e364
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 0xc
Function at 0x2110e370
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 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 0x2110e3cd
cmp word [0x2114fa34], 1
je 0x2110e3a5
cmp word [0x2114fa32], 0
je 0x2110e3cd
call fcn.211023e0
test eax, eax
jne 0x2110e3cd
call fcn.21102230
test eax, eax
je 0x2110e3cd
mov eax, dword [0x211530f8]
push ebp
push ebx
push edi
push str.AIL_set_3D_provider_preference__lX__s__lX__r_n
push eax
call fcn.2112ed34
add esp, 0x14
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110e3ff
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110e3f6
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110e3e5
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 0x2110e42f
push eax
push esi
call sym.mss32.dll__RIB_provider_system_data_8
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi]
push ebp
push edx
push ecx
call dword [eax + 0xa4]
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
pop esi
pop ebp
pop ebx
je 0x2110e449
mov edx, dword [0x2114fa38]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 0xc

Function at 0x2110e460
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x2110e4b1
cmp word [0x2114fa34], 1
je 0x2110e48b
cmp word [0x2114fa32], 0
je 0x2110e4b1
call fcn.211023e0
test eax, eax
jne 0x2110e4b1
call fcn.21102230
test eax, eax
je 0x2110e4b1
mov eax, dword [0x211530f8]
push edi
push str.AIL_allocate_3D_sample_handle__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110e4e3
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110e4da
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110e4c9
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21128080
mov esi, eax
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110e501
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x2114fa30], 0
je 0x2110e52f
cmp word [0x2114fa34], 1
je 0x2110e51f
cmp word [0x2114fa32], 0
je 0x2110e52f
call fcn.211023e0
test eax, eax
jne 0x2110e52f
mov ecx, esi
call fcn.21102960
dec word [0x2114fa34]
pop edi
mov eax, esi
pop esi
ret 4
Function at 0x2110e540
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2110e590
cmp word [0x2114fa34], 1
je 0x2110e56a
cmp word [0x2114fa32], 0
je 0x2110e590
call fcn.211023e0
test eax, eax
jne 0x2110e590
call fcn.21102230
test eax, eax
je 0x2110e590
mov eax, dword [0x211530f8]
push edi
push str.AIL_release_3D_sample_handle__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110e5c4
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110e5bb
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110e5a9
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.211280d0
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x2110e5e1
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 4

Function at 0x2110e5f0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2110e640
cmp word [0x2114fa34], 1
je 0x2110e61a
cmp word [0x2114fa32], 0
je 0x2110e640
call fcn.211023e0
test eax, eax
jne 0x2110e640
call fcn.21102230
test eax, eax
je 0x2110e640
mov eax, dword [0x211530f8]
push edi
push str.AIL_start_3D_sample__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110e674
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110e66b
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110e659
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21128100
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x2110e691
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 4

Function at 0x2110e6a0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2110e6f0
cmp word [0x2114fa34], 1
je 0x2110e6ca
cmp word [0x2114fa32], 0
je 0x2110e6f0
call fcn.211023e0
test eax, eax
jne 0x2110e6f0
call fcn.21102230
test eax, eax
je 0x2110e6f0
mov eax, dword [0x211530f8]
push edi
push str.AIL_stop_3D_sample__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110e724
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110e71b
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110e709
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21128130
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x2110e741
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 4
Function at 0x2110e750
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2110e7a0
cmp word [0x2114fa34], 1
je 0x2110e77a
cmp word [0x2114fa32], 0
je 0x2110e7a0
call fcn.211023e0
test eax, eax
jne 0x2110e7a0
call fcn.21102230
test eax, eax
je 0x2110e7a0
mov eax, dword [0x211530f8]
push edi
push str.AIL_resume_3D_sample__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110e7d4
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110e7cb
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110e7b9
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21128160
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x2110e7f1
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 4

Function at 0x2110e800
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2110e850
cmp word [0x2114fa34], 1
je 0x2110e82a
cmp word [0x2114fa32], 0
je 0x2110e850
call fcn.211023e0
test eax, eax
jne 0x2110e850
call fcn.21102230
test eax, eax
je 0x2110e850
mov eax, dword [0x211530f8]
push edi
push str.AIL_end_3D_sample__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110e884
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110e87b
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110e869
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21128190
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x2110e8a1
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 4
Function at 0x2110e8b0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push ebx
mov ebx, dword [esp + 8]
push esi
push edi
mov edi, dword [esp + 0x14]
je 0x2110e907
cmp word [0x2114fa34], 1
je 0x2110e8e0
cmp word [0x2114fa32], 0
je 0x2110e907
call fcn.211023e0
test eax, eax
jne 0x2110e907
call fcn.21102230
test eax, eax
je 0x2110e907
mov eax, dword [0x211530f8]
push edi
push ebx
push str.AIL_set_3D_sample_info__lX__lX__r_n
push eax
call fcn.2112ed34
add esp, 0x10
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110e939
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110e930
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110e91f
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
push ebx
call fcn.211281c0
mov esi, eax
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110e958
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x2114fa30], 0
je 0x2110e986
cmp word [0x2114fa34], 1
je 0x2110e976
cmp word [0x2114fa32], 0
je 0x2110e986
call fcn.211023e0
test eax, eax
jne 0x2110e986
mov ecx, esi
call fcn.21102390
dec word [0x2114fa34]
pop edi
mov eax, esi
pop esi
pop ebx
ret 8

Function at 0x2110e9a0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push ebx
mov ebx, dword [esp + 8]
push esi
push edi
mov edi, dword [esp + 0x14]
je 0x2110e9f7
cmp word [0x2114fa34], 1
je 0x2110e9d0
cmp word [0x2114fa32], 0
je 0x2110e9f7
call fcn.211023e0
test eax, eax
jne 0x2110e9f7
call fcn.21102230
test eax, eax
je 0x2110e9f7
mov eax, dword [0x211530f8]
push edi
push ebx
push str.AIL_set_3D_sample_file__lX__lX__r_n
push eax
call fcn.2112ed34
add esp, 0x10
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110ea29
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110ea20
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110ea0f
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
push ebx
call fcn.21128200
mov esi, eax
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110ea48
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x2114fa30], 0
je 0x2110ea76
cmp word [0x2114fa34], 1
je 0x2110ea66
cmp word [0x2114fa32], 0
je 0x2110ea76
call fcn.211023e0
test eax, eax
jne 0x2110ea76
mov ecx, esi
call fcn.21102390
dec word [0x2114fa34]
pop edi
mov eax, esi
pop esi
pop ebx
ret 8
Function at 0x2110eb70
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push ebx
mov ebx, dword [esp + 8]
push edi
mov edi, dword [esp + 0x10]
je 0x2110ebc6
cmp word [0x2114fa34], 1
je 0x2110eb9f
cmp word [0x2114fa32], 0
je 0x2110ebc6
call fcn.211023e0
test eax, eax
jne 0x2110ebc6
call fcn.21102230
test eax, eax
je 0x2110ebc6
mov eax, dword [0x211530f8]
push edi
push ebx
push str.AIL_set_3D_sample_offset__lX__lu__r_n
push eax
call fcn.2112ed34
add esp, 0x10
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110ebfa
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110ebf1
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110ebdf
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
push ebx
call fcn.211282d0
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
pop ebx
je 0x2110ec19
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 8

Function at 0x2110ed20
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2110ed7a
cmp word [0x2114fa34], 1
je 0x2110ed4a
cmp word [0x2114fa32], 0
je 0x2110ed7a
call fcn.211023e0
test eax, eax
jne 0x2110ed7a
call fcn.21102230
test eax, eax
je 0x2110ed7a
fld dword [esp + 0xc]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_sample_obstruction__lX__f__r_n
push eax
call fcn.2112ed34
add esp, 0x14
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110edae
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110eda5
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110ed93
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0xc]
push ecx
push edi
call fcn.21128a20
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x2110edd0
mov edx, dword [0x2114fa38]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 8
Function at 0x2110ede0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2110ee3a
cmp word [0x2114fa34], 1
je 0x2110ee0a
cmp word [0x2114fa32], 0
je 0x2110ee3a
call fcn.211023e0
test eax, eax
jne 0x2110ee3a
call fcn.21102230
test eax, eax
je 0x2110ee3a
fld dword [esp + 0xc]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_sample_occlusion__lX__f__r_n
push eax
call fcn.2112ed34
add esp, 0x14
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110ee6e
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110ee65
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110ee53
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0xc]
push ecx
push edi
call fcn.21128a50
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x2110ee90
mov edx, dword [0x2114fa38]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 8

Function at 0x2110eea0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push ebx
mov ebx, dword [esp + 8]
push edi
mov edi, dword [esp + 0x18]
je 0x2110ef0a
cmp word [0x2114fa34], 1
je 0x2110eecf
cmp word [0x2114fa32], 0
je 0x2110ef0a
call fcn.211023e0
test eax, eax
jne 0x2110ef0a
call fcn.21102230
test eax, eax
je 0x2110ef0a
fld dword [esp + 0x14]
mov eax, dword [0x211530f8]
push edi
sub esp, 8
fstp qword [esp]
sub esp, 8
fld dword [esp + 0x24]
fstp qword [esp]
push ebx
push str.AIL_set_3D_sample_cone__lX__f__s__u__r_n
push eax
call fcn.2112ed34
add esp, 0x20
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110ef3e
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110ef35
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110ef23
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push edi
push ecx
push edx
push ebx
call fcn.21128a80
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
pop ebx
je 0x2110ef66
mov eax, dword [0x2114fa38]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 0x10
Function at 0x2110ef70
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2110efca
cmp word [0x2114fa34], 1
je 0x2110ef9a
cmp word [0x2114fa32], 0
je 0x2110efca
call fcn.211023e0
test eax, eax
jne 0x2110efca
call fcn.21102230
test eax, eax
je 0x2110efca
fld dword [esp + 0xc]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_sample_effects_level__lX__f__r_n
push eax
call fcn.2112ed34
add esp, 0x14
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110effe
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110eff5
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110efe3
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0xc]
push ecx
push edi
call fcn.21128ac0
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x2110f020
mov edx, dword [0x2114fa38]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 8

Function at 0x2110f030
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push ebx
mov ebx, dword [esp + 8]
push esi
push edi
mov edi, dword [esp + 0x14]
je 0x2110f087
cmp word [0x2114fa34], 1
je 0x2110f060
cmp word [0x2114fa32], 0
je 0x2110f087
call fcn.211023e0
test eax, eax
jne 0x2110f087
call fcn.21102230
test eax, eax
je 0x2110f087
mov eax, dword [0x211530f8]
push edi
push ebx
push str.AIL_register_3D_EOS_callback__lX__lX__r_n
push eax
call fcn.2112ed34
add esp, 0x10
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110f0b9
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110f0b0
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110f09f
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
push ebx
call fcn.21128c50
mov esi, eax
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110f0d8
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x2114fa30], 0
je 0x2110f106
cmp word [0x2114fa34], 1
je 0x2110f0f6
cmp word [0x2114fa32], 0
je 0x2110f106
call fcn.211023e0
test eax, eax
jne 0x2110f106
mov ecx, esi
call fcn.21102960
dec word [0x2114fa34]
pop edi
mov eax, esi
pop esi
pop ebx
ret 8
Function at 0x2110f770
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2110f7d4
cmp word [0x2114fa34], 1
je 0x2110f79a
cmp word [0x2114fa32], 0
je 0x2110f7d4
call fcn.211023e0
test eax, eax
jne 0x2110f7d4
call fcn.21102230
test eax, eax
je 0x2110f7d4
fld dword [esp + 0x10]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
sub esp, 8
fld dword [esp + 0x1c]
fstp qword [esp]
push edi
push str.AIL_set_3D_sample_distances__lX__f__f__r_n
push eax
call fcn.2112ed34
add esp, 0x1c
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110f808
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110f7ff
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110f7ed
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push ecx
push edx
push edi
call fcn.21128480
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x2110f82e
mov eax, dword [0x2114fa38]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 0xc

Function at 0x2110f9e0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x2110fa31
cmp word [0x2114fa34], 1
je 0x2110fa0b
cmp word [0x2114fa32], 0
je 0x2110fa31
call fcn.211023e0
test eax, eax
jne 0x2110fa31
call fcn.21102230
test eax, eax
je 0x2110fa31
mov eax, dword [0x211530f8]
push edi
push str.AIL_active_3D_sample_count__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110fa63
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110fa5a
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x2110fa49
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21128560
mov esi, eax
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110fa81
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x2114fa30], 0
je 0x2110faaf
cmp word [0x2114fa34], 1
je 0x2110fa9f
cmp word [0x2114fa32], 0
je 0x2110faaf
call fcn.211023e0
test eax, eax
jne 0x2110faaf
mov ecx, esi
call fcn.21102390
dec word [0x2114fa34]
pop edi
mov eax, esi
pop esi
ret 4