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

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x21118761
cmp word [0x2115929c], 1
je 0x2111873b
cmp word [0x21159298], 0
je 0x21118761
mov eax, dword [0x21159308]
test eax, eax
jne 0x21118761
call fcn.21112300
test eax, eax
je 0x21118761
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_lock_channel_0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111879a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21118791
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 0x21118780
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21125710
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x211187b8
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x211187e8
cmp word [0x2115929c], 1
je 0x211187d6
cmp word [0x21159298], 0
je 0x211187e8
mov eax, dword [0x21159308]
test eax, eax
jne 0x211187e8
push esi
call fcn.21112060
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
ret 4

Function at 0x21118800
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 8]
push edi
mov edi, dword [esp + 0x10]
je 0x21118856
cmp word [0x2115929c], 1
je 0x2111882f
cmp word [0x21159298], 0
je 0x21118856
mov eax, dword [0x21159308]
test eax, eax
jne 0x21118856
call fcn.21112300
test eax, eax
je 0x21118856
mov eax, dword [0x2115c0bc]
push edi
push ebx
push str.AIL_release_channel_0x_lX__ld__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111888b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21118882
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 0x21118870
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
mov eax, ebx
call fcn.211258f0
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop ebx
je 0x211188ab
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8
Function at 0x211188c0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebp
mov ebp, dword [esp + 0xc]
push esi
mov esi, dword [esp + 0xc]
push edi
mov edi, dword [esp + 0x18]
je 0x2111891c
cmp word [0x2115929c], 1
je 0x211188f4
cmp word [0x21159298], 0
je 0x2111891c
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111891c
call fcn.21112300
test eax, eax
je 0x2111891c
mov eax, dword [0x2115c0bc]
push edi
push ebp
push esi
push str.AIL_map_sequence_channel_0x_lX__ld__ld__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x21118950
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21118947
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call ebx
test eax, eax
mov dword [0x211592a0], eax
je 0x21118935
pop ebx
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test esi, esi
je 0x21118972
lea ecx, [edi - 1]
mov dword [esi + ebp*4 + 0x94], ecx
mov eax, dword [esi + 4]
cmp dword [eax + edi*4 + 0x14], 1
jne 0x21118972
cmp dword [eax + edi*4 + 0x54], esi
je 0x21118972
mov dword [eax + edi*4 + 0x54], esi
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop esi
pop ebp
je 0x2111898b
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 0xc

Function at 0x211189a0
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 0x211189f7
cmp word [0x2115929c], 1
je 0x211189d0
cmp word [0x21159298], 0
je 0x211189f7
mov eax, dword [0x21159308]
test eax, eax
jne 0x211189f7
call fcn.21112300
test eax, eax
je 0x211189f7
mov eax, dword [0x2115c0bc]
push ebx
push edi
push str.AIL_true_sequence_channel_0x_lX__ld__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x21118a2a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21118a21
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 0x21118a10
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
jne 0x21118a32
xor esi, esi
jmp 0x21118a3a
mov esi, dword [edi + ebx*4 + 0x94]
inc esi
mov eax, dword [0x211566c0]
test eax, eax
je 0x21118a50
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x21118a80
cmp word [0x2115929c], 1
je 0x21118a6e
cmp word [0x21159298], 0
je 0x21118a80
mov eax, dword [0x21159308]
test eax, eax
jne 0x21118a80
push esi
call fcn.21112060
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
pop ebx
ret 8
Function at 0x21118a90
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 0x14]
push ebp
mov ebp, dword [esp + 0x14]
push edi
mov edi, dword [esp + 0x20]
je 0x21118af7
cmp word [0x2115929c], 1
je 0x21118ac4
cmp word [0x21159298], 0
je 0x21118af7
mov eax, dword [0x21159308]
test eax, eax
jne 0x21118af7
call fcn.21112300
test eax, eax
je 0x21118af7
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [0x2115c0bc]
push edi
push ebx
push ebp
push eax
push ecx
push str.AIL_send_channel_voice_message_0x_lX_0x_lX_0x_lX_0x_lX_0x_lX__r_n
push edx
call fcn.211306e2
add esp, 0x1c
mov eax, dword [0x211566c0]
test eax, eax
je 0x21118b2b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21118b22
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 0x21118b10
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push ebp
push eax
mov eax, edi
mov edx, ebx
call fcn.21125a00
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop ebp
pop ebx
je 0x21118b57
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 0x14

