joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1003e9f0
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [0x10116b30]
push esi
test eax, eax
mov esi, ecx
je 0x1003ead2
push edi
mov edi, eax
mov eax, dword [esi]
push 0
push 0
push 0x403
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov al, byte [0x10116af8]
test al, al
jne 0x1003eac3
cmp dword [0x10116b10], 3
jne 0x1003ea58
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
call esi
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 5
call esi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esp + 0xc]
mov eax, dword [edi]
push 0
push ecx
mov ecx, edi
call dword [eax + 0x18]
pop edi
pop esi
ret 4
mov al, byte [0x10116bbc]
mov byte [0x10116bd8], 1
test al, al
je 0x1003ea70
mov ecx, dword [esi + 0x10]
call fcn.1004a800
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x1003ea94
cmp dword [0x10116b10], 3
jne 0x1003ea8c
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1003ea8c
call fcn.10052d50
mov ecx, dword [esi + 0xc]
call fcn.10052c40
mov eax, dword [0x10116b10]
mov byte [0x10116af8], 1
cmp eax, 3
mov byte [0x10116bd8], 0
jne 0x1003eab4
push 1
call dword [sym.imp.USER32.dll_ShowCursor]
mov ecx, dword [0x10116b30]
test ecx, ecx
je 0x1003eac3
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [esp + 0xc]
mov eax, dword [edi]
push 0
push ecx
mov ecx, edi
call dword [eax + 0x18]
pop edi
pop esi
ret 4
Function at 0x10048f2a
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100f2988
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esp + 0x34]
push edi
mov edi, dword [esi + 0xb0]
mov eax, dword [esi + 0xa8]
add edi, ecx
cmp edi, eax
jge 0x100490e5
mov ecx, dword [esi + 0x98]
call fcn.100535f0
mov ecx, dword [esi + 0xa0]
add eax, edi
cmp eax, ecx
jle 0x100490e5
mov ecx, dword [esi + 0xac]
mov edx, dword [esp + 0x34]
mov eax, dword [esi + 0xa4]
add ecx, edx
cmp ecx, eax
mov dword [esp + 0x10], ecx
jge 0x100490e5
mov ebp, dword [esp + 0x3c]
xor ebx, ebx
mov eax, dword [ebp + 8]
test eax, eax
jbe 0x10048fd7
mov eax, dword [ebp + 4]
test eax, eax
jne 0x10048f9c
mov eax, 0x100f7364
jmp 0x10048f9e
add eax, ebx
movsx eax, byte [eax]
mov ecx, dword [esi + 0x98]
push eax
call fcn.10053440
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x9c]
add ecx, eax
cmp ecx, edx
jg 0x10048fd3
mov edx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
add edx, eax
mov eax, dword [ebp + 8]
inc ebx
mov dword [esp + 0x34], edx
cmp ebx, eax
jb 0x10048f8e
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp + 8]
mov edi, ebx
cmp ebx, eax
jae 0x100490e5
jmp 0x10048fea
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esi + 0xa4]
jge 0x10049023
mov eax, dword [ebp + 4]
test eax, eax
jne 0x10049000
mov eax, 0x100f7364
jmp 0x10049002
add eax, edi
movsx edx, byte [eax]
mov ecx, dword [esi + 0x98]
push edx
call fcn.10053440
mov edx, dword [esp + 0x10]
add edx, eax
mov eax, dword [ebp + 8]
inc edi
mov dword [esp + 0x10], edx
cmp edi, eax
jb 0x10048fe6
cmp edi, ebx
jle 0x100490e5
sub edi, ebx
lea eax, [esp + 0x14]
push edi
push ebx
push eax
mov ecx, ebp
call fcn.10001be6
mov ecx, dword [esp + 0x38]
mov edx, dword [esi + 0xc0]
push eax
mov eax, dword [esp + 0x38]
push ecx
mov cl, byte [esi + 0x87]
push eax
mov eax, dword [esi + 0x78]
mov edi, dword [esi + 0x74]
and eax, edx
shr eax, cl
mov cl, byte [esi + 0x86]
and edi, edx
mov ebx, dword [esi + 0x7c]
mov dword [esp + 0x38], 0
shl eax, cl
mov cl, byte [esi + 0x85]
shr edi, cl
mov cl, byte [esi + 0x84]
shl edi, cl
mov cl, byte [esi + 0x83]
or eax, edi
mov edi, dword [esi + 0x70]
and edi, edx
shr edi, cl
mov cl, byte [esi + 0x82]
shl edi, cl
mov cl, byte [esi + 0x81]
or eax, edi
mov edi, dword [esi + 0x6c]
and edi, edx
shr edi, cl
mov cl, byte [esi + 0x80]
shl edi, cl
mov ecx, dword [esi + 0x98]
or eax, edi
or eax, ebx
push eax
push esi
call fcn.10053470
mov eax, dword [esp + 0x18]
test eax, eax
je 0x100490e5
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x100490dc
cmp al, 0xff
je 0x100490dc
dec al
mov byte [ecx], al
jmp 0x100490e5
push ecx
call fcn.100d0293
add esp, 4
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret 0xc
Function at 0x1004ad51
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100f2adb
push eax
mov dword fs:[0], esp
mov eax, dword [esp + 0x10]
sub esp, 8
push ebx
mov ebx, dword [esp + 0x20]
push esi
mov esi, ecx
push edi
push esi
push ebx
push eax
call fcn.10056f80
mov edi, eax
test edi, edi
jne 0x1004ad77
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 8]
mov dword fs:[0], ecx
add esp, 0x14
ret 8
push 0xcc
call fcn.100ddb25
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x1c], 0
je 0x1004ada0
push ebx
push edi
push esi
mov ecx, eax
call fcn.10047530
jmp 0x1004ada2
xor eax, eax
lea ecx, [esp + 0x28]
lea edx, [esp + 0xc]
push ecx
push edx
lea ecx, [esi + 0x264]
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x30], eax
call fcn.1004c860
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret 8
Function at 0x100824a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x100f5009
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
mov edi, dword [esi + 0x20]
xor ebx, ebx
cmp edi, ebx
mov dword [esp + 0x1c], 2
mov dword [esp + 0x10], edi
je 0x10082516
mov ecx, dword [edi + 0x18]
mov byte [esp + 0x1c], 3
cmp ecx, ebx
je 0x100824e9
push 1
call fcn.10082570
mov ecx, dword [edi + 0x1c]
cmp ecx, ebx
je 0x100824f7
push 1
call fcn.10082570
mov eax, dword [edi + 0x24]
push eax
mov dword [esp + 0x14], eax
call fcn.100d0293
push edi
mov dword [edi + 0x24], ebx
mov dword [edi + 0x28], ebx
mov dword [edi + 0x2c], ebx
call fcn.100d0293
add esp, 8
mov eax, dword [esi + 0x28]
push eax
mov dword [esp + 0x14], eax
call fcn.100d0293
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov eax, dword [esi + 0x14]
push eax
mov dword [esp + 0x18], eax
call fcn.100d0293
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov eax, dword [esi + 4]
push eax
mov dword [esp + 0x1c], eax
call fcn.100d0293
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret
Function at 0x100a0610
Capabilities:
Check for software breakpoints

