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

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2111ed5a
cmp word [0x2115929c], 1
je 0x2111ed2a
cmp word [0x21159298], 0
je 0x2111ed5a
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111ed5a
call fcn.21112300
test eax, eax
je 0x2111ed5a
fld dword [esp + 0xc]
mov eax, dword [0x2115c0bc]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_sample_effects_level__lX__f__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111ed8e
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111ed85
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 0x2111ed73
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111edc4
mov eax, dword [edi + 4]
test eax, eax
je 0x2111edc4
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x2111edc4
mov eax, dword [eax + 0xc8]
test eax, eax
je 0x2111edc4
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 0x2111eddb
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8

Function at 0x2111edf0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 0xc]
push esi
mov esi, dword [esp + 0xc]
je 0x2111ee46
cmp word [0x2115929c], 1
je 0x2111ee1f
cmp word [0x21159298], 0
je 0x2111ee46
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111ee46
call fcn.21112300
test eax, eax
je 0x2111ee46
mov eax, dword [0x2115c0bc]
push ebx
push esi
push str.AIL_register_3D_EOS_callback__lX__lX__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111ee7b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111ee72
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
nop
push 0
push 0
push 0
call edi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111ee60
pop edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test esi, esi
je 0x2111eeb8
mov eax, dword [esi + 4]
test eax, eax
je 0x2111ee9d
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
jne 0x2111eea1
xor esi, esi
jmp 0x2111eeb8
mov eax, dword [eax + 0xe0]
test eax, eax
jne 0x2111eeaf
xor esi, esi
jmp 0x2111eeb8
mov edx, dword [esi]
push ebx
push edx
push esi
call eax
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111eecd
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x2111eefd
cmp word [0x2115929c], 1
je 0x2111eeeb
cmp word [0x21159298], 0
je 0x2111eefd
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111eefd
push esi
call fcn.211120a0
add esp, 4
dec word [0x2115929c]
mov eax, esi
pop esi
pop ebx
ret 8
Function at 0x2111f850
Capabilities:
Check mutex on windows

Disassembly:
push ecx
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 0xc]
je 0x2111f8b3
cmp word [0x2115929c], 1
je 0x2111f87b
cmp word [0x21159298], 0
je 0x2111f8b3
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111f8b3
call fcn.21112300
test eax, eax
je 0x2111f8b3
fld dword [esp + 0x14]
mov eax, dword [0x2115c0bc]
sub esp, 0x10
fstp qword [esp + 8]
fld dword [esp + 0x20]
fstp qword [esp]
push edi
push str.AIL_set_3D_sample_distances__lX__f__f__r_n
push eax
call fcn.211306e2
add esp, 0x1c
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111f8eb
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111f8e2
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 0x2111f8d0
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
je 0x2111f948
mov eax, dword [edi + 4]
test eax, eax
je 0x2111f948
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov ecx, dword [eax + ecx + 0x238]
test ecx, ecx
je 0x2111f948
fld dword [esp + 0x14]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x2111f938
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 4]
push edx
mov edx, dword [edi]
push eax
push edx
call dword [ecx + 0x60]
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111f95e
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
pop ecx
ret 0xc

Function at 0x2111fb70
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x2111fbc1
cmp word [0x2115929c], 1
je 0x2111fb9b
cmp word [0x21159298], 0
je 0x2111fbc1
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111fbc1
call fcn.21112300
test eax, eax
je 0x2111fbc1
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_active_3D_sample_count__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111fbfa
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111fbf1
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 0x2111fbe0
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111fc15
mov ecx, dword [0x211567dc]
imul edi, edi, 0x258
mov eax, dword [edi + ecx + 0x238]
test eax, eax
jne 0x2111fc19
xor esi, esi
jmp 0x2111fc1e
call dword [eax + 0x68]
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111fc34
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x2111fc64
cmp word [0x2115929c], 1
je 0x2111fc52
cmp word [0x21159298], 0
je 0x2111fc64
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111fc64
push esi
call fcn.21112060
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
ret 4
Function at 0x2111fd40
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 0x2111fd96
cmp word [0x2115929c], 1
je 0x2111fd6f
cmp word [0x21159298], 0
je 0x2111fd96
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111fd96
call fcn.21112300
test eax, eax
je 0x2111fd96
mov eax, dword [0x2115c0bc]
push ebx
push edi
push str.AIL_set_3D_room_type__lX__d__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111fdcb
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111fdc2
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 0x2111fdb0
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111fdf3
mov ecx, dword [0x211567dc]
imul edi, edi, 0x258
mov eax, dword [edi + ecx + 0x238]
test eax, eax
je 0x2111fdf3
mov eax, dword [eax + 0xac]
test eax, eax
je 0x2111fdf3
push ebx
call eax
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop ebx
je 0x2111fe0b
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8