Function at 0x21118b70
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 8]
push edi
mov edi, dword [esp + 0x10]
je 0x21118bc6
cmp word [0x2115929c], 1
je 0x21118b9f
cmp word [0x21159298], 0
je 0x21118bc6
mov eax, dword [0x21159308]
test eax, eax
jne 0x21118bc6
call fcn.21112300
test eax, eax
je 0x21118bc6
mov eax, dword [0x2115c0bc]
push edi
push ebx
push str.AIL_send_sysex_message_0x_lX_0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x21118bfb
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21118bf2
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 0x21118be0
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, ebx
call fcn.21125ac0
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop ebx
je 0x21118c1a
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8
Function at 0x21118c30
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 + 0x20]
je 0x21118c93
cmp word [0x2115929c], 1
je 0x21118c65
cmp word [0x21159298], 0
je 0x21118c93
mov eax, dword [0x21159308]
test eax, eax
jne 0x21118c93
call fcn.21112300
test eax, eax
je 0x21118c93
mov eax, dword [esp + 0x14]
mov ecx, dword [0x2115c0bc]
push edi
push ebp
push ebx
push eax
push str.AIL_create_wave_synthesizer_0x_lX_0x_lX_0x_lX__ld__r_n
push ecx
call fcn.211306e2
add esp, 0x18
mov eax, dword [0x211566c0]
test eax, eax
je 0x21118cca
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21118cc1
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
jmp 0x21118cb0
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x21118cb0
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [esp + 0x14]
push edi
push ebp
push edx
call fcn.21121a60
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x21118ced
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x21118d1d
cmp word [0x2115929c], 1
je 0x21118d0b
cmp word [0x21159298], 0
je 0x21118d1d
mov eax, dword [0x21159308]
test eax, eax
jne 0x21118d1d
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 0x21118d30
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
mov esi, dword [esp + 8]
je 0x21118d80
cmp word [0x2115929c], 1
je 0x21118d5a
cmp word [0x21159298], 0
je 0x21118d80
mov eax, dword [0x21159308]
test eax, eax
jne 0x21118d80
call fcn.21112300
test eax, eax
je 0x21118d80
mov eax, dword [0x2115c0bc]
push esi
push str.AIL_destroy_wave_synthesizer_0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x21118dbb
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21118db2
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 0x21118da0
pop edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.21121c40
mov eax, dword [0x211566c0]
test eax, eax
pop esi
je 0x21118dd7
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4
Function at 0x2111a770
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 + 0xc]
push esi
push edi
mov edi, dword [esp + 0x1c]
je 0x2111a7cd
cmp word [0x2115929c], 1
je 0x2111a7a5
cmp word [0x21159298], 0
je 0x2111a7cd
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111a7cd
call fcn.21112300
test eax, eax
je 0x2111a7cd
mov eax, dword [0x2115c0bc]
push edi
push ebx
push ebp
push str.AIL_open_stream_0x_lX___s___ld__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111a7ff
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111a7f6
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111a7e5
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
push ebp
mov eax, ebx
call fcn.211108d0
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111a820
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x2111a850
cmp word [0x2115929c], 1
je 0x2111a83e
cmp word [0x21159298], 0
je 0x2111a850
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111a850
push esi
call fcn.211120a0
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
ret 0xc