Disassembly:
push esi
mov esi, dword [esp + 8]
cmp dword [esi + 0x14], 0xca
jne 0x100a0640
push esi
call fcn.100a5bb0
mov al, byte [esi + 0x40]
add esp, 4
test al, al
je 0x100a0639
mov dword [esi + 0x14], 0xcf
mov al, 1
pop esi
ret
mov dword [esi + 0x14], 0xcb
mov eax, dword [esi + 0x14]
cmp eax, 0xcb
jne 0x100a06c3
mov eax, dword [esi + 0x190]
mov cl, byte [eax + 0x10]
test cl, cl
je 0x100a06af
mov eax, dword [esi + 8]
test eax, eax
je 0x100a0664
push esi
call dword [eax]
add esp, 4
mov ecx, dword [esi + 0x190]
push esi
call dword [ecx]
add esp, 4
test eax, eax
je 0x100a06ab
cmp eax, 2
je 0x100a06af
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x100a0657
cmp eax, 3
je 0x100a068a
cmp eax, 1
jne 0x100a0657
mov eax, dword [ecx + 4]
inc eax
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
cmp edx, ecx
jl 0x100a0657
mov edx, dword [esi + 0x11c]
add edx, ecx
mov dword [eax + 8], edx
jmp 0x100a0657
xor al, al
pop esi
ret
mov eax, dword [esi + 0x7c]
push esi
mov dword [esi + 0x84], eax
call fcn.100a06f0
add esp, 4
pop esi
ret
cmp eax, 0xcc
je 0x100a06e3
mov ecx, dword [esi]
push esi
mov dword [ecx + 0x14], 0x14
mov edx, dword [esi]
mov eax, dword [esi + 0x14]
mov dword [edx + 0x18], eax
mov ecx, dword [esi]
call dword [ecx]
add esp, 4
push esi
call fcn.100a06f0
add esp, 4
pop esi
ret

