joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1008d7a5
Capabilities:
Check mutex on windows
Create thread
Resume thread

Disassembly:
push 4
mov eax, 0x10186618
call fcn.10145d80
mov eax, dword [0x101f3028]
xor esi, esi
mov dword [ebp - 0x10], eax
push dword [ebp + 8]
lea eax, [ebp - 0x10]
push str.9D6E3A97_034B_4974_9598_F4A71E13B2A2
push 0x101a9de8
push eax
mov dword [ebp - 4], esi
call fcn.10004662
add esp, 0x10
push dword [ebp - 0x10]
mov ecx, 0x101f8c68
push esi
call fcn.10016a0b
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov ebx, eax
cmp ebx, esi
je 0x1008d852
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1008d84b
push 8
call fcn.10146645
pop ecx
mov ecx, eax
cmp ecx, esi
je 0x1008d84b
push esi
push 4
xor eax, eax
mov edi, ecx
stosd dword es:[edi], eax
push ecx
stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
push 0x1008d5f0
push esi
push esi
mov dword [ecx + 4], ebx
mov dword [ecx], eax
call fcn.10147cdf
mov edi, eax
add esp, 0x18
cmp edi, esi
je 0x1008d84b
push 0x4000
push edi
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push edi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
inc esi
push edi
jmp 0x1008d84c
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x10]
call fcn.10003b75
mov eax, esi
call fcn.10145e58
ret

Function at 0x1008d862
Capabilities:
Delete registry key

Disassembly:
push 0x18
mov eax, 0x10186643
call fcn.10145d80
xor ebx, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
lea eax, [ebp - 0x24]
push eax
push dword [0x101f913c]
mov esi, SysReAllocString
push esi
mov dword [ebp - 4], ebx
call fcn.101207c1
add esp, 0xc
xor edi, edi
cmp dword [ebp - 0x20], ebx
jle 0x1008d907
push edi
lea ecx, [ebp - 0x24]
call fcn.10024269
push ebx
push 0x101aa004
mov ecx, eax
call fcn.10003b43
test eax, eax
jne 0x1008d901
push 0x1019fce4
push 0x101f913c
lea eax, [ebp - 0x18]
push eax
call fcn.10007b6e
mov dword [ebp - 0x10], eax
push edi
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 1
call fcn.10024269
push eax
push dword [ebp - 0x10]
lea eax, [ebp - 0x14]
push eax
call fcn.100100f8
push dword [eax]
push esi
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
lea ecx, [ebp - 0x14]
call fcn.10003b75
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], bl
call fcn.10003b75
inc edi
cmp edi, dword [ebp - 0x20]
jl 0x1008d89b
lea ecx, [ebp - 0x24]
call fcn.10024521
call fcn.10145e58
ret
Function at 0x1009148d
Capabilities:
Check if file exists
Read file on windows

Disassembly:
push 0x30
mov eax, 0x10186d52
call fcn.10145d80
mov esi, ecx
mov eax, dword [esi + 0x14]
xor ebx, ebx
cmp dword [eax - 8], ebx
jne 0x100914aa
call fcn.100911e0
mov eax, dword [esi + 0x14]
cmp dword [eax - 8], ebx
je 0x100915a6
mov ecx, dword [ebp + 8]
call fcn.100116a5
mov edi, dword [esi + 0x14]
push str.defaultskin
push edi
call fcn.10005373
test eax, eax
pop ecx
pop ecx
jne 0x100914e7
mov ecx, dword [ebp + 8]
push str.0000.bps
call fcn.1000425b
xor eax, eax
inc eax
jmp 0x100915a8
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x100915a6
mov eax, dword [esi + 0x14]
lea ecx, [ebp - 0x3c]
push ecx
push eax
call fcn.10148cc9
test eax, eax
pop ecx
pop ecx
jne 0x100915a6
mov esi, dword [esi + 0x14]
push 0x101a04a8
lea eax, [ebp - 0x10]
push esi
push eax
mov dword [ebp - 0x10], ebx
call fcn.10147b95
add esp, 0xc
test eax, eax
jne 0x100915a6
cmp dword [ebp - 0x10], ebx
je 0x100915a6
push dword [ebp - 0x28]
call fcn.10144fc2
mov esi, eax
cmp esi, ebx
pop ecx
je 0x1009154e
push dword [ebp - 0x10]
push 1
push dword [ebp - 0x28]
push esi
call fcn.10147aa1
add esp, 0x10
push dword [ebp - 0x10]
call fcn.101475da
cmp esi, ebx
pop ecx
je 0x100915a6
push dword [ebp - 0x28]
lea eax, [ebp - 0x18]
push esi
push eax
call fcn.1009eb81
add esp, 0xc
push str..bps
push eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], ebx
call fcn.10007b6e
mov ecx, dword [ebp + 8]
push eax
mov byte [ebp - 4], 1
call fcn.10007845
lea ecx, [ebp - 0x14]
call fcn.10003b75
lea ecx, [ebp - 0x18]
call fcn.10003b75
push esi
call fcn.10145563
pop ecx
jmp 0x100914df
xor eax, eax
call fcn.10145e58
ret 4
Function at 0x10092459
Capabilities:
Persist via run registry key
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x38c]
sub esp, 0x40c
mov eax, dword [0x101f6410]
xor eax, ebp
mov dword [ebp + 0x388], eax
push edi
mov eax, 0x3ff
push eax
xor edi, edi
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x77]
push edi
push eax
mov dword [ebp - 0x80], 1
mov byte [ebp - 0x78], 0
call fcn.10146c80
add esp, 0xc
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x80]
push eax
push str.BaidubarXUpdate
push str.SoftwareMicrosoftWindowsCurrentVersionRunOnce
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x100924c8
cmp dword [ebp - 0x7c], edi
jbe 0x100924c8
cmp byte [ebp - 0x78], al
je 0x100924c8
inc edi
mov ecx, dword [ebp + 0x388]
mov eax, edi
xor ecx, ebp
pop edi
call fcn.10145d71
add ebp, 0x38c
leave
ret
Function at 0x10093b4d
Capabilities:
Get common file path