Function at 0x2111a860
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push edi
mov edi, dword [esp + 8]
je 0x2111a8b0
cmp word [0x2115929c], 1
je 0x2111a88a
cmp word [0x21159298], 0
je 0x2111a8b0
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111a8b0
call fcn.21112300
test eax, eax
je 0x2111a8b0
mov eax, dword [0x2115c0bc]
push edi
push str.AIL_close_stream_0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111a8eb
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111a8e2
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 0x2111a8d0
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, edi
call fcn.21110c90
mov eax, dword [0x211566c0]
test eax, eax
pop edi
je 0x2111a909
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4
Function at 0x2111a9c0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push esi
mov esi, dword [esp + 8]
je 0x2111aa10
cmp word [0x2115929c], 1
je 0x2111a9ea
cmp word [0x21159298], 0
je 0x2111aa10
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111aa10
call fcn.21112300
test eax, eax
je 0x2111aa10
mov eax, dword [0x2115c0bc]
push esi
push str.AIL_start_stream_0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0xc
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111aa4b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111aa42
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 0x2111aa30
pop edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.21111610
mov eax, dword [0x211566c0]
test eax, eax
pop esi
je 0x2111aa67
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 4

Function at 0x2111aa80
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 8]
push edi
mov edi, dword [esp + 0x10]
je 0x2111aad6
cmp word [0x2115929c], 1
je 0x2111aaaf
cmp word [0x21159298], 0
je 0x2111aad6
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111aad6
call fcn.21112300
test eax, eax
je 0x2111aad6
mov eax, dword [0x2115c0bc]
push edi
push ebx
push str.AIL_pause_stream_0x_lX___ld__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111ab0b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111ab02
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 0x2111aaf0
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, edi
mov ecx, ebx
call fcn.211116d0
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop ebx
je 0x2111ab2c
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8
Function at 0x2111b3c0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 8]
push edi
mov edi, dword [esp + 0x10]
je 0x2111b416
cmp word [0x2115929c], 1
je 0x2111b3ef
cmp word [0x21159298], 0
je 0x2111b416
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111b416
call fcn.21112300
test eax, eax
je 0x2111b416
mov eax, dword [0x2115c0bc]
push edi
push ebx
push str.AIL_set_stream_position_0x_lX___ld__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111b44b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111b442
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 0x2111b430
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21111390
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop ebx
je 0x2111b469
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8

Function at 0x2111b5f0
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]
push edi
je 0x2111b647
cmp word [0x2115929c], 1
je 0x2111b620
cmp word [0x21159298], 0
je 0x2111b647
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111b647
call fcn.21112300
test eax, eax
je 0x2111b647
mov eax, dword [0x2115c0bc]
push ebx
push esi
push str.AIL_register_stream_callback_0x_lX__0x_lX__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111b67a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111b671
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 0x2111b660
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
or edi, 0xffffffff
test esi, esi
je 0x2111b6b1
mov eax, dword [esi + 0xc4]
test eax, eax
mov edi, dword [esi + 0xe0]
je 0x2111b6ab
test ebx, ebx
je 0x2111b6a0
mov ecx, dword [esi + 0xc]
push 0x21111830
push ecx
jmp 0x2111b6a6
mov edx, dword [esi + 0xc]
push 0
push edx
call sym.mss32.dll__AIL_register_EOS_callback_8
mov dword [esi + 0xe0], ebx
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111b6c6
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x2111b6f6
cmp word [0x2115929c], 1
je 0x2111b6e4
cmp word [0x21159298], 0
je 0x2111b6f6
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111b6f6
push edi
call fcn.21112060
add esp, 4
dec word [0x2115929c]
mov eax, edi
pop edi
pop esi
pop ebx
ret 8
Function at 0x2111b710
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 0x2111b766
cmp word [0x2115929c], 1
je 0x2111b73f
cmp word [0x21159298], 0
je 0x2111b766
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111b766
call fcn.21112300
test eax, eax
je 0x2111b766
mov eax, dword [0x2115c0bc]
push esi
push ebx
push str.AIL_auto_service_stream_0x_lX___ld__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111b79b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111b792
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 0x2111b780
pop edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test ebx, ebx
je 0x2111b7ac
neg esi
sbb esi, esi
and esi, 2
mov dword [ebx + 0x108], esi
mov eax, dword [0x211566c0]
test eax, eax
pop esi
pop ebx
je 0x2111b7c4
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8