Function at 0x2111fee0
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 0x2111ff36
cmp word [0x2115929c], 1
je 0x2111ff0f
cmp word [0x21159298], 0
je 0x2111ff36
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111ff36
call fcn.21112300
test eax, eax
je 0x2111ff36
mov eax, dword [0x2115c0bc]
push ebx
push edi
push str.AIL_set_3D_speaker_type__lX__d__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111ff6b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111ff62
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 0x2111ff50
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2111ff93
mov ecx, dword [0x211567dc]
imul edi, edi, 0x258
mov eax, dword [edi + ecx + 0x238]
test eax, eax
je 0x2111ff93
mov eax, dword [eax + 0xb4]
test eax, eax
je 0x2111ff93
push ebx
call eax
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop ebx
je 0x2111ffab
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8
Function at 0x211200a0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x211200fa
cmp word [0x2115929c], 1
je 0x211200ca
cmp word [0x21159298], 0
je 0x211200fa
mov eax, dword [0x21159308]
test eax, eax
jne 0x211200fa
call fcn.21112300
test eax, eax
je 0x211200fa
fld dword [esp + 0xc]
mov eax, dword [0x2115c0bc]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_rolloff_factor__lX__f__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x2112012e
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21120125
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 0x21120113
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2112015a
mov ecx, dword [0x211567dc]
imul edi, edi, 0x258
mov eax, dword [edi + ecx + 0x238]
test eax, eax
je 0x2112015a
mov eax, dword [eax + 0xe8]
test eax, eax
je 0x2112015a
mov edx, dword [esp + 0xc]
push edx
call eax
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x21120170
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8

Function at 0x21120260
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x211202ba
cmp word [0x2115929c], 1
je 0x2112028a
cmp word [0x21159298], 0
je 0x211202ba
mov eax, dword [0x21159308]
test eax, eax
jne 0x211202ba
call fcn.21112300
test eax, eax
je 0x211202ba
fld dword [esp + 0xc]
mov eax, dword [0x2115c0bc]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_doppler_factor__lX__f__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x211202ee
mov eax, dword [0x211592a0]
test eax, eax
jne 0x211202e5
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 0x211202d3
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x2112031a
mov ecx, dword [0x211567dc]
imul edi, edi, 0x258
mov eax, dword [edi + ecx + 0x238]
test eax, eax
je 0x2112031a
mov eax, dword [eax + 0xf0]
test eax, eax
je 0x2112031a
mov edx, dword [esp + 0xc]
push edx
call eax
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x21120330
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8
Function at 0x21120420
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2112047a
cmp word [0x2115929c], 1
je 0x2112044a
cmp word [0x21159298], 0
je 0x2112047a
mov eax, dword [0x21159308]
test eax, eax
jne 0x2112047a
call fcn.21112300
test eax, eax
je 0x2112047a
fld dword [esp + 0xc]
mov eax, dword [0x2115c0bc]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_distance_factor__lX__f__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x211204ae
mov eax, dword [0x211592a0]
test eax, eax
jne 0x211204a5
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 0x21120493
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x211204da
mov ecx, dword [0x211567dc]
imul edi, edi, 0x258
mov eax, dword [edi + ecx + 0x238]
test eax, eax
je 0x211204da
mov eax, dword [eax + 0xf8]
test eax, eax
je 0x211204da
mov edx, dword [esp + 0xc]
push edx
call eax
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x211204f0
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8

Function at 0x21120500
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x21120551
cmp word [0x2115929c], 1
je 0x2112052b
cmp word [0x21159298], 0
je 0x21120551
mov eax, dword [0x21159308]
test eax, eax
jne 0x21120551
call fcn.21112300
test eax, eax
je 0x21120551
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_open_3D_listener__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2112058a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21120581
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 0x21120570
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.211043d0
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x211205a8
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x211205d8
cmp word [0x2115929c], 1
je 0x211205c6
cmp word [0x21159298], 0
je 0x211205d8
mov eax, dword [0x21159308]
test eax, eax
jne 0x211205d8
push esi
call fcn.211120a0
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
ret 4
Function at 0x211205f0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x21120640
cmp word [0x2115929c], 1
je 0x2112061a
cmp word [0x21159298], 0
je 0x21120640
mov eax, dword [0x21159308]
test eax, eax
jne 0x21120640
call fcn.21112300
test eax, eax
je 0x21120640
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_close_3D_listener__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2112067b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21120672
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 0x21120660
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x211206a9
mov eax, dword [edi + 4]
test eax, eax
je 0x211206a9
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x211206a9
mov edx, dword [edi]
push edx
call dword [eax + 0x70]
push edi
call sym.mss32.dll__AIL_mem_free_lock_4
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x211206bf
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4

