joyce8/EMBER2024-capa huggingface dataset:
Function at 0x21112d10
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 0x21112d66
cmp word [0x2115929c], 1
je 0x21112d3f
cmp word [0x21159298], 0
je 0x21112d66
mov eax, dword [0x21159308]
test eax, eax
jne 0x21112d66
call fcn.21112300
test eax, eax
je 0x21112d66
mov eax, dword [0x2115c0bc]
push ebx
push esi
push str.AIL_set_timer_user__ld__lu__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x21112d9b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21112d92
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 0x21112d80
pop edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp esi, 0xffffffff
jne 0x21112da4
xor esi, esi
jmp 0x21112db7
mov ecx, dword [0x21159314]
imul esi, esi, 0x1c
lea eax, [esi + ecx + 8]
mov ecx, dword [eax]
mov dword [eax], ebx
mov esi, ecx
mov eax, dword [0x211566c0]
test eax, eax
je 0x21112dcd
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x21112dfd
cmp word [0x2115929c], 1
je 0x21112deb
cmp word [0x21159298], 0
je 0x21112dfd
mov eax, dword [0x21159308]
test eax, eax
jne 0x21112dfd
push esi
call fcn.21112060
add esp, 4
dec word [0x2115929c]
mov eax, esi
pop esi
pop ebx
ret 8

Function at 0x21112e10
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 0x21112e66
cmp word [0x2115929c], 1
je 0x21112e3f
cmp word [0x21159298], 0
je 0x21112e66
mov eax, dword [0x21159308]
test eax, eax
jne 0x21112e66
call fcn.21112300
test eax, eax
je 0x21112e66
mov eax, dword [0x2115c0bc]
push ebx
push esi
push str.AIL_set_timer_period__ld__lu__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x21112e9b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21112e92
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 0x21112e80
pop edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp esi, 0xffffffff
je 0x21112ec4
lock inc dword [0x21159318]
imul esi, esi, 0x1c
mov ecx, dword [0x21159314]
lea eax, [esi + ecx]
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], ebx
lock dec dword [0x21159318]
mov eax, dword [0x211566c0]
test eax, eax
pop esi
pop ebx
je 0x21112edc
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8
Function at 0x21112ef0
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 0x21112f46
cmp word [0x2115929c], 1
je 0x21112f1f
cmp word [0x21159298], 0
je 0x21112f46
mov eax, dword [0x21159308]
test eax, eax
jne 0x21112f46
call fcn.21112300
test eax, eax
je 0x21112f46
mov eax, dword [0x2115c0bc]
push ebx
push edi
push str.AIL_set_timer_frequency__ld__lu__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x21112f7b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21112f72
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 0x21112f60
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp edi, 0xffffffff
je 0x21112f90
xor edx, edx
mov eax, 0xf4240
div ebx
push eax
push edi
call sym.mss32.dll__AIL_set_timer_period_8
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop ebx
je 0x21112fa8
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8

Function at 0x21112fc0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 8]
push esi
mov esi, dword [esp + 0x10]
je 0x21113016
cmp word [0x2115929c], 1
je 0x21112fef
cmp word [0x21159298], 0
je 0x21113016
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113016
call fcn.21112300
test eax, eax
je 0x21113016
mov eax, dword [0x2115c0bc]
push esi
push ebx
push str.AIL_set_timer_divisor__ld__lu__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111304b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21113042
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 0x21113030
pop edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp ebx, 0xffffffff
je 0x2111307a
test esi, esi
jne 0x2111305b
push 0xd68d
jmp 0x21113074
imul esi, esi, 0x2710
mov ecx, esi
mov eax, 0x5f846b73
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0xd
push ecx
push ebx
call sym.mss32.dll__AIL_set_timer_period_8
mov eax, dword [0x211566c0]
test eax, eax
pop esi
pop ebx
je 0x21113092
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8
Function at 0x211130a0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x211130f0
cmp word [0x2115929c], 1
je 0x211130ca
cmp word [0x21159298], 0
je 0x211130f0
mov eax, dword [0x21159308]
test eax, eax
jne 0x211130f0
call fcn.21112300
test eax, eax
je 0x211130f0
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_start_timer__lu__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111312b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21113122
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 0x21113110
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp edi, 0xffffffff
je 0x21113147
mov ecx, dword [0x21159314]
imul edi, edi, 0x1c
lea eax, [edi + ecx]
cmp dword [eax], 1
jne 0x21113147
mov dword [eax], 2
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111315e
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4

