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

Disassembly:
test ebx, ebx
je 0x2110fa85
mov eax, dword [0x211566c0]
test eax, eax
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
push edi
je 0x2110f942
mov eax, dword [0x211592a0]
push eax
call ebp
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx + 0x30]
push ecx
push edx
call dword [ebx + 0x10]
mov eax, dword [0x211566c0]
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
je 0x2110f986
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2110f981
lea esp, [esp]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2110f970
push 0xffffffffffffffff
push eax
call edi
mov eax, dword [ebx + 0x54]
test eax, eax
je 0x2110f9d6
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110f99e
mov eax, dword [0x211592a0]
push eax
call ebp
mov ecx, dword [ebx + 0x54]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110f9d6
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2110f9d1
lea ebx, [ebx]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2110f9c0
push 0xffffffffffffffff
push eax
call edi
mov eax, dword [ebx + 0x44]
test eax, eax
je 0x2110f9e3
push eax
call sym.mss32.dll__AIL_release_sample_handle_4
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x2110f9f0
push eax
call sym.mss32.dll__AIL_mem_free_lock_4
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x2110f9fd
push eax
call sym.mss32.dll__AIL_mem_free_lock_4
mov esi, dword [ebx + 0x50]
test esi, esi
je 0x2110fa6e
mov edi, dword [esi + 4]
xor edx, edx
inc word [0x2115929c]
mov eax, esi
mov dword [eax], edx
cmp word [0x21159294], dx
mov dword [eax + 4], edx
je 0x2110fa5a
cmp word [0x2115929c], 1
je 0x2110fa33
cmp word [0x21159298], dx
je 0x2110fa5a
mov eax, dword [0x21159308]
test eax, eax
jne 0x2110fa5a
call fcn.21112300
test eax, eax
je 0x2110fa5a
mov ecx, dword [0x2115c0bc]
push esi
push str.AIL_mem_free_lock_0x_lX__r_n
push ecx
call fcn.211306e2
add esp, 0xc
push esi
call dword [0x21155834]
dec word [0x2115929c]
test edi, edi
mov esi, edi
jne 0x2110fa04
mov ecx, 0x16
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
pop edi
pop esi
pop ebp
mov dword [esp + 4], ebx
jmp sym.mss32.dll__AIL_mem_free_lock_4
ret 4
Function at 0x2110fa90
Capabilities:
Check mutex on windows
Get common file path

Disassembly:
sub esp, 0x10c
push ebp
mov ebp, dword [esp + 0x118]
push esi
mov esi, eax
test esi, esi
push edi
je 0x2110fb7b
mov ecx, dword [esp + 0x11c]
test ecx, ecx
je 0x2110fb7b
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x2110fbef
cmp dword [ecx], 0x46464952
jne 0x2110fc03
push ebx
mov ebx, dword [ecx + 4]
lea eax, [esp + 0x14]
push eax
push 0x7f
add ebx, 8
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea edi, [esp + 0x14]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x2110faf0
mov ecx, dword [str.temp.dls]
mov edx, dword [0x21146538]
mov al, byte [0x2114653c]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov byte [edi + 8], al
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110fb27
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edx, dword [esp + 0x120]
push ebx
push edx
lea eax, [esp + 0x1c]
push eax
call sym.mss32.dll__AIL_file_write_12
test eax, eax
pop ebx
jne 0x2110fb89
push str.Could_not_write_temporary_DLS_file.
call sym.mss32.dll__AIL_set_error_4
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110fb7b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2110fb72
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2110fb61
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x10c
ret 8
push ebp
lea ecx, [esp + 0x14]
push ecx
push esi
call sym.mss32.dll__AIL_DLS_load_file_12
push 0x200
lea edx, [esp + 0x94]
mov edi, eax
push edx
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_OpenFile]
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110fbe1
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2110fbd8
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2110fbc7
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0x10c
ret 8
mov edx, dword [esi + 0x30]
push ecx
lea ecx, [esp + 0x10]
push ecx
or ebp, 1
push ebp
push edx
call eax
test eax, eax
je 0x2110fc1b
push str.Unable_to_load_DLS_memory_file.
call sym.mss32.dll__AIL_set_error_4
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x10c
ret 8
push 8
call sym.mss32.dll__AIL_mem_alloc_lock_4
test eax, eax
je 0x2110fb7b
xor ecx, ecx
mov edx, eax
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax], ecx
mov edx, dword [esi + 0x50]
pop edi
mov dword [eax + 4], edx
mov dword [esi + 0x50], eax
pop esi
pop ebp
add esp, 0x10c
ret 8
Function at 0x2110fc50
Capabilities:
Check mutex on windows