Disassembly:
push 0x1c
mov eax, 0x101873ac
call fcn.10145d80
mov eax, dword [0x101f3028]
mov dword [ebp - 0x10], eax
and dword [ebp - 4], 0
push 1
push 0x17
push 0x104
lea ecx, [ebp - 0x10]
call fcn.1000401e
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
call fcn.100041f7
mov eax, dword [0x101f3028]
mov dword [ebp - 0x20], eax
push 0x6b
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.100045b9
mov eax, dword [0x101f3028]
mov dword [ebp - 0x1c], eax
mov esi, 0x1019fce4
push esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 2
call fcn.10007b6e
lea ecx, [ebp - 0x20]
push ecx
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 3
call fcn.100100f8
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.10007845
lea ecx, [ebp - 0x18]
call fcn.10003b75
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.10003b75
mov eax, dword [ebp - 0x20]
cmp dword [eax - 8], 0
je 0x10093c13
push dword [ebp - 0x1c]
call fcn.1011c944
test eax, eax
pop ecx
je 0x10093c13
push 3
push dword [ebp - 0x1c]
call fcn.1011ecbe
pop ecx
pop ecx
mov eax, dword [0x101f3028]
mov dword [ebp - 0x18], eax
push 0x6c
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.100045b9
mov eax, dword [0x101f3028]
mov dword [ebp - 0x14], eax
push esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 6
call fcn.10007b6e
lea ecx, [ebp - 0x18]
push ecx
push eax
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 7
call fcn.100100f8
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 8
call fcn.10007845
lea ecx, [ebp - 0x24]
call fcn.10003b75
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.10003b75
mov eax, dword [ebp - 0x18]
cmp dword [eax - 8], 0
je 0x10093c98
push dword [ebp - 0x14]
call fcn.1011c944
test eax, eax
pop ecx
je 0x10093c98
push 3
push dword [ebp - 0x14]
call fcn.1011ecbe
pop ecx
pop ecx
lea ecx, [ebp - 0x14]
call fcn.10003b75
lea ecx, [ebp - 0x18]
call fcn.10003b75
lea ecx, [ebp - 0x1c]
call fcn.10003b75
lea ecx, [ebp - 0x20]
call fcn.10003b75
lea ecx, [ebp - 0x10]
call fcn.10003b75
call fcn.10145e58
ret
Function at 0x1009421a
Capabilities:
Copy file