Function at 0x21113170
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
je 0x211131ba
cmp word [0x2115929c], 1
je 0x21113195
cmp word [0x21159298], 0
je 0x211131ba
mov eax, dword [0x21159308]
test eax, eax
jne 0x211131ba
call fcn.21112300
test eax, eax
je 0x211131ba
mov eax, dword [0x2115c0bc]
push str.AIL_start_all_timers___r_n
push eax
call fcn.211306e2
add esp, 8
mov eax, dword [0x211566c0]
test eax, eax
push esi
je 0x211131ed
mov eax, dword [0x211592a0]
test eax, eax
jne 0x211131e4
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x211131d3
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x21156608]
xor esi, esi
test eax, eax
jle 0x21113208
push esi
call sym.mss32.dll__AIL_start_timer_4
mov eax, dword [0x21156608]
inc esi
cmp esi, eax
jl 0x211131f8
mov eax, dword [0x211566c0]
test eax, eax
pop esi
je 0x2111321f
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret
Function at 0x21113230
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x21113280
cmp word [0x2115929c], 1
je 0x2111325a
cmp word [0x21159298], 0
je 0x21113280
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113280
call fcn.21112300
test eax, eax
je 0x21113280
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_stop_timer__lu__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x211132bb
mov eax, dword [0x211592a0]
test eax, eax
jne 0x211132b2
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 0x211132a0
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp edi, 0xffffffff
je 0x211132d7
mov ecx, dword [0x21159314]
imul edi, edi, 0x1c
lea eax, [edi + ecx]
cmp dword [eax], 2
jne 0x211132d7
mov dword [eax], 1
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x211132ee
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4

Function at 0x21113300
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
je 0x2111334a
cmp word [0x2115929c], 1
je 0x21113325
cmp word [0x21159298], 0
je 0x2111334a
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111334a
call fcn.21112300
test eax, eax
je 0x2111334a
mov eax, dword [0x2115c0bc]
push str.AIL_stop_all_timers___r_n
push eax
call fcn.211306e2
add esp, 8
mov eax, dword [0x211566c0]
test eax, eax
push esi
je 0x2111337d
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21113374
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x21113363
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x21156608]
xor esi, esi
test eax, eax
jle 0x21113398
push esi
call sym.mss32.dll__AIL_stop_timer_4
mov eax, dword [0x21156608]
inc esi
cmp esi, eax
jl 0x21113388
mov eax, dword [0x211566c0]
test eax, eax
pop esi
je 0x211133af
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret
Function at 0x211133c0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x21113410
cmp word [0x2115929c], 1
je 0x211133ea
cmp word [0x21159298], 0
je 0x21113410
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113410
call fcn.21112300
test eax, eax
je 0x21113410
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_release_timer_handle__lu__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111344b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21113442
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 0x21113430
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp edi, 0xffffffff
je 0x21113460
mov ecx, dword [0x21159314]
imul edi, edi, 0x1c
mov dword [edi + ecx], 0
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x21113477
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4

Function at 0x21113490
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
je 0x211134da
cmp word [0x2115929c], 1
je 0x211134b5
cmp word [0x21159298], 0
je 0x211134da
mov eax, dword [0x21159308]
test eax, eax
jne 0x211134da
call fcn.21112300
test eax, eax
je 0x211134da
mov eax, dword [0x2115c0bc]
push str.AIL_release_all_timers___r_n
push eax
call fcn.211306e2
add esp, 8
mov eax, dword [0x211566c0]
test eax, eax
push esi
je 0x2111350d
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21113504
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x211134f3
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x21156608]
xor esi, esi
test eax, eax
jle 0x21113528
push esi
call sym.mss32.dll__AIL_release_timer_handle_4
mov eax, dword [0x21156608]
inc esi
cmp esi, eax
jl 0x21113518
mov eax, dword [0x211566c0]
test eax, eax
pop esi
je 0x2111353f
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret
Function at 0x21113810
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 0x10]
push ebp
mov ebp, dword [esp + 0x10]
push esi
push edi
mov edi, dword [esp + 0x20]
je 0x21113873
cmp word [0x2115929c], 1
je 0x21113845
cmp word [0x21159298], 0
je 0x21113873
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113873
call fcn.21112300
test eax, eax
je 0x21113873
mov eax, dword [esp + 0x14]
mov ecx, dword [0x2115c0bc]
push edi
push ebx
push ebp
push eax
push str.AIL_waveOutOpen_0x_lX__0x_lX___d__0x_lX__r_n
push ecx
call fcn.211306e2
add esp, 0x18
mov eax, dword [0x211566c0]
test eax, eax
je 0x211138aa
mov eax, dword [0x211592a0]
test eax, eax
jne 0x211138a1
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
jmp 0x21113890
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x21113890
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [esp + 0x14]
push ebx
push ebp
push edx
mov eax, edi
call fcn.2112e660
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x211138cf
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x211138ff
cmp word [0x2115929c], 1
je 0x211138ed
cmp word [0x21159298], 0
je 0x211138ff
mov eax, dword [0x21159308]
test eax, eax
jne 0x211138ff
push esi
call fcn.211120a0
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
ret 0x10