Disassembly:
test ebx, ebx
push edi
mov edi, eax
je 0x2110fe3a
test edi, edi
push esi
jne 0x2110fcb3
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110fc75
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x2110fc84
mov ecx, dword [ebx + 0x30]
push 1
push ecx
call eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110fd1a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2110fd11
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2110fca0
jmp 0x2110fd11
cmp edi, 0xffffffff
jne 0x2110fd9d
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110fcd2
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x2110fce1
mov ecx, dword [ebx + 0x30]
push 0
push ecx
call eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110fd1a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2110fd11
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 0x2110fd00
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, dword [ebx + 0x50]
test esi, esi
je 0x2110fe39
jmp 0x2110fd30
mov edi, dword [esi + 4]
xor edx, edx
inc word [0x2115929c]
mov eax, esi
mov dword [eax], edx
cmp word [0x21159294], dx
mov dword [eax + 4], edx
je 0x2110fd86
cmp word [0x2115929c], 1
je 0x2110fd5f
cmp word [0x21159298], dx
je 0x2110fd86
mov eax, dword [0x21159308]
test eax, eax
jne 0x2110fd86
call fcn.21112300
test eax, eax
je 0x2110fd86
mov ecx, dword [0x2115c0bc]
push esi
push str.AIL_mem_free_lock_0x_lX__r_n
push ecx
call fcn.211306e2
add esp, 0xc
push esi
call dword [0x21155834]
dec word [0x2115929c]
test edi, edi
mov esi, edi
jne 0x2110fd30
pop esi
pop edi
ret
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x2110fe39
cmp eax, edi
jne 0x2110fdb4
mov edx, dword [edi + 4]
mov dword [ebx + 0x50], edx
jmp 0x2110fdcc
mov ecx, dword [eax + 4]
cmp ecx, edi
je 0x2110fdc3
mov eax, ecx
test eax, eax
jne 0x2110fdb4
jmp 0x2110fdcc
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110fde1
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x2110fdf1
mov ecx, dword [edi]
mov edx, dword [ebx + 0x30]
push ecx
push edx
call eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110fe2a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2110fe21
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 0x2110fe10
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
mov ecx, edi
mov dword [ecx], eax
push edi
mov dword [ecx + 4], eax
call sym.mss32.dll__AIL_mem_free_lock_4
pop esi
pop edi
ret
Function at 0x2110fe40
Capabilities:
Check mutex on windows

Disassembly:
push esi
mov esi, eax
test esi, esi
je 0x2110fe9b
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110fe5c
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [esi + 0x28]
test eax, eax
je 0x2110fe69
mov ecx, dword [esi + 0x30]
push ecx
call eax
mov eax, dword [0x211566c0]
test eax, eax
je 0x2110fe9b
mov eax, dword [0x211592a0]
test eax, eax
jne 0x2110fe92
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x2110fe81
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
pop esi
ret
Function at 0x21110c90
Capabilities:
Check mutex on windows

