joyce8/EMBER2024-capa huggingface dataset:
Function at 0x2110fb60
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 0x2110fbb6
cmp word [0x2114fa34], 1
je 0x2110fb8f
cmp word [0x2114fa32], 0
je 0x2110fbb6
call fcn.211023e0
test eax, eax
jne 0x2110fbb6
call fcn.21102230
test eax, eax
je 0x2110fbb6
mov eax, dword [0x211530f8]
push edi
push ebx
push str.AIL_set_3D_room_type__lX__d__r_n
push eax
call fcn.2112ed34
add esp, 0x10
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110fbea
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110fbe1
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 0x2110fbcf
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
push ebx
call fcn.21128990
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
pop ebx
je 0x2110fc09
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 8

Function at 0x2110fcc0
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 0x2110fd16
cmp word [0x2114fa34], 1
je 0x2110fcef
cmp word [0x2114fa32], 0
je 0x2110fd16
call fcn.211023e0
test eax, eax
jne 0x2110fd16
call fcn.21102230
test eax, eax
je 0x2110fd16
mov eax, dword [0x211530f8]
push edi
push ebx
push str.AIL_set_3D_speaker_type__lX__d__r_n
push eax
call fcn.2112ed34
add esp, 0x10
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110fd4a
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110fd41
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 0x2110fd2f
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
push ebx
call fcn.211289f0
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
pop ebx
je 0x2110fd69
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 8
Function at 0x2110fe70
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2110feca
cmp word [0x2114fa34], 1
je 0x2110fe9a
cmp word [0x2114fa32], 0
je 0x2110feca
call fcn.211023e0
test eax, eax
jne 0x2110feca
call fcn.21102230
test eax, eax
je 0x2110feca
fld dword [esp + 0xc]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_rolloff_factor__lX__f__r_n
push eax
call fcn.2112ed34
add esp, 0x14
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2110fefe
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2110fef5
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 0x2110fee3
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0xc]
push ecx
push edi
call fcn.21128c90
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x2110ff20
mov edx, dword [0x2114fa38]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 8

Function at 0x2110ffd0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2111002a
cmp word [0x2114fa34], 1
je 0x2110fffa
cmp word [0x2114fa32], 0
je 0x2111002a
call fcn.211023e0
test eax, eax
jne 0x2111002a
call fcn.21102230
test eax, eax
je 0x2111002a
fld dword [esp + 0xc]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_doppler_factor__lX__f__r_n
push eax
call fcn.2112ed34
add esp, 0x14
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2111005e
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x21110055
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 0x21110043
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0xc]
push ecx
push edi
call fcn.21128d00
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x21110080
mov edx, dword [0x2114fa38]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 8
Function at 0x21110130
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2111018a
cmp word [0x2114fa34], 1
je 0x2111015a
cmp word [0x2114fa32], 0
je 0x2111018a
call fcn.211023e0
test eax, eax
jne 0x2111018a
call fcn.21102230
test eax, eax
je 0x2111018a
fld dword [esp + 0xc]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_set_3D_distance_factor__lX__f__r_n
push eax
call fcn.2112ed34
add esp, 0x14
mov eax, dword [0x2114e89c]
test eax, eax
je 0x211101be
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x211101b5
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 0x211101a3
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0xc]
push ecx
push edi
call fcn.21128d70
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x211101e0
mov edx, dword [0x2114fa38]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 8

Function at 0x211101f0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x21110241
cmp word [0x2114fa34], 1
je 0x2111021b
cmp word [0x2114fa32], 0
je 0x21110241
call fcn.211023e0
test eax, eax
jne 0x21110241
call fcn.21102230
test eax, eax
je 0x21110241
mov eax, dword [0x211530f8]
push edi
push str.AIL_open_3D_listener__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x21110273
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2111026a
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x21110259
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21128580
mov esi, eax
mov eax, dword [0x2114e89c]
test eax, eax
je 0x21110291
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x2114fa30], 0
je 0x211102bf
cmp word [0x2114fa34], 1
je 0x211102af
cmp word [0x2114fa32], 0
je 0x211102bf
call fcn.211023e0
test eax, eax
jne 0x211102bf
mov ecx, esi
call fcn.21102960
dec word [0x2114fa34]
pop edi
mov eax, esi
pop esi
ret 4
Function at 0x211102d0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x21110320
cmp word [0x2114fa34], 1
je 0x211102fa
cmp word [0x2114fa32], 0
je 0x21110320
call fcn.211023e0
test eax, eax
jne 0x21110320
call fcn.21102230
test eax, eax
je 0x21110320
mov eax, dword [0x211530f8]
push edi
push str.AIL_close_3D_listener__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x21110354
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2111034b
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 0x21110339
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.211285d0
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x21110371
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 4