Function at 0x21113980
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x211139d1
cmp word [0x2115929c], 1
je 0x211139ab
cmp word [0x21159298], 0
je 0x211139d1
mov eax, dword [0x21159308]
test eax, eax
jne 0x211139d1
call fcn.21112300
test eax, eax
je 0x211139d1
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_digital_handle_release_0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x21113a0a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21113a01
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 0x211139f0
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, edi
call fcn.2112f5a0
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x21113a29
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x21113a59
cmp word [0x2115929c], 1
je 0x21113a47
cmp word [0x21159298], 0
je 0x21113a59
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113a59
push esi
call fcn.21112060
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
ret 4
Function at 0x21113a70
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x21113ac1
cmp word [0x2115929c], 1
je 0x21113a9b
cmp word [0x21159298], 0
je 0x21113ac1
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113ac1
call fcn.21112300
test eax, eax
je 0x21113ac1
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_digital_handle_reacquire_0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x21113afa
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21113af1
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 0x21113ae0
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, edi
call fcn.2112f750
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x21113b19
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x21113b49
cmp word [0x2115929c], 1
je 0x21113b37
cmp word [0x21159298], 0
je 0x21113b49
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113b49
push esi
call fcn.21112060
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
ret 4

Function at 0x21113b60
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x21113bb1
cmp word [0x2115929c], 1
je 0x21113b8b
cmp word [0x21159298], 0
je 0x21113bb1
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113bb1
call fcn.21112300
test eax, eax
je 0x21113bb1
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_open_input_0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x21113bea
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21113be1
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 0x21113bd0
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.2112c8c0
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x21113c08
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x21113c38
cmp word [0x2115929c], 1
je 0x21113c26
cmp word [0x21159298], 0
je 0x21113c38
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113c38
push esi
call fcn.211120a0
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
ret 4
Function at 0x21113c50
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
mov esi, dword [esp + 8]
je 0x21113ca0
cmp word [0x2115929c], 1
je 0x21113c7a
cmp word [0x21159298], 0
je 0x21113ca0
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113ca0
call fcn.21112300
test eax, eax
je 0x21113ca0
mov eax, dword [0x2115c0bc]
push esi
push str.AIL_close_input_0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x21113cdb
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21113cd2
push edi
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 0x21113cc0
pop edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.2112cbc0
mov eax, dword [0x211566c0]
test eax, eax
pop esi
je 0x21113cf7
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4

Function at 0x21113d10
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x21113d61
cmp word [0x2115929c], 1
je 0x21113d3b
cmp word [0x21159298], 0
je 0x21113d61
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113d61
call fcn.21112300
test eax, eax
je 0x21113d61
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_get_input_info_0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x21113d9a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21113d91
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 0x21113d80
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x211566c0]
test eax, eax
lea esi, [edi + 8]
je 0x21113db3
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x21113de3
cmp word [0x2115929c], 1
je 0x21113dd1
cmp word [0x21159298], 0
je 0x21113de3
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113de3
push esi
call fcn.211120a0
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
ret 4
Function at 0x21113e00
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 0x21113e56
cmp word [0x2115929c], 1
je 0x21113e2f
cmp word [0x21159298], 0
je 0x21113e56
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113e56
call fcn.21112300
test eax, eax
je 0x21113e56
mov eax, dword [0x2115c0bc]
push ebx
push esi
push str.AIL_set_input_state_0x_lX__ld__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x21113e8b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21113e82
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 0x21113e70
pop edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, ebx
call fcn.2112cc60
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x21113eaa
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x21113eda
cmp word [0x2115929c], 1
je 0x21113ec8
cmp word [0x21159298], 0
je 0x21113eda
mov eax, dword [0x21159308]
test eax, eax
jne 0x21113eda
push esi
call fcn.21112060
add esp, 4
dec word [0x2115929c]
mov eax, esi
pop esi
pop ebx
ret 8

Function at 0x21114030
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x21114081
cmp word [0x2115929c], 1
je 0x2111405b
cmp word [0x21159298], 0
je 0x21114081
mov eax, dword [0x21159308]
test eax, eax
jne 0x21114081
call fcn.21112300
test eax, eax
je 0x21114081
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_allocate_sample_handle_0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x211140ba
mov eax, dword [0x211592a0]
test eax, eax
jne 0x211140b1
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 0x211140a0
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, edi
call fcn.2112a690
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x211140d9
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x21114109
cmp word [0x2115929c], 1
je 0x211140f7
cmp word [0x21159298], 0
je 0x21114109
mov eax, dword [0x21159308]
test eax, eax
jne 0x21114109
push esi
call fcn.211120a0
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
ret 4