Function at 0x100a06f0
Capabilities:
Check for software breakpoints

Disassembly:
push esi
mov esi, dword [esp + 8]
cmp dword [esi + 0x14], 0xcc
je 0x100a0718
mov eax, dword [esi + 0x180]
push esi
call dword [eax]
add esp, 4
mov dword [esi + 0x78], 0
mov dword [esi + 0x14], 0xcc
mov ecx, dword [esi + 0x180]
mov al, byte [ecx + 8]
test al, al
je 0x100a0743
mov edx, dword [esi]
push esi
mov dword [edx + 0x14], 0x30
mov eax, dword [esi]
call dword [eax]
mov ecx, dword [esi + 0x180]
add esp, 4
mov al, byte [ecx + 8]
test al, al
jne 0x100a0725
mov cl, byte [esi + 0x41]
xor edx, edx
test cl, cl
setne dl
add edx, 0xcd
mov al, 1
mov dword [esi + 0x14], edx
pop esi
ret
Function at 0x100a4640
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x100a464b
xor eax, eax
ret
mov eax, dword [esp + 4]
push ebx
push esi
mov esi, dword [esp + 0x14]
cmp esi, 8
not eax
jb 0x100a474e
push edi
mov edi, esi
shr edi, 3
mov edx, eax
xor ebx, ebx
mov bl, byte [ecx]
and edx, 0xff
xor edx, ebx
mov ebx, eax
shr ebx, 8
mov eax, dword [edx*4 + 0x100f7ee8]
sub esi, 8
xor eax, ebx
inc ecx
mov edx, eax
xor ebx, ebx
mov bl, byte [ecx]
and edx, 0xff
xor edx, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov edx, dword [edx*4 + 0x100f7ee8]
shr eax, 8
xor edx, eax
inc ecx
mov eax, edx
and eax, 0xff
xor eax, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov eax, dword [eax*4 + 0x100f7ee8]
shr edx, 8
xor eax, edx
inc ecx
mov edx, eax
and edx, 0xff
xor edx, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov edx, dword [edx*4 + 0x100f7ee8]
shr eax, 8
xor edx, eax
inc ecx
mov eax, edx
and eax, 0xff
xor eax, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov eax, dword [eax*4 + 0x100f7ee8]
shr edx, 8
xor eax, edx
inc ecx
mov edx, eax
and edx, 0xff
xor edx, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov edx, dword [edx*4 + 0x100f7ee8]
shr eax, 8
xor edx, eax
inc ecx
mov eax, edx
and eax, 0xff
xor eax, ebx
xor ebx, ebx
mov bl, byte [ecx + 1]
mov eax, dword [eax*4 + 0x100f7ee8]
shr edx, 8
xor eax, edx
inc ecx
mov edx, eax
and edx, 0xff
xor edx, ebx
shr eax, 8
mov edx, dword [edx*4 + 0x100f7ee8]
xor eax, edx
inc ecx
dec edi
jne 0x100a4666
pop edi
test esi, esi
je 0x100a4770
mov edx, eax
xor ebx, ebx
mov bl, byte [ecx]
and edx, 0xff
xor edx, ebx
shr eax, 8
mov edx, dword [edx*4 + 0x100f7ee8]
xor eax, edx
inc ecx
dec esi
jne 0x100a4752
pop esi
pop ebx
not eax
ret
Function at 0x100b18d0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
push esi
mov esi, ecx
call fcn.100b4930
mov ecx, esi
call fcn.100b4990
mov al, byte [esi + 8]
test al, al
je 0x100b1920
push str._mInsideAudioThreadMutex
push 0xc4
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud.cpp
lea eax, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push eax
call fcn.100e05e3
add esp, 0x14
lea ecx, [ebp - 0xc8]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
int3
mov ecx, esi
call fcn.100b0640
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100b1934
push esi
call eax
add esp, 4
mov eax, dword [esi + 4]
mov dword [esi + 0xc], 0
test eax, eax
je 0x100b194b
push eax
call fcn.100ce540
add esp, 4
mov dword [esi + 4], 0
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x100b4930
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
push esi
mov esi, ecx
mov eax, dword [esi + 4]
test eax, eax
je 0x100b494c
push eax
call fcn.100ce560
add esp, 4
mov al, byte [esi + 8]
test al, al
je 0x100b4984
push str._mInsideAudioThreadMutex
push 0x8f5
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud.cpp
lea eax, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push eax
call fcn.100e05e3
add esp, 0x14
lea ecx, [ebp - 0xc8]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
int3
mov byte [esi + 8], 1
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x100b4990
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
push esi
mov esi, ecx
mov al, byte [esi + 8]
test al, al
jne 0x100b49d4
push str.mInsideAudioThreadMutex
push 0x8fb
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud.cpp
lea eax, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push eax
call fcn.100e05e3
add esp, 0x14
lea ecx, [ebp - 0xc8]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
int3
mov byte [esi + 8], 0
mov esi, dword [esi + 4]
test esi, esi
je 0x100b49e8
push esi
call fcn.100ce570
add esp, 4
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x100cbf80
Capabilities:
Encode data using xor
Hash data using crc32b