Disassembly:
push esi
mov esi, eax
test esi, esi
je 0x21110e32
lock inc dword [0x211592c0]
lock inc dword [0x211592c8]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x21110cbd
push eax
mov dword [esi + 0xc], 0
call sym.mss32.dll__AIL_release_sample_handle_4
mov edx, dword [0x211592bc]
cmp edx, esi
jne 0x21110cd5
mov edx, dword [edx + 0x104]
mov dword [0x211592bc], edx
jmp 0x21110cfe
test edx, edx
mov eax, edx
je 0x21110d02
jmp 0x21110ce0
mov ecx, dword [eax + 0x104]
cmp ecx, esi
je 0x21110cf2
mov eax, ecx
test eax, eax
jne 0x21110ce0
jmp 0x21110cfe
mov ecx, dword [esi + 0x104]
mov dword [eax + 0x104], ecx
test edx, edx
jne 0x21110d18
mov edx, dword [0x21155a20]
push edx
call sym.mss32.dll__AIL_release_timer_handle_4
mov dword [0x21155a20], 0
mov eax, dword [0x211592c0]
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push edi
mov edi, 1
cmp eax, edi
je 0x21110d8a
mov eax, dword [0x211566c0]
test eax, eax
je 0x21110d43
mov eax, dword [0x211592a0]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp dword [0x211592c0], edi
je 0x21110d5e
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push edi
call ebx
cmp dword [0x211592c0], edi
jne 0x21110d52
pop ebx
mov eax, dword [0x211566c0]
test eax, eax
je 0x21110d8a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21110d81
push 0
push 0
push 0
call ebp
test eax, eax
mov dword [0x211592a0], eax
je 0x21110d70
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lock dec dword [0x211592c8]
lock dec dword [0x211592c0]
mov eax, dword [0x211592e0]
test eax, eax
je 0x21110da6
call fcn.2110ff60
mov eax, dword [esi + 0x14]
test eax, eax
je 0x21110db3
push eax
call sym.mss32.dll__AIL_mem_free_lock_4
mov eax, dword [esi + 0x18]
test eax, eax
je 0x21110dc0
push eax
call sym.mss32.dll__AIL_mem_free_lock_4
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x21110dcd
push eax
call sym.mss32.dll__AIL_mem_free_lock_4
cmp dword [esi + 0x10], 0xffffffff
je 0x21110e1f
mov eax, dword [0x211566c0]
test eax, eax
je 0x21110de9
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edx, dword [esi + 0x10]
push edx
call dword [0x21155b1c]
mov eax, dword [0x211566c0]
test eax, eax
je 0x21110e1f
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21110e16
push 0
push 0
push 0
call ebp
test eax, eax
mov dword [0x211592a0], eax
je 0x21110e05
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
mov ecx, 0x44
mov edi, esi
push esi
rep stosd dword es:[edi], eax
call sym.mss32.dll__AIL_mem_free_lock_4
pop edi
pop ebp
pop esi
ret
Function at 0x21111610
Capabilities:
Check mutex on windows

Disassembly:
test esi, esi
je 0x211116c7
cmp dword [esi + 0x108], 1
jne 0x2111162b
mov dword [esi + 0x108], 2
mov eax, dword [esi + 0xc4]
test eax, eax
mov eax, dword [esi + 0xb0]
je 0x21111657
test eax, eax
je 0x211116bd
mov eax, dword [esi + 0xc]
push eax
call sym.mss32.dll__AIL_start_sample_4
mov dword [esi + 0xdc], 1
ret
test eax, eax
je 0x2111166c
mov ecx, dword [esi + 0xc]
push ecx
call sym.mss32.dll__AIL_stop_sample_4
push 0
push esi
call sym.mss32.dll__AIL_set_stream_position_8
mov eax, dword [0x211566c0]
test eax, eax
je 0x21111682
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0
call fcn.211101a0
mov eax, dword [0x211566c0]
test eax, eax
je 0x211116bd
mov eax, dword [0x211592a0]
test eax, eax
jne 0x211116b4
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 0x211116a2
pop edi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [esi + 0xdc], 1
ret

Function at 0x211116d0
Capabilities:
Check mutex on windows

Disassembly:
push esi
mov esi, ecx
test esi, esi
je 0x2111177a
test eax, eax
je 0x21111705
push esi
call sym.mss32.dll__AIL_stream_status_4
cmp eax, 4
jne 0x211116fc
mov eax, dword [esi + 0xc]
push eax
call sym.mss32.dll__AIL_stop_sample_4
or dword [esi + 0xdc], 0x18
pop esi
ret
or dword [esi + 0xdc], 8
pop esi
ret
mov eax, dword [esi + 0xdc]
test al, 7
jne 0x21111717
push esi
call sym.mss32.dll__AIL_start_stream_4
pop esi
ret
test al, 0x10
je 0x21111724
mov ecx, dword [esi + 0xc]
push ecx
call sym.mss32.dll__AIL_resume_sample_4
and dword [esi + 0xdc], 0xffffffe7
mov eax, dword [0x211566c0]
test eax, eax
je 0x21111741
mov edx, dword [0x211592a0]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0
call fcn.211101a0
mov eax, dword [0x211566c0]
test eax, eax
je 0x2111177a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21111771
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x211592a0], eax
je 0x21111760
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
pop esi
ret
Function at 0x21111e40
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
push esi
mov esi, dword [esp + 0x10]
push esi
call sym.mss32.dll__AIL_redbook_status_4
test eax, eax
jne 0x21111e59
pop esi
add esp, 8
ret 4
push ebp
push edi
push esi
call sym.mss32.dll__AIL_redbook_tracks_4
mov ebp, eax
mov eax, dword [0x21155a14]
xor eax, ebp
mov esi, eax
shl eax, 8
shr esi, 0x18
or esi, eax
xor eax, eax
test ebp, ebp
mov edi, 1
jbe 0x21111edd
push ebx
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x14]
push ecx
push ebx
push edx
call sym.mss32.dll__AIL_redbook_track_info_16
mov edx, dword [esp + 0x10]
inc edi
mov eax, edi
and eax, 3
mov ecx, dword [eax*4 + 0x21155a10]
xor ecx, edx
xor esi, ecx
inc edi
mov eax, esi
shr eax, 0x18
shl esi, 8
or eax, esi
mov esi, dword [esp + 0x14]
mov edx, edi
and edx, 3
xor eax, dword [edx*4 + 0x21155a10]
xor eax, esi
mov ecx, eax
shl eax, 8
shr ecx, 0x18
or ecx, eax
mov eax, ebx
cmp eax, ebp
mov esi, ecx
jb 0x21111e80
pop ebx
pop edi
pop ebp
mov eax, esi
pop esi
add esp, 8
ret 4