Function at 0x21110380
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push esi
push edi
mov edi, dword [esp + 0xc]
je 0x211103d1
cmp word [0x2114fa34], 1
je 0x211103ab
cmp word [0x2114fa32], 0
je 0x211103d1
call fcn.211023e0
test eax, eax
jne 0x211103d1
call fcn.21102230
test eax, eax
je 0x211103d1
mov eax, dword [0x211530f8]
push edi
push str.AIL_open_3D_object__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x21110403
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x211103fa
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x211103e9
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21128600
mov esi, eax
mov eax, dword [0x2114e89c]
test eax, eax
je 0x21110421
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
cmp word [0x2114fa30], 0
je 0x2111044f
cmp word [0x2114fa34], 1
je 0x2111043f
cmp word [0x2114fa32], 0
je 0x2111044f
call fcn.211023e0
test eax, eax
jne 0x2111044f
mov ecx, esi
call fcn.21102960
dec word [0x2114fa34]
pop edi
mov eax, esi
pop esi
ret 4
Function at 0x21110460
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x211104b0
cmp word [0x2114fa34], 1
je 0x2111048a
cmp word [0x2114fa32], 0
je 0x211104b0
call fcn.211023e0
test eax, eax
jne 0x211104b0
call fcn.21102230
test eax, eax
je 0x211104b0
mov eax, dword [0x211530f8]
push edi
push str.AIL_close_3D_object__lX__r_n
push eax
call fcn.2112ed34
add esp, 0xc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x211104e4
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x211104db
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 0x211104c9
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call fcn.21128650
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x21110501
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 4

Function at 0x21110510
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2111057f
cmp word [0x2114fa34], 1
je 0x2111053a
cmp word [0x2114fa32], 0
je 0x2111057f
call fcn.211023e0
test eax, eax
jne 0x2111057f
call fcn.21102230
test eax, eax
je 0x2111057f
fld dword [esp + 0x14]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
sub esp, 8
fld dword [esp + 0x20]
sub esp, 8
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.2112ed34
add esp, 0x24
mov eax, dword [0x2114e89c]
test eax, eax
je 0x211105b3
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x211105aa
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 0x21110598
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
push ecx
push edx
push eax
push edi
call fcn.21128680
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x211105df
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 0x10
Function at 0x211105f0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2111066a
cmp word [0x2114fa34], 1
je 0x2111061a
cmp word [0x2114fa32], 0
je 0x2111066a
call fcn.211023e0
test eax, eax
jne 0x2111066a
call fcn.21102230
test eax, eax
je 0x2111066a
fld dword [esp + 0x18]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
sub esp, 8
fld dword [esp + 0x24]
sub esp, 8
fstp qword [esp + 8]
sub esp, 8
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.2112ed34
add esp, 0x2c
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2111069e
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x21110695
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 0x21110683
pop esi
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 + 0x10]
push ecx
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
push edi
call fcn.211286c0
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x211106cf
mov edx, dword [0x2114fa38]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 0x14

Function at 0x211106e0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x2111074f
cmp word [0x2114fa34], 1
je 0x2111070a
cmp word [0x2114fa32], 0
je 0x2111074f
call fcn.211023e0
test eax, eax
jne 0x2111074f
call fcn.21102230
test eax, eax
je 0x2111074f
fld dword [esp + 0x14]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
sub esp, 8
fld dword [esp + 0x20]
sub esp, 8
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.2112ed34
add esp, 0x24
mov eax, dword [0x2114e89c]
test eax, eax
je 0x21110783
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2111077a
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 0x21110768
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
push ecx
push edx
push eax
push edi
call fcn.21128700
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x211107af
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 0x10
Function at 0x211107c0
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x21110850
cmp word [0x2114fa34], 1
je 0x211107ea
cmp word [0x2114fa32], 0
je 0x21110850
call fcn.211023e0
test eax, eax
jne 0x21110850
call fcn.21102230
test eax, eax
je 0x21110850
fld dword [esp + 0x20]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
sub esp, 8
fld dword [esp + 0x2c]
sub esp, 8
fstp qword [esp + 8]
sub esp, 8
fld dword [esp + 0x38]
sub esp, 8
fstp qword [esp + 0x10]
sub esp, 8
fld dword [esp + 0x44]
fstp qword [esp + 0x10]
fld dword [esp + 0x40]
fstp qword [esp + 8]
fld dword [esp + 0x3c]
fstp qword [esp]
push edi
push str.AIL_set_3D_orientation__lX__f__f__f__f__f__f__r_n
push eax
call fcn.2112ed34
add esp, 0x3c
mov eax, dword [0x2114e89c]
test eax, eax
je 0x21110884
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x2111087b
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 0x21110869
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
push edi
call fcn.21128740
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x211108bf
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 0x1c