Disassembly:
push 0x18
mov eax, 0x1018750a
call fcn.10145d80
xor edi, edi
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x20]
push eax
call fcn.1011e282
pop ecx
mov esi, str.BaiduBarX.dll
push esi
push eax
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 4], edi
call fcn.10007b6e
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.10003b75
lea eax, [ebp - 0x24]
push eax
call fcn.1011f42c
pop ecx
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 3
call fcn.10007b6e
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.10003b75
call fcn.1009261a
test eax, eax
jne 0x10094297
push edi
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x100942cc
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x14]
mov dword [ebp - 0x18], edi
call fcn.1011ccdb
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x10]
mov dword [ebp - 0x1c], edi
call fcn.1011ccdb
mov eax, dword [ebp - 0x18]
add esp, 0x10
cmp eax, dword [ebp - 0x1c]
jb 0x100942cc
push 1
push dword [ebp - 0x10]
call fcn.101193b1
pop ecx
pop ecx
call fcn.10092865
push 3
call fcn.100925b7
pop ecx
push 1
mov ecx, 0x101f84e8
call fcn.100519ef
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x14]
call fcn.10003b75
lea ecx, [ebp - 0x10]
call fcn.10003b75
call fcn.10145e58
ret
Function at 0x10095bb2
Capabilities:
Create process on windows

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x101f6410]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0x44
mov eax, 0x101877a1
call fcn.10145d80
mov edi, dword [ebp + 0x80c]
lea eax, [ebp - 0x14]
push eax
xor esi, esi
call fcn.1011e282
mov dword [esp], str.BarBroker.exe
push eax
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 4], esi
call fcn.10007b6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.10003b75
push dword [ebp - 0x10]
call fcn.1011c944
test eax, eax
pop ecx
je 0x10095cb6
push 0x7fe
lea eax, [ebp + 2]
push esi
push eax
mov word [ebp], si
call fcn.10146c80
push edi
push str.runasAdmin
push str.__s___s
push 0xffffffffffffffff
lea eax, [ebp]
push 0x400
push eax
call fcn.1014612c
add esp, 0x24
call fcn.1011be65
test eax, eax
je 0x10095c6e
push 1
push esi
lea eax, [ebp]
push eax
push dword [ebp - 0x10]
push esi
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov esi, eax
neg esi
sbb esi, esi
neg esi
jmp 0x10095cb6
push 0x38
lea eax, [ebp - 0x4c]
push esi
push eax
call fcn.10146c80
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], eax
lea eax, [ebp]
mov dword [ebp - 0x3c], eax
add esp, 0xc
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x50], 0x3c
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], str.runas
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], esi
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov esi, eax
lea ecx, [ebp - 0x10]
call fcn.10003b75
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x800]
xor ecx, ebp
call fcn.10145d71
add ebp, 0x804
leave
ret
Function at 0x10095ce3
Capabilities:
Create process on windows

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x101f6410]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0x44
mov eax, 0x101877d1
call fcn.10145d80
mov eax, dword [ebp + 0x80c]
mov edi, dword [ebp + 0x810]
xor esi, esi
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x14], esi
call fcn.10007b11
mov ebx, dword [ebp - 0x10]
push ebx
mov dword [ebp - 4], esi
call fcn.1011c944
test eax, eax
pop ecx
je 0x10095dba
push 0x7fe
lea eax, [ebp + 2]
push esi
push eax
mov word [ebp], si
call fcn.10146c80
push edi
push 0x101a32c4
push 0xffffffffffffffff
lea eax, [ebp]
push 0x400
push eax
call fcn.1014612c
push 0x38
lea eax, [ebp - 0x4c]
push esi
push eax
call fcn.10146c80
lea eax, [ebp]
add esp, 0x2c
mov dword [ebp - 0x50], 0x3c
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], esi
call fcn.1011be65
test eax, eax
jne 0x10095da9
cmp dword [ebp + 0x814], esi
je 0x10095da9
mov dword [ebp - 0x44], str.runas
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
mov esi, dword [ebp - 0x18]
jne 0x10095dbd
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x10]
call fcn.10003b75
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x800]
xor ecx, ebp
call fcn.10145d71
add ebp, 0x804
leave
ret
Function at 0x10095dea
Capabilities:
Create process on windows

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x101f6410]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0x44
mov eax, 0x10187809
call fcn.10145d80
mov edi, dword [ebp + 0x80c]
lea eax, [ebp - 0x14]
push eax
xor esi, esi
call fcn.1011e282
mov dword [esp], str.BarBroker.exe
push eax
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 4], esi
call fcn.10007b6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.10003b75
push dword [ebp - 0x10]
call fcn.1011c944
test eax, eax
pop ecx
je 0x10095ee9
push 0x7fe
lea eax, [ebp + 2]
push esi
push eax
mov word [ebp], si
call fcn.10146c80
push edi
push 0x101ab5c8
push 0xffffffffffffffff
lea eax, [ebp]
push 0x400
push eax
call fcn.1014612c
add esp, 0x20
call fcn.1011be65
test eax, eax
je 0x10095ea1
push 1
push esi
lea eax, [ebp]
push eax
push dword [ebp - 0x10]
push esi
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov esi, eax
neg esi
sbb esi, esi
neg esi
jmp 0x10095ee9
push 0x38
lea eax, [ebp - 0x4c]
push esi
push eax
call fcn.10146c80
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], eax
lea eax, [ebp]
mov dword [ebp - 0x3c], eax
add esp, 0xc
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x50], 0x3c
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], str.runas
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], esi
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov esi, eax
lea ecx, [ebp - 0x10]
call fcn.10003b75
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x800]
xor ecx, ebp
call fcn.10145d71
add ebp, 0x804
leave
ret