Function at 0x21112450
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x18
mov eax, dword [esp + 0x1c]
push ebx
push ebp
push esi
mov esi, 0x211575fb
sub esi, eax
mov dword [esp + 0x10], esi
mov esi, 0x211575fc
sub esi, eax
mov dword [esp + 0x14], esi
mov esi, 0x211575fd
sub esi, eax
mov dword [esp + 0x18], esi
mov esi, 0x211575fe
sub esi, eax
push edi
mov dword [esp + 0x20], esi
mov edi, 0x211575f8
mov ebp, 0x211575f9
mov edx, 0x211575fa
sub edx, eax
mov esi, 0x211575ff
xor ecx, ecx
sub edi, eax
sub ebp, eax
sub esi, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], esi
jmp 0x211124b3
mov edx, dword [esp + 0x10]
mov bl, byte [ecx + eax]
lea esi, [ecx + eax]
mov byte [edi + esi], bl
cmp byte [esi], 0
je 0x21112551
mov bl, byte [ecx + eax + 1]
mov byte [esi + ebp], bl
mov bl, byte [ecx + eax + 1]
test bl, bl
je 0x21112551
mov bl, byte [ecx + eax + 2]
mov byte [edx + esi], bl
mov dl, byte [ecx + eax + 2]
test dl, dl
je 0x21112551
mov dl, byte [ecx + eax + 3]
mov ebx, dword [esp + 0x14]
mov byte [ebx + esi], dl
mov dl, byte [ecx + eax + 3]
test dl, dl
je 0x21112551
mov dl, byte [ecx + eax + 4]
mov ebx, dword [esp + 0x18]
mov byte [ebx + esi], dl
mov dl, byte [ecx + eax + 4]
test dl, dl
je 0x21112551
mov dl, byte [ecx + eax + 5]
mov ebx, dword [esp + 0x1c]
mov byte [ebx + esi], dl
mov dl, byte [ecx + eax + 5]
test dl, dl
je 0x21112551
mov dl, byte [ecx + eax + 6]
mov ebx, dword [esp + 0x20]
mov byte [ebx + esi], dl
mov dl, byte [ecx + eax + 6]
test dl, dl
je 0x21112551
mov dl, byte [ecx + eax + 7]
mov ebx, dword [esp + 0x24]
mov byte [ebx + esi], dl
mov dl, byte [ecx + eax + 7]
test dl, dl
je 0x21112551
add ecx, 8
cmp ecx, 0x800
jl 0x211124af
lea eax, [esp + 0x30]
push eax
push 0x211575f8
push 0x21157df8
mov byte [0x21157df7], 0
call fcn.211304fd
add esp, 0xc
push 0x21157df8
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
Function at 0x21112590
Capabilities:
Check mutex on windows