Function at 0x21110a70
Capabilities:
Check mutex on windows

Disassembly:
inc word [0x2114fa34]
cmp word [0x2114fa30], 0
push edi
mov edi, dword [esp + 8]
je 0x21110aca
cmp word [0x2114fa34], 1
je 0x21110a9a
cmp word [0x2114fa32], 0
je 0x21110aca
call fcn.211023e0
test eax, eax
jne 0x21110aca
call fcn.21102230
test eax, eax
je 0x21110aca
fld dword [esp + 0xc]
mov eax, dword [0x211530f8]
sub esp, 8
fstp qword [esp]
push edi
push str.AIL_update_3D_position__lX__f__r_n
push eax
call fcn.2112ed34
add esp, 0x14
mov eax, dword [0x2114e89c]
test eax, eax
je 0x21110afe
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x21110af5
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 0x21110ae3
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0xc]
push ecx
push edi
call fcn.21128900
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x21110b20
mov edx, dword [0x2114fa38]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 8
Function at 0x21110b30
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 0x21110b86
cmp word [0x2114fa34], 1
je 0x21110b5f
cmp word [0x2114fa32], 0
je 0x21110b86
call fcn.211023e0
test eax, eax
jne 0x21110b86
call fcn.21102230
test eax, eax
je 0x21110b86
mov eax, dword [0x211530f8]
push edi
push ebx
push str.AIL_auto_update_3D_position__lX__ld__r_n
push eax
call fcn.2112ed34
add esp, 0x10
mov eax, dword [0x2114e89c]
test eax, eax
je 0x21110bba
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x21110bb1
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 0x21110b9f
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
push ebx
call fcn.21128930
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
pop ebx
je 0x21110bd9
mov ecx, dword [0x2114fa38]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
dec word [0x2114fa34]
ret 8

Function at 0x21110e30
Capabilities:
Write file on windows

Disassembly:
mov eax, dword [esp + 4]
push esi
push edi
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push eax
mov dword [0x211507bc], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x21110e7b
push str.Unable_to_create_file.
mov dword [0x211507bc], 4
call sym.mss32.dll__AIL_set_error_4
pop edi
xor eax, eax
pop esi
ret 0xc
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push 0
lea ecx, [esp + 0x10]
push ecx
push edi
push edx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x21110eae
cmp dword [esp + 0xc], edi
jne 0x21110eae
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
mov eax, 1
pop esi
ret 0xc
push str.Unable_to_write_to_file__disk_full__.
mov dword [0x211507bc], 6
call sym.mss32.dll__AIL_set_error_4
pop edi
xor eax, eax
pop esi
ret 0xc
Function at 0x21110ed0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x2c
mov eax, dword [str.RIFF]
mov dword [esp], eax
mov eax, dword [str.fmt]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
push esi
test al, 2
push edi
mov edi, dword [esp + 0x40]
mov edx, dword [str.WAVE]
mov esi, dword [esp + 0x44]
lea ecx, [edi + 0x24]
mov dword [esp + 0xc], ecx
mov ecx, 0
setne cl
and al, 1
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], esi
push 0
push 0x80
push 2
inc ecx
neg al
mov word [esp + 0x2a], cx
mov edx, dword [esp + 0x2a]
push 0
push 0
push 0x40000000
mov dword [esp + 0x30], 0x10
sbb eax, eax
and eax, 8
add eax, 8
mov word [esp + 0x42], ax
mov ecx, dword [esp + 0x42]
and edx, 0xffff
and ecx, 0xffff
imul ecx, edx
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov word [esp + 0x40], ax
mov eax, ecx
mov ecx, dword [esp + 0x50]
imul eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x3c], eax
mov eax, dword [str.data]
push ecx
mov word [esp + 0x38], 1
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edi
mov dword [0x211507bc], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x21110fca
push str.Unable_to_create_file.
mov dword [0x211507bc], 4
call sym.mss32.dll__AIL_set_error_4
pop edi
xor eax, eax
pop esi
add esp, 0x2c
ret 0x14
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea edx, [esp + 0x48]
push edx
push 0x2c
lea eax, [esp + 0x18]
push eax
push esi
call ebx
mov edx, dword [esp + 0x40]
push 0
lea ecx, [esp + 0x48]
push ecx
push edi
push edx
push esi
call ebx
test eax, eax
pop ebx
je 0x21111011
cmp dword [esp + 0x40], edi
jne 0x21111011
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
mov eax, 1
pop esi
add esp, 0x2c
ret 0x14
push str.Unable_to_write_to_file__disk_full__.
mov dword [0x211507bc], 6
call sym.mss32.dll__AIL_set_error_4
pop edi
xor eax, eax
pop esi
add esp, 0x2c
ret 0x14
Function at 0x21111050
Capabilities:
Check mutex on windows