Function at 0x10095f16
Capabilities:
Create process on windows

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x101f6410]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 8
mov eax, 0x10187841
call fcn.10145d80
mov edi, dword [ebp + 0x80c]
lea eax, [ebp - 0x14]
push eax
xor esi, esi
call fcn.1011e282
mov dword [esp], str.BarBroker.exe
push eax
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 4], esi
call fcn.10007b6e
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.10003b75
push dword [ebp - 0x10]
call fcn.1011c944
test eax, eax
pop ecx
je 0x10095fc3
push 0x7fe
lea eax, [ebp + 2]
push esi
push eax
mov word [ebp], si
call fcn.10146c80
push edi
push str.runasUser
push str.__s___s
push 0xffffffffffffffff
lea eax, [ebp]
push 0x400
push eax
call fcn.1014612c
add esp, 0x24
push 1
push esi
lea eax, [ebp]
push eax
push dword [ebp - 0x10]
push esi
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov esi, eax
neg esi
sbb esi, esi
neg esi
lea ecx, [ebp - 0x10]
call fcn.10003b75
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x800]
xor ecx, ebp
call fcn.10145d71
add ebp, 0x804
leave
ret
Function at 0x10095ff0
Capabilities:
Create process on windows

Disassembly:
push ebp
sub esp, 0x800
lea ebp, [esp - 4]
mov eax, dword [0x101f6410]
xor eax, ebp
mov dword [ebp + 0x800], eax
push 0x4c
mov eax, 0x10187879
call fcn.10145d80
mov eax, dword [ebp + 0x814]
mov edi, dword [ebp + 0x80c]
mov esi, dword [ebp + 0x810]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
xor ebx, ebx
push eax
mov dword [ebp - 0x10], ebx
call fcn.1011e282
mov dword [esp], str.BarBroker.exe
push eax
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], ebx
call fcn.10007b6e
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call fcn.10003b75
push dword [ebp - 0x14]
call fcn.1011c944
test eax, eax
pop ecx
je 0x10096139
push 0x38
lea eax, [ebp - 0x54]
push ebx
push eax
call fcn.10146c80
mov eax, dword [ebp - 0x14]
push 0x7fe
mov dword [ebp - 0x48], eax
lea eax, [ebp + 2]
push ebx
push eax
mov dword [ebp - 0x58], 0x3c
mov dword [ebp - 0x54], 0x440
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x4c], 0x101a7894
mov word [ebp], bx
call fcn.10146c80
add esp, 0x18
cmp esi, ebx
lea eax, [ebp]
je 0x100960d1
push esi
push edi
push str.runasUserGetResult
push str.__s___s___s
push 0xffffffffffffffff
push 0x400
push eax
call fcn.1014612c
add esp, 0x1c
jmp 0x100960ec
push edi
push str.runasUserGetResult
push str.__s___s
push 0xffffffffffffffff
push 0x400
push eax
call fcn.1014612c
add esp, 0x18
lea eax, [ebp]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x10096139
cmp dword [ebp - 0x20], ebx
je 0x10096139
cmp dword [ebp - 0x18], ebx
je 0x10096129
push 0xffffffffffffffff
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10096130
push dword [ebp - 0x18]
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x10096130
mov dword [ebp - 0x10], 1
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x14]
call fcn.10003b75
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x800]
xor ecx, ebp
call fcn.10145d71
add ebp, 0x804
leave
ret

Function at 0x10096224
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov esi, ecx
xor edi, edi
cmp dword [esi + 8], edi
jne 0x10096237
xor eax, eax
jmp 0x1009629a
push str.79CECFC0_F0F3_4244_B57C_EB44457A21C1
push edi
lea ecx, [esi + 0xc]
call fcn.10016a0b
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
cmp eax, edi
mov dword [ebp - 4], eax
je 0x10096298
push edi
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1009628f
cmp dword [ebp + 0xc], edi
mov eax, dword [esi + 8]
je 0x10096272
mov dword [eax + 0x80c], edi
xor edi, edi
inc edi
jmp 0x10096286
mov ecx, dword [ebp + 8]
mov dword [eax + 0x808], ecx
xor ecx, ecx
inc ecx
mov dword [eax + 0x80c], ecx
mov edi, ecx
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
pop edi
pop esi
leave
ret 8
Function at 0x100962a0
Capabilities:
Check mutex on windows