Disassembly:
mov eax, dword [0x211592a4]
push ebx
xor ebx, ebx
cmp eax, ebx
je 0x211125a0
xor eax, eax
pop ebx
ret
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push edi
push 2
push ebx
push ebx
mov edi, 1
push 0x21156604
mov dword [0x211592a4], edi
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov esi, dword [sym.imp.KERNEL32.dll_GetProfileStringA]
push 0x100
push 0x21158630
push str.None
push str.MSSDebug
push 0x211463c4
mov word [0x21159294], bx
mov word [0x21159298], bx
call esi
mov eax, 4
mov edx, str.None
mov ecx, 0x21158630
call fcn.21109c00
test eax, eax
je 0x21112665
push 8
push 0x21158734
push 0x211463c0
push str.MSSSysDebug
push 0x211463c4
call esi
mov eax, edi
mov edx, 0x211463c0
mov ecx, 0x21158734
call fcn.21109c00
test eax, eax
je 0x2111264a
mov word [0x21159298], di
push 0x211463b0
push 0x21158630
call fcn.211306cf
add esp, 8
cmp eax, ebx
mov dword [0x2115c0bc], eax
jne 0x21112670
call fcn.211011d0
mov eax, edi
pop edi
pop esi
pop ebx
ret
push 0x21158608
call fcn.2113097e
push 0x21158608
call fcn.211307fe
push eax
mov dword [0x211585f8], eax
call fcn.21130714
add esp, 0xc
mov edx, 0x2115860c
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
cmp cl, bl
jne 0x21112697
mov eax, dword [0x2115c0bc]
push 0x2115860c
push str.________________________________________________________________________________r_nMiles_Sound_System_usage_script_generated_by_MSS_V6.5e_r_nStart_time:__s_r_n________________________________________________________________________________r_n_r_n
push eax
mov byte [0x21158624], bl
call fcn.211306e2
mov eax, dword [0x211566c0]
add esp, 0xc
cmp eax, ebx
je 0x211126ee
mov eax, dword [0x211592a0]
cmp eax, ebx
jne 0x211126e5
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push ebx
push ebx
push ebx
call esi
cmp eax, ebx
mov dword [0x211592a0], eax
je 0x211126d7
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.211011d0
cmp dword [0x211566c0], ebx
je 0x21112708
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call sym.mss32.dll__AIL_ms_count_0
mov dword [0x2115c0b8], eax
mov word [0x21159294], di
mov word [0x2115929c], di
call fcn.21112300
mov edx, dword [0x2115c0bc]
push str.AIL_startup___r_n
push edx
mov word [0x2115929c], bx
call fcn.211306e2
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
ret
Function at 0x21112750
Capabilities:
Check mutex on windows

Disassembly:
mov eax, dword [0x211592a4]
test eax, eax
je 0x21112763
mov dword [0x211592a4], 0
inc word [0x2115929c]
cmp word [0x21159294], 0
je 0x211127ad
cmp word [0x2115929c], 1
je 0x21112788
cmp word [0x21159298], 0
je 0x211127ad
mov eax, dword [0x21159308]
test eax, eax
jne 0x211127ad
call fcn.21112300
test eax, eax
je 0x211127ad
mov eax, dword [0x2115c0bc]
push str.AIL_shutdown___r_n
push eax
call fcn.211306e2
add esp, 8
mov eax, dword [0x211566c0]
test eax, eax
je 0x211127e1
mov eax, dword [0x211592a0]
test eax, eax
jne 0x211127d8
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 0x211127c6
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.21101580
mov eax, dword [0x211566c0]
test eax, eax
je 0x211127fc
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x21112815
mov edx, dword [0x2115c0bc]
push edx
call fcn.211309b7
add esp, 4
mov eax, dword [0x21156604]
dec word [0x2115929c]
test eax, eax
je 0x21112836
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x21156604], 0
ret

Function at 0x211129e0
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 0x21112a37
cmp word [0x2115929c], 1
je 0x21112a10
cmp word [0x21159298], 0
je 0x21112a37
mov eax, dword [0x21159308]
test eax, eax
jne 0x21112a37
call fcn.21112300
test eax, eax
je 0x21112a37
mov eax, dword [0x2115c0bc]
push ebx
push edi
push str.AIL_set_preference__ld__ld__r_n
push eax
call fcn.211306e2
add esp, 0x10
mov eax, dword [0x211566c0]
test eax, eax
je 0x21112a6a
mov eax, dword [0x211592a0]
test eax, eax
jne 0x21112a61
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 0x21112a50
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, dword [edi*4 + 0x21156610]
mov dword [edi*4 + 0x21156610], ebx
mov eax, dword [0x211566c0]
test eax, eax
je 0x21112a8e
mov ecx, dword [0x211592a0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x21159294], 0
je 0x21112abe
cmp word [0x2115929c], 1
je 0x21112aac
cmp word [0x21159298], 0
je 0x21112abe
mov eax, dword [0x21159308]
test eax, eax
jne 0x21112abe
push esi
call fcn.21112060
add esp, 4
dec word [0x2115929c]
pop edi
mov eax, esi
pop esi
pop ebx
ret 8