Function at 0x211206d0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x21120721
cmp word [0x2115929c], 1
je 0x211206fb
cmp word [0x21159298], 0
je 0x21120721
mov eax, dword [0x21159308]
test eax, eax
jne 0x21120721
call fcn.21112300
test eax, eax
je 0x21120721
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_open_3D_object__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2112075a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21120751
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 0x21120740
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21104440
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x21120778
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x211207a8
cmp word [0x2115929c], 1
je 0x21120796
cmp word [0x21159298], 0
je 0x211207a8
mov eax, dword [0x21159308]
test eax, eax
jne 0x211207a8
push esi
call fcn.211120a0
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
ret 4
Function at 0x211207c0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x21120810
cmp word [0x2115929c], 1
je 0x211207ea
cmp word [0x21159298], 0
je 0x21120810
mov eax, dword [0x21159308]
test eax, eax
jne 0x21120810
call fcn.21112300
test eax, eax
je 0x21120810
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_close_3D_object__lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2112084b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21120842
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 0x21120830
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x21120879
mov eax, dword [edi + 4]
test eax, eax
je 0x21120879
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x21120879
mov edx, dword [edi]
push edx
call dword [eax + 0x78]
push edi
call sym.mss32.dll__AIL_mem_free_lock_4
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2112088f
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4

Function at 0x211208a0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2112090a
cmp word [0x2115929c], 1
je 0x211208ca
cmp word [0x21159298], 0
je 0x2112090a
mov eax, dword [0x21159308]
test eax, eax
jne 0x2112090a
call fcn.21112300
test eax, eax
je 0x2112090a
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_position__lX__f__f__f__r_n
push eax
call fcn.211306e2
add esp, 0x24
mov eax, dword [0x211566c0]
test eax, eax
je 0x2112093e
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21120935
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 0x21120923
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x21120975
mov eax, dword [edi + 4]
test eax, eax
je 0x21120975
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x21120975
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 dword [eax + 0x7c]
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2112098c
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 0x10
Function at 0x211209a0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x21120a12
cmp word [0x2115929c], 1
je 0x211209ca
cmp word [0x21159298], 0
je 0x21120a12
mov eax, dword [0x21159308]
test eax, eax
jne 0x21120a12
call fcn.21112300
test eax, eax
je 0x21120a12
fld dword [esp + 0x18]
mov eax, dword [0x2115c0bc]
sub esp, 0x20
fstp qword [esp + 0x18]
fld dword [esp + 0x34]
fstp qword [esp + 0x10]
fld dword [esp + 0x30]
fstp qword [esp + 8]
fld dword [esp + 0x2c]
fstp qword [esp]
push edi
push str.AIL_set_3D_velocity__lX__f__f__f__f__r_n
push eax
call fcn.211306e2
add esp, 0x2c
mov eax, dword [0x211566c0]
test eax, eax
je 0x21120a4b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21120a42
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
jmp 0x21120a30
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x21120a30
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x21120a8a
mov eax, dword [edi + 4]
test eax, eax
je 0x21120a8a
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x21120a8a
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [edi]
push ecx
push edx
call dword [eax + 0x80]
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x21120aa0
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 0x14

Function at 0x21120ab0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x21120b1a
cmp word [0x2115929c], 1
je 0x21120ada
cmp word [0x21159298], 0
je 0x21120b1a
mov eax, dword [0x21159308]
test eax, eax
jne 0x21120b1a
call fcn.21112300
test eax, eax
je 0x21120b1a
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_velocity_vector__lX__f__f__f__r_n
push eax
call fcn.211306e2
add esp, 0x24
mov eax, dword [0x211566c0]
test eax, eax
je 0x21120b4e
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21120b45
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 0x21120b33
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x21120b88
mov eax, dword [edi + 4]
test eax, eax
je 0x21120b88
mov ecx, dword [0x211567dc]
imul eax, eax, 0x258
mov eax, dword [eax + ecx + 0x238]
test eax, eax
je 0x21120b88
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 dword [eax + 0x84]
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x21120b9f
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 0x10