Disassembly:
push ebx
push esi
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 8], ebx
jne 0x100962af
xor eax, eax
jmp 0x10096302
push edi
push str.79CECFC0_F0F3_4244_B57C_EB44457A21C1
push ebx
lea ecx, [esi + 0xc]
call fcn.10016a0b
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edi, eax
cmp edi, ebx
je 0x100962ff
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x100962f8
mov esi, dword [esi + 8]
cmp dword [esi + 0x80c], ebx
je 0x100962f1
mov eax, dword [esi + 0x808]
mov ecx, dword [esp + 0x10]
xor ebx, ebx
mov dword [ecx], eax
inc ebx
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
pop edi
pop esi
pop ebx
ret 4

Function at 0x10096307
Capabilities:
Check mutex on windows

Disassembly:
push ebx
push esi
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 8], ebx
jne 0x10096316
xor eax, eax
jmp 0x1009635f
push edi
push str.9C24C2B9_61F5_44d5_BB8C_E6032EA05133
push ebx
lea ecx, [esi + 0xc]
call fcn.10016a0b
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edi, eax
cmp edi, ebx
je 0x1009635c
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10096355
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x10]
xor ebx, ebx
push edi
mov dword [eax + 0x810], ecx
inc ebx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
pop edi
pop esi
pop ebx
ret 4

Function at 0x10096364
Capabilities:
Check mutex on windows

Disassembly:
push ebx
push esi
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 8], ebx
jne 0x10096373
xor eax, eax
jmp 0x100963be
push edi
push str.9C24C2B9_61F5_44d5_BB8C_E6032EA05133
push ebx
lea ecx, [esi + 0xc]
call fcn.10016a0b
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edi, eax
cmp edi, ebx
je 0x100963bb
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x100963b4
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x810]
mov ecx, dword [esp + 0x10]
xor ebx, ebx
push edi
mov dword [ecx], eax
inc ebx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
pop edi
pop esi
pop ebx
ret 4
Function at 0x100963c3
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
and dword [ebp - 8], 0
push esi
mov esi, ecx
cmp dword [esi + 8], 0
jne 0x100963d9
xor eax, eax
jmp 0x10096452
push str.55E0EDFC_C641_42f6_8FB4_879D6B792559
push 0
lea ecx, [esi + 0xc]
call fcn.10016a0b
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
test eax, eax
mov dword [ebp - 4], eax
je 0x1009644f
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x10096446
mov esi, dword [esi + 8]
lea eax, [esi + 0x814]
test eax, eax
je 0x1009643d
push edi
mov edi, dword [ebp + 8]
xor ecx, ecx
mov edx, dword [eax]
cmp edi, edx
je 0x10096435
test edx, edx
je 0x1009642e
inc ecx
add eax, 4
cmp ecx, 0x3e8
jl 0x10096416
jmp 0x1009643c
mov dword [esi + ecx*4 + 0x814], edi
mov dword [ebp - 8], 1
pop edi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
pop esi
leave
ret 4

Function at 0x10096457
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
xor ebx, ebx
mov esi, ecx
cmp dword [esi + 8], ebx
mov dword [ebp - 8], ebx
jne 0x10096471
xor eax, eax
jmp 0x100964f8
push str.55E0EDFC_C641_42f6_8FB4_879D6B792559
push ebx
lea ecx, [esi + 0xc]
call fcn.10016a0b
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x100964f5
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x100964ec
mov esi, dword [esi + 8]
lea eax, [esi + 0x814]
cmp eax, ebx
je 0x100964e3
push edi
xor ecx, ecx
mov edi, 0x3e8
mov edx, dword [eax]
cmp dword [ebp + 8], edx
je 0x100964c3
cmp edx, ebx
je 0x100964e2
inc ecx
add eax, 4
cmp ecx, edi
jl 0x100964ae
jmp 0x100964e2
mov dword [ebp - 8], 1
lea eax, [esi + ecx*4 + 0x814]
mov edx, dword [eax + 4]
mov dword [eax], edx
add eax, 4
inc ecx
cmp dword [eax], ebx
je 0x100964e2
cmp ecx, edi
jl 0x100964d1
pop edi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
pop esi
pop ebx
leave
ret 4