Function at 0x2111b900
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 0x18]
push ebp
mov ebp, dword [esp + 0x18]
push esi
mov esi, dword [esp + 0x28]
push edi
mov edi, dword [esp + 0x28]
je 0x2111b971
cmp word [0x2115929c], 1
je 0x2111b939
cmp word [0x21159298], 0
je 0x2111b971
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111b971
call fcn.21112300
test eax, eax
je 0x2111b971
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push esi
push edi
push ebx
push ebp
push eax
mov eax, dword [0x2115c0bc]
push ecx
push edx
push str.AIL_DLS_open_0x_lX_0x_lX__s_0x_lX__lu__lu__lu__r_n
push eax
call fcn.211306e2
add esp, 0x24
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111b9a1
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111b998
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
test eax, eax
mov dword [0x211592a0], eax
je 0x2111b983
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
push esi
push edi
push ebx
push ebp
push ecx
push edx
call fcn.2110f5f0
mov esi, eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111b9cf
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x2111b9ff
cmp word [0x2115929c], 1
je 0x2111b9ed
cmp word [0x21159298], 0
je 0x2111b9ff
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111b9ff
push esi
call fcn.211120a0
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
ret 0x1c
Function at 0x2111ba10
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2115929c]
cmp word [0x21159294], 0
push ebx
mov ebx, dword [esp + 8]
push edi
mov edi, dword [esp + 0x10]
je 0x2111ba66
cmp word [0x2115929c], 1
je 0x2111ba3f
cmp word [0x21159298], 0
je 0x2111ba66
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111ba66
call fcn.21112300
test eax, eax
je 0x2111ba66
mov eax, dword [0x2115c0bc]
push edi
push ebx
push str.AIL_DLS_close_0x_lX__ld__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111ba9b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111ba92
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 0x2111ba80
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.2110f920
mov eax, dword [0x211566c0]
test eax, eax
pop edi
pop ebx
je 0x2111bab9
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2115929c]
ret 8

Function at 0x2111bad0
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
mov esi, dword [esp + 0x10]
je 0x2111bb2c
cmp word [0x2115929c], 1
je 0x2111bb04
cmp word [0x21159298], 0
je 0x2111bb2c
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111bb2c
call fcn.21112300
test eax, eax
je 0x2111bb2c
mov eax, dword [0x2115c0bc]
push ebx
push ebp
push esi
push str.AIL_DLS_load_file_0x_lX__s__lu__r_n
push eax
call fcn.211306e2
add esp, 0x14
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111bb60
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2111bb57
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call edi
test eax, eax
mov dword [0x211592a0], eax
je 0x2111bb45
pop edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test esi, esi
je 0x2111bb87
test ebp, ebp
je 0x2111bb87
mov edx, dword [esi + 0x30]
push ebp
lea ecx, [esp + 0x1c]
push ecx
or ebx, 1
push ebx
push edx
call dword [esi + 0x14]
test eax, eax
je 0x2111bbdd
push str.Unable_to_load_DLS_memory.
call sym.mss32.dll__AIL_set_error_4
xor esi, esi
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111bb9e
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x2111bbce
cmp word [0x2115929c], 1
je 0x2111bbbc
cmp word [0x21159298], 0
je 0x2111bbce
mov eax, dword [0x21159308]
test eax, eax
jne 0x2111bbce
push esi
call fcn.211120a0
add esp, 4
dec word [0x2115929c]
mov eax, esi
pop esi
pop ebp
pop ebx
ret 0xc
push 8
call sym.mss32.dll__AIL_mem_alloc_lock_4
test eax, eax
je 0x2111bb87
xor ecx, ecx
mov edx, eax
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov edx, dword [esi + 0x50]
mov dword [eax + 4], edx
mov dword [esi + 0x50], eax
mov esi, eax
jmp 0x2111bb89