Disassembly:
push esi
push edi
xor esi, esi
mov edx, 0x1011e00c
mov eax, esi
mov ecx, 8
shl eax, 0x18
cmp eax, 0x80000000
sbb edi, edi
add eax, eax
and edi, 0xfb3ee249
add edi, 0x4c11db7
xor eax, edi
dec ecx
jne 0x100cbf93
mov dword [edx], eax
add edx, 4
inc esi
cmp edx, 0x1011e40c
jl 0x100cbf89
pop edi
pop esi
ret
Function at 0x100cd020
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 0x6c]
test eax, eax
jne 0x100cd1be
push edi
call fcn.100c73c0
add esp, 4
cmp al, 0x4f
jne 0x100cd1b3
push edi
call fcn.100cc980
mov ecx, dword [edi + 0x38]
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
lea eax, [ebx - 0x19]
cmp eax, ecx
ja 0x100cd1be
mov esi, 1
push edi
call fcn.100c73c0
mov cl, byte [esi + str.OggS_]
add esp, 4
cmp al, cl
jne 0x100cd082
inc esi
cmp esi, 4
jl 0x100cd069
mov eax, dword [edi + 0x6c]
test eax, eax
jne 0x100cd1be
cmp esi, 4
jne 0x100cd1a9
mov ecx, dword [str.OggS_]
mov dword [esp + 0x14], ecx
push edi
call fcn.100c73c0
add esp, 4
mov byte [esp + esi + 0x14], al
inc esi
cmp esi, 0x1b
jb 0x100cd0a0
mov eax, dword [edi + 0x6c]
test eax, eax
jne 0x100cd1be
mov al, byte [esp + 0x18]
test al, al
jne 0x100cd1a9
mov ebp, dword [esp + 0x2d]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2b]
and ebp, 0xff
mov ecx, dword [esp + 0x2a]
and edx, 0xff
shl ebp, 8
add ebp, edx
and eax, 0xff
shl ebp, 8
add ebp, eax
and ecx, 0xff
shl ebp, 8
xor ebx, ebx
add ebp, ecx
xor esi, esi
mov dword [esp + 0x2a], ebx
xor eax, eax
xor edx, edx
mov ecx, esi
mov dl, byte [esp + eax + 0x14]
shr ecx, 0x18
xor edx, ecx
shl esi, 8
mov edx, dword [edx*4 + 0x1011e00c]
xor esi, edx
inc eax
cmp eax, 0x1b
jb 0x100cd10a
mov eax, dword [esp + 0x2e]
and eax, 0xff
jbe 0x100cd1a1
mov dword [esp + 0x38], eax
push edi
call fcn.100c73c0
and eax, 0xff
mov ecx, esi
mov edx, eax
add ebx, eax
mov eax, dword [esp + 0x3c]
and edx, 0xff
shr ecx, 0x18
xor ecx, edx
add esp, 4
shl esi, 8
mov ecx, dword [ecx*4 + 0x1011e00c]
xor esi, ecx
dec eax
mov dword [esp + 0x38], eax
jne 0x100cd138
test ebx, ebx
je 0x100cd1a1
mov eax, dword [edi + 0x6c]
test eax, eax
jne 0x100cd1be
test ebx, ebx
jbe 0x100cd1a1
push edi
call fcn.100c73c0
mov edx, esi
and eax, 0xff
shr edx, 0x18
xor eax, edx
add esp, 4
shl esi, 8
mov eax, dword [eax*4 + 0x1011e00c]
xor esi, eax
dec ebx
jne 0x100cd17d
cmp esi, ebp
je 0x100cd1c8
mov ebx, dword [esp + 0x10]
push ebx
push edi
call fcn.100ccf70
add esp, 8
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x100cd036
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x100cd1db
push edi
call fcn.100cc980
add esp, 4
mov dword [esi], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100cd1f5
mov ecx, dword [esp + 0x19]
and ecx, 0xff
shr ecx, 2
and ecx, 1
mov dword [eax], ecx
mov edx, dword [esp + 0x10]
dec edx
push edx
push edi
call fcn.100ccf70
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
Function at 0x100cdf00
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
cmp edi, 0x400
jb 0x100cdf49
push str.aVoice___VOICE_COUNT
push 0x21
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud_core_voiceops.cpp
lea eax, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push eax
call fcn.100e05e3
add esp, 0x14
lea ecx, [ebp - 0xc8]
push ecx
call ebx
int3
mov al, byte [esi + 8]
test al, al
jne 0x100cdf7a
push str.mInsideAudioThreadMutex
push 0x22
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud_core_voiceops.cpp
lea edx, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push edx
call fcn.100e05e3
add esp, 0x14
lea eax, [ebp - 0xc8]
push eax
call ebx
int3
fld dword [ebp + 0xc]
fcomp dword [0x100f73b8]
fnstsw ax
test ah, 0x41
je 0x100cdf98
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esi + edi*4 + 0x50]
test eax, eax
je 0x100cdfae
mov ecx, dword [ebp + 0xc]
push edi
mov dword [eax + 0x4c], ecx
mov ecx, esi
call fcn.100ce350
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x100cdfc0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
cmp edi, 0x400
jb 0x100ce009
push str.aVoice___VOICE_COUNT
push 0x33
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud_core_voiceops.cpp
lea eax, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push eax
call fcn.100e05e3
add esp, 0x14
lea ecx, [ebp - 0xc8]
push ecx
call ebx
int3
mov al, byte [esi + 8]
test al, al
jne 0x100ce03a
push str.mInsideAudioThreadMutex
push 0x34
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud_core_voiceops.cpp
lea edx, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push edx
call fcn.100e05e3
add esp, 0x14
lea eax, [ebp - 0xc8]
push eax
call ebx
int3
mov byte [esi + 0x1cdc0], 1
mov eax, dword [esi + edi*4 + 0x50]
test eax, eax
je 0x100ce074
mov dword [eax + 0x124], 0
mov eax, dword [ebp + 0xc]
mov esi, dword [esi + edi*4 + 0x50]
test eax, eax
mov eax, dword [esi + 0x10]
je 0x100ce06f
or al, 4
pop edi
mov dword [esi + 0x10], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
and al, 0xfb
mov dword [esi + 0x10], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x100ce080
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
cmp edi, 0x400
jb 0x100ce0c9
push str.aVoice___VOICE_COUNT
push 0x47
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud_core_voiceops.cpp
lea eax, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push eax
call fcn.100e05e3
add esp, 0x14
lea ecx, [ebp - 0xc8]
push ecx
call ebx
int3
mov al, byte [esi + 8]
test al, al
jne 0x100ce0fa
push str.mInsideAudioThreadMutex
push 0x48
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud_core_voiceops.cpp
lea edx, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push edx
call fcn.100e05e3
add esp, 0x14
lea eax, [ebp - 0xc8]
push eax
call ebx
int3
mov eax, dword [esi + edi*4 + 0x50]
test eax, eax
je 0x100ce1d0
fld dword [ebp + 0xc]
fadd dword [0x100f73d8]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0x14], ecx
mov edx, dword [esi + edi*4 + 0x50]
fmul qword [0x100fa940]
fld st(0)
fcos
fstp dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
fsin
mov dword [edx + 0x18], eax
mov ecx, dword [esi + edi*4 + 0x50]
fst dword [ecx + 0x1c]
mov eax, dword [esi + edi*4 + 0x50]
cmp dword [eax + 0x48], 4
jne 0x100ce14c
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x20], edx
mov eax, dword [esi + edi*4 + 0x50]
fst dword [eax + 0x24]
mov eax, dword [esi + edi*4 + 0x50]
mov ecx, 0x3f800000
cmp dword [eax + 0x48], 6
jne 0x100ce184
fld qword [0x100fa938]
fsqrt
fdivr dword [0x100f73d8]
fstp dword [eax + 0x20]
mov edx, dword [esi + edi*4 + 0x50]
mov dword [edx + 0x24], ecx
mov eax, dword [esi + edi*4 + 0x50]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0x28], edx
mov eax, dword [esi + edi*4 + 0x50]
fst dword [eax + 0x2c]
mov eax, dword [esi + edi*4 + 0x50]
cmp dword [eax + 0x48], 8
jne 0x100ce1ce
fld qword [0x100fa938]
fsqrt
fdivr dword [0x100f73d8]
fstp dword [eax + 0x20]
mov edx, dword [esi + edi*4 + 0x50]
mov dword [edx + 0x24], ecx
mov eax, dword [esi + edi*4 + 0x50]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0x28], ecx
mov edx, dword [esi + edi*4 + 0x50]
fst dword [edx + 0x2c]
mov eax, dword [esi + edi*4 + 0x50]
mov dword [eax + 0x30], ecx
mov edx, dword [esi + edi*4 + 0x50]
pop edi
pop esi
fstp dword [edx + 0x34]
pop ebx
mov esp, ebp
pop ebp
ret 8
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x100ce1e0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
cmp edi, 0x400
jb 0x100ce229
push str.aVoice___VOICE_COUNT
push 0x6a
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud_core_voiceops.cpp
lea eax, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push eax
call fcn.100e05e3
add esp, 0x14
lea ecx, [ebp - 0xc8]
push ecx
call ebx
int3
mov al, byte [esi + 8]
test al, al
jne 0x100ce25a
push str.mInsideAudioThreadMutex
push 0x6b
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud_core_voiceops.cpp
lea edx, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push edx
call fcn.100e05e3
add esp, 0x14
lea eax, [ebp - 0xc8]
push eax
call ebx
int3
mov byte [esi + 0x1cdc0], 1
mov eax, dword [esi + edi*4 + 0x50]
test eax, eax
je 0x100ce277
mov ecx, dword [ebp + 0xc]
push edi
mov dword [eax + 0x38], ecx
mov ecx, esi
call fcn.100ce400
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x100ce280
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
cmp edi, 0x400
jb 0x100ce2c9
push str.aVoice___VOICE_COUNT
push 0x76
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud_core_voiceops.cpp
lea eax, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push eax
call fcn.100e05e3
add esp, 0x14
lea ecx, [ebp - 0xc8]
push ecx
call ebx
int3
mov al, byte [esi + 8]
test al, al
jne 0x100ce2fa
push str.mInsideAudioThreadMutex
push 0x77
push str.C:Blitz3D_winmm_V1.108b_soloud_srccore_soloud_core_voiceops.cpp
lea edx, [ebp - 0xc8]
push str._s__d_:_assert__s__failed._n
push edx
call fcn.100e05e3
add esp, 0x14
lea eax, [ebp - 0xc8]
push eax
call ebx
int3
mov byte [esi + 0x1cdc0], 1
mov ecx, dword [esi + edi*4 + 0x50]
test ecx, ecx
je 0x100ce33f
mov dword [esi + edi*4 + 0x50], 0
mov eax, dword [esi + 0x18]
xor edx, edx
test eax, eax
jbe 0x100ce335
mov eax, dword [esi + 0x4c]
mov edi, dword [eax + edx*4]
lea eax, [eax + edx*4]
cmp edi, ecx
jne 0x100ce32d
mov dword [eax], 0
mov eax, dword [esi + 0x18]
inc edx
cmp edx, eax
jb 0x100ce31a
test ecx, ecx
je 0x100ce33f
mov edx, dword [ecx]
push 1
call dword [edx]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4