Disassembly:
mov eax, dword [0x2114fafc]
mov ecx, eax
inc eax
test ecx, ecx
push esi
mov dword [0x2114fafc], eax
jne 0x21111137
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2111107c
mov edx, dword [0x2114fa38]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov esi, dword [sym.imp.KERNEL32.dll_SetErrorMode]
push edi
push 0x8000
call esi
push str.DSOUND.DLL
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push edi
mov dword [0x2114fb00], eax
call esi
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x2114e89c]
test eax, eax
pop edi
je 0x211110da
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x211110d1
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x211110c0
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x2114fb00]
test eax, eax
jne 0x211110ed
dec dword [0x2114fafc]
xor al, al
pop esi
ret
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.DirectSoundCreate
push eax
call esi
mov dword [0x2114fb04], eax
mov eax, dword [0x2114fb00]
push str.DirectSoundEnumerateA
push eax
call esi
mov ecx, dword [0x2114fb04]
test ecx, ecx
mov dword [0x2114fb08], eax
je 0x21111120
test eax, eax
jne 0x21111137
mov ecx, dword [0x2114fb00]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
dec dword [0x2114fafc]
xor al, al
pop esi
ret
mov al, 1
pop esi
ret

Function at 0x21111140
Capabilities:
Check mutex on windows

Disassembly:
mov eax, dword [0x2114e89c]
test eax, eax
je 0x21111155
mov eax, dword [0x2114fa38]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [0x2114fafc]
test eax, eax
je 0x21111187
dec eax
mov dword [0x2114fafc], eax
jne 0x21111187
mov ecx, dword [0x2114fb00]
push ecx
mov dword [0x2114fb04], 0
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x2114fb00], 0
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x2114e89c]
test eax, eax
je 0x211111c3
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x211111ba
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 0x211111a8
pop esi
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
ret
Function at 0x21111910
Capabilities:
Check mutex on windows

Disassembly:
push esi
mov esi, dword [esp + 8]
test esi, esi
push edi
jne 0x21111921
pop edi
xor eax, eax
pop esi
ret 8
mov eax, dword [esi + 0xa0]
test eax, eax
mov edi, dword [esp + 0x10]
mov dword [esi + 0xb0], edi
je 0x211119dc
mov eax, dword [0x2114e89c]
test eax, eax
je 0x2111194e
mov eax, dword [0x2114fa38]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov edx, dword [esi + 0xa4]
mov eax, dword [esi + 0xa0]
mov ecx, dword [eax]
push edx
mov edx, dword [esi + 0xb0]
push edx
push eax
call dword [ecx + 0x18]
test eax, eax
mov eax, dword [0x2114e89c]
jge 0x211119af
test eax, eax
je 0x2111199e
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x21111995
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x21111984
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push str.SetCooperativeLevel___failed.
call sym.mss32.dll__AIL_set_error_4
pop edi
xor eax, eax
pop esi
ret 8
test eax, eax
je 0x211119dc
mov eax, dword [0x2114fa38]
test eax, eax
jne 0x211119d3
mov esi, dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0
push 0
push 0
call esi
test eax, eax
mov dword [0x2114fa38], eax
je 0x211119c2
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [0x2114e8ac], edi
pop edi
mov eax, 1
pop esi
ret 8