joyce8/EMBER2024-capa huggingface dataset:
Function at 0x11159d90
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x111e8141
mov eax, dword fs:[0]
push eax
sub esp, 0x67c
mov eax, dword [0x11279148]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x1127ad00], 0
mov esi, dword [ecx + 0x24]
jne 0x11159fb2
push 1
call fcn.11150560
test al, al
je 0x11159fb2
mov ecx, dword [esi + 0x604]
push 0x10
call fcn.1114b690
mov ecx, dword [esi + 0x608]
test ecx, ecx
je 0x11159dfb
push 0x10
call fcn.1114b690
mov eax, dword [esi + 0x604]
mov ecx, dword [eax + 0x28]
mov ecx, dword [ecx + 0x3c]
test ecx, ecx
je 0x11159e16
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
mov ebx, eax
jmp 0x11159e18
xor ebx, ebx
call fcn.111babb0
test al, al
je 0x11159e28
mov esi, 1
jmp 0x11159e36
movzx esi, byte [0x1127ad8d]
neg esi
sbb esi, esi
and esi, 2
push esi
push ebx
push str.Hooking_early_for_blank__hBlank1_x__hBlank2_x_n
call fcn.111bd7b0
push 0x44
lea ecx, [ebp - 0x688]
push 0
push ecx
call sub.MSVCR100.dll_memset
xor edx, edx
push 1
push str.winst64.exe
mov dword [ebp - 0x688], 0x44
mov dword [ebp - 0x65c], 1
mov word [ebp - 0x658], dx
call fcn.111bb700
mov dword [ebp - 0x62c], eax
push 1
push str.winst32.exe
mov dword [ebp - 4], 0
call fcn.111bb700
mov edi, eax
mov dword [ebp - 0x634], edi
push 1
push str.winstall.exe
mov byte [ebp - 4], 1
call fcn.111bb700
add esp, 0x30
mov dword [ebp - 0x630], eax
cmp byte [0x1127ad15], 0
mov byte [ebp - 4], 2
je 0x11159eca
mov edi, dword [ebp - 0x62c]
jmp 0x11159edf
push 0
push edi
call fcn.111be4e0
add esp, 8
test eax, eax
jne 0x11159edf
mov edi, dword [ebp - 0x630]
lea edx, [ebp - 0x218]
mov eax, edi
sub edx, edi
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x11159ef0
lea eax, [ebp - 0x218]
push 0x5c
push eax
call dword [sym.imp.MSVCR100.dll_wcsrchr]
push esi
push ebx
push edi
lea edx, [ebp - 0x628]
xor ecx, ecx
push str.__s___Q__Q__EB_x__x
push edx
mov word [eax], cx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
lea eax, [ebp - 0x644]
push eax
lea ecx, [ebp - 0x688]
push ecx
lea edx, [ebp - 0x218]
push edx
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x628]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x11159f77
mov ecx, dword [ebp - 0x640]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
call esi
mov edx, dword [ebp - 0x644]
push edx
call esi
jmp 0x11159f8b
lea eax, [ebp - 0x628]
push eax
push str.failed_to_exec__s_n
call fcn.111bd7b0
add esp, 8
mov ecx, dword [ebp - 0x630]
push ecx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
mov edx, dword [ebp - 0x634]
push edx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x62c]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret
Function at 0x1115c350
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ecx + 0x24]
push esi
push 0
push 2
push 6
call fcn.111bb9f0
add esp, 0xc
test eax, eax
je 0x1115c3cc
cmp dword [ebx + 0x8c], 0
mov esi, dword [ebp + 8]
je 0x1115c388
cmp dword [ebx + 0xf0], 0
jl 0x1115c388
push esi
call fcn.110b30b0
add esp, 4
cmp dword [esi], 0x68
jne 0x1115c4ff
test dword [esi + 4], 0x100
jne 0x1115c3b6
cmp dword [0x1127ab14], 0
jne 0x1115c3b6
xor eax, eax
push eax
mov ecx, ebx
call fcn.11154b00
add esp, 4
pop esi
pop ebx
pop ebp
ret 0xc
mov eax, 1
push eax
mov ecx, ebx
call fcn.11154b00
add esp, 4
pop esi
pop ebx
pop ebp
ret 0xc
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi]
sub eax, 0x67
je 0x1115c473
dec eax
je 0x1115c41c
dec eax
jne 0x1115c4c5
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x1115c3fd
lea edi, [ebx + 0x4a2]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 8]
cmp dword [ebx + 0x454], 0
je 0x1115c4c5
lea edx, [ebx + 0x4a2]
mov eax, ebx
call fcn.1114a4d0
jmp 0x1115c4c5
mov eax, dword [edi + 4]
mov ecx, 7
mov word [ebx + 0x458], cx
mov word [ebx + 0x45a], ax
test eax, 0x100
jne 0x1115c446
cmp dword [0x1127ab14], 0
jne 0x1115c446
xor eax, eax
jmp 0x1115c44b
mov eax, 1
push eax
mov ecx, ebx
call fcn.11154b00
add esp, 4
cmp dword [ebx + 0x454], 0
je 0x1115c4c5
lea edx, [ebx + 0x458]
mov eax, ebx
call fcn.1114a4d0
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
cmp dword [ebx + 0x454], 0
mov eax, 0x32
mov word [ebx + 0x47d], ax
movzx ecx, word [edi + 4]
lea edx, [ebx + 0x47d]
mov word [ebx + 0x47f], cx
movzx eax, word [edi + 8]
mov word [ebx + 0x481], ax
movzx ecx, word [edi + 0xc]
mov word [ebx + 0x483], cx
movzx eax, word [edi + 0x10]
mov word [ebx + 0x485], ax
movzx ecx, word [edi + 0x18]
mov word [ebx + 0x487], cx
jne 0x1115c465
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x1115c4fe
cmp dword [ebx + 0x9c], 0
je 0x1115c4fe
mov ecx, dword [ebp + 0xc]
push 0
lea edx, [ebp + 8]
push edx
push ecx
push edi
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1115c4fe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0x9c], 0
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
Function at 0x1115d200
Capabilities:
Create thread
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push str.USER32
mov dword [ebp - 4], 0xffffff9d
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x1115d368
push esi
push str.ChangeDisplaySettingsExW
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
jne 0x1115d24d
push ebx
mov dword [ebp - 4], 0xffffff9e
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 4]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x1c], 0
mov eax, str.LoadMirrorInNewThread
jne 0x1115d25d
mov eax, str.UnloadMirrorInNewThread
mov ecx, dword [0x1127aa68]
push edi
push 0
push 0xffffffffffffffff
push eax
push str.Client
call fcn.110bbc00
test eax, eax
jg 0x1115d2bb
jns 0x1115d291
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x11
call edi
test ax, ax
jns 0x1115d291
push 0x10
call edi
test ax, ax
js 0x1115d2bb
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
call esi
push ebx
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x1c], 0
mov eax, str.cdsLoad
jne 0x1115d2cb
mov eax, str.cdsUnload
push eax
call fcn.11123360
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
add esp, 4
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 8]
push ecx
push 0
mov dword [ebp - 0x10], edx
lea edx, [ebp - 0x20]
push edx
push 0x1114bb40
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x18]
push 0x1000
push 0
mov dword [ebp - 4], 0xffffff9f
mov dword [ebp - 0x20], esi
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
push 0x3a98
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1115d34d
push str.ChangeDisplaySettingsEx___timed_out_n
call fcn.111bd7b0
mov eax, dword [0x1127b21c]
push 0
push 0xc0003396
push 1
push eax
call fcn.1115a050
add esp, 0x14
jmp 0x1115d358
lea ecx, [ebp - 4]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
pop esi
mov eax, dword [ebp - 4]
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1115fef0
Capabilities:
Check for time delay via gettickcount
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
call esi
push 0x1127ef5c
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call esi
mov edi, eax
sub eax, ebx
cmp eax, 0x64
jb 0x1115ff25
push eax
push str.Warning._took__d_ms_to_get_simap_lock_n
call fcn.111bd7b0
add esp, 8
mov ecx, dword [0x1127f1dc]
mov eax, dword [ecx]
cmp eax, ecx
je 0x1115ff9c
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x1115ff9c
cmp dword [ebx + 0x30], 0
je 0x1115ff9c
call esi
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
sub eax, edi
cmp eax, 0x64
jb 0x1115ff64
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
lea esi, [ebx + 0x38]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 0x30]
push 0
lea eax, [ebp - 4]
push eax
push edi
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [ebp - 4], edi
push esi
sete bl
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret
call esi
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
sub eax, edi
cmp eax, 0x64
jb 0x1115ffc2
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x1115ffd0
Capabilities:
Check for time delay via gettickcount

Disassembly:
cmp dword [0x1127ad00], 0
jne 0x1115ffe6
cmp dword [0x1127acfc], 0
je 0x111600ae
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call edi
mov ebx, eax
sub eax, esi
cmp eax, 0x64
jb 0x11160017
push eax
push str.Warning._took__d_ms_to_get_simap_lock_n
call fcn.111bd7b0
add esp, 8
mov eax, dword [0x1127f1dc]
mov ecx, dword [eax]
mov edx, 1
cmp ecx, eax
je 0x1116007f
jmp 0x11160030
mov eax, dword [ecx + 0x10]
mov dword [eax + 4], edx
cmp byte [ecx + 0x15], 0
jne 0x11160077
mov eax, dword [ecx + 8]
cmp byte [eax + 0x15], 0
jne 0x1116005c
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
jne 0x11160077
nop
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
je 0x11160050
jmp 0x11160077
mov eax, dword [ecx + 4]
cmp byte [eax + 0x15], 0
jne 0x11160075
cmp ecx, dword [eax + 8]
jne 0x11160075
mov ecx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x11160065
mov ecx, eax
cmp ecx, dword [0x1127f1dc]
jne 0x11160030
mov byte [0x1127ad16], dl
call edi
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
pop edi
sub eax, ebx
pop esi
pop ebx
cmp eax, 0x64
jb 0x111600ae
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
ret
Function at 0x111600b0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x111e8568
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x11279148]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x14]
mov ebx, dword [eax + 0x18]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
push 0x1127ef5c
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], 0x1127ef5c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14], eax
sub eax, esi
cmp eax, 0x64
jb 0x1116011c
push eax
push str.Warning._took__d_ms_to_get_simap_lock_n
call fcn.111bd7b0
add esp, 8
mov ecx, dword [0x1127f1dc]
mov esi, dword [ecx]
mov dword [ebp - 4], 0
cmp esi, ecx
je 0x1116019b
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x60]
test eax, eax
je 0x11160155
mov ecx, dword [0x1127ab0c]
push 0
push 0
push 0xffffffffffffffff
push ebx
push edi
push eax
push 0
call fcn.110c64c0
mov ecx, dword [0x1127f1dc]
cmp byte [esi + 0x15], 0
jne 0x11160197
mov eax, dword [esi + 8]
cmp byte [eax + 0x15], 0
jne 0x1116017c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
jne 0x11160197
mov edi, edi
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
je 0x11160170
jmp 0x11160197
mov eax, dword [esi + 4]
cmp byte [eax + 0x15], 0
jne 0x11160195
cmp esi, dword [eax + 8]
jne 0x11160195
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x11160185
mov esi, eax
cmp esi, ecx
jne 0x1116012f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
sub eax, dword [ebp - 0x14]
cmp eax, 0x64
jb 0x111601c6
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x111604c0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push edi
mov dword [ebp - 4], 0
call ebx
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call ebx
mov edi, eax
sub eax, esi
mov dword [ebp - 0xc], edi
cmp eax, 0x64
jb 0x11160501
push eax
push str.Warning._took__d_ms_to_get_simap_lock_n
call fcn.111bd7b0
add esp, 8
mov eax, dword [0x1127f1dc]
mov esi, dword [eax]
cmp esi, eax
je 0x11160572
lea esp, [esp]
mov edi, dword [esi + 0x10]
mov ecx, edi
call fcn.1114d080
test eax, eax
je 0x11160527
cmp dword [edi + 0x60], 0
je 0x11160527
inc dword [ebp - 4]
cmp byte [esi + 0x15], 0
jne 0x11160567
mov eax, dword [esi + 8]
cmp byte [eax + 0x15], 0
jne 0x1116054c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
jne 0x11160567
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
je 0x11160540
jmp 0x11160567
mov eax, dword [esi + 4]
cmp byte [eax + 0x15], 0
jne 0x11160565
cmp esi, dword [eax + 8]
jne 0x11160565
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x11160555
mov esi, eax
cmp esi, dword [0x1127f1dc]
jne 0x11160510
mov edi, dword [ebp - 0xc]
call ebx
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
sub eax, edi
pop edi
pop esi
pop ebx
cmp eax, 0x64
jb 0x1116059b
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
Function at 0x111605b0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x111e8568
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x11279148]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov esi, eax
push 0x1127ef5c
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], 0x1127ef5c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call edi
mov ebx, eax
sub eax, esi
mov dword [ebp - 0x14], ebx
cmp eax, 0x64
jb 0x11160613
push eax
push str.Warning._took__d_ms_to_get_simap_lock_n
call fcn.111bd7b0
add esp, 8
mov eax, dword [0x1127f1dc]
mov esi, dword [eax]
mov dword [ebp - 4], 0
cmp esi, eax
je 0x111606b9
mov ebx, dword [ebp + 8]
lea esp, [esp]
mov edi, dword [esi + 0x10]
mov ecx, edi
call fcn.1114d160
push 1
push eax
push ebx
call fcn.110e4790
add esp, 0xc
test eax, eax
je 0x111606f5
push 1
add edi, 0x268
push edi
push ebx
call fcn.110e4790
add esp, 0xc
test eax, eax
je 0x111606f5
cmp byte [esi + 0x15], 0
jne 0x111606a8
mov eax, dword [esi + 8]
cmp byte [eax + 0x15], 0
jne 0x1116068d
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
jne 0x111606a8
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
je 0x11160681
jmp 0x111606a8
mov eax, dword [esi + 4]
cmp byte [eax + 0x15], 0
jne 0x111606a6
cmp esi, dword [eax + 8]
jne 0x111606a6
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x11160696
mov esi, eax
cmp esi, dword [0x1127f1dc]
jne 0x11160630
mov ebx, dword [ebp - 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
sub eax, ebx
cmp eax, 0x64
jb 0x111606df
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x1127ef5c
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
sub eax, dword [ebp - 0x14]
cmp eax, 0x64
jb 0x11160723
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x11160740
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call edi
mov ebx, eax
sub eax, esi
cmp eax, 0x64
jb 0x11160771
push eax
push str.Warning._took__d_ms_to_get_simap_lock_n
call fcn.111bd7b0
add esp, 8
mov edx, dword [0x1127f1dc]
mov ecx, dword [edx]
cmp ecx, edx
je 0x111607db
lea ecx, [ecx]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0x514]
cmp eax, 0x12
je 0x11160792
test eax, eax
jne 0x11160807
cmp byte [ecx + 0x15], 0
jne 0x111607d7
mov eax, dword [ecx + 8]
cmp byte [eax + 0x15], 0
jne 0x111607bc
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
jne 0x111607d7
jmp 0x111607b0
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x15], 0
je 0x111607b0
jmp 0x111607d7
mov eax, dword [ecx + 4]
cmp byte [eax + 0x15], 0
jne 0x111607d5
cmp ecx, dword [eax + 8]
jne 0x111607d5
mov ecx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x111607c5
mov ecx, eax
cmp ecx, edx
jne 0x11160780
call edi
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
sub eax, ebx
cmp eax, 0x64
jb 0x11160801
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
pop edi
pop esi
xor al, al
pop ebx
ret
call edi
push 0x1127ef5c
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
sub eax, ebx
cmp eax, 0x64
jb 0x1116082d
push eax
push str.Warning._simap_lock_held_for__d_ms_n
call fcn.111bd7b0
add esp, 8
pop edi
pop esi
mov al, 1
pop ebx
ret
Function at 0x11160e00
Capabilities:
List user accounts

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
push edi
xor edi, edi
xor ecx, ecx
mov dword [ebp - 4], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], ecx
cmp eax, edi
je 0x11160f18
cmp word [eax], di
je 0x11160f18
push ebx
push esi
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0xc]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 4]
push eax
push 2
push 3
push edi
call sub.NETAPI32.dll_NetUserEnum
mov dword [ebp - 0x18], eax
cmp eax, edi
je 0x11160e5e
cmp eax, 0xea
jne 0x11160ee0
mov esi, dword [ebp - 4]
cmp esi, edi
je 0x11160ef2
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x11160ee0
test esi, esi
je 0x11160ee0
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x11160eaf
mov eax, dword [ebp + 8]
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x11160ea6
test dx, dx
je 0x11160ea2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x11160ea6
add eax, 4
add ecx, 4
test dx, dx
jne 0x11160e80
xor eax, eax
jmp 0x11160eab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x11160eb9
inc edi
add esi, 0x74
cmp edi, ebx
jb 0x11160e70
jmp 0x11160ee0
mov edx, dword [esi]
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x11160ec0
mov ecx, dword [ebp + 0xc]
sub eax, esi
sar eax, 1
push eax
push edx
call fcn.11004e40
mov dword [ebp - 8], 1
mov eax, dword [ebp - 4]
xor edi, edi
cmp eax, edi
je 0x11160ef2
push eax
call sub.NETAPI32.dll_NetApiBufferFree
mov dword [ebp - 4], edi
cmp dword [ebp - 0x18], 0xea
je 0x11160e30
mov eax, dword [ebp - 4]
pop esi
pop ebx
cmp eax, edi
je 0x11160f0e
push eax
call sub.NETAPI32.dll_NetApiBufferFree
mov eax, dword [ebp - 8]
pop edi
mov esp, ebp
pop ebp
ret 8
mov eax, ecx
pop edi
mov esp, ebp
pop ebp
ret 8
Function at 0x11160f40
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x111e864b
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push esi
mov eax, dword [0x11279148]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], 0
test esi, esi
je 0x11160fc7
push 0x74
call fcn.111709c0
add esp, 4
mov dword [ebp + 8], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x11160fbb
push esi
mov ecx, eax
call fcn.111608e0
jmp 0x11160fbd
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], eax
mov ecx, dword [0x1127aa68]
push 0
push 0xffffffffffffffff
push str.OldLogonUser
push str.Client
mov dword [ebp - 0x14], 0
call fcn.110bbc00
cmp eax, 1
jl 0x11160ffa
lea edx, [ebp - 0x2c]
push edx
call fcn.1114b450
mov dword [ebp - 0x10], eax
jmp 0x11161033
lea eax, [ebp + 8]
push eax
push 0
lea ecx, [ebp - 0x2c]
push ecx
push fcn.1114b450
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea edx, [ebp - 0x10]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x20]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x18]
mov esi, ecx
test ecx, ecx
je 0x11161052
call fcn.1109edd0
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x10]
add esp, 4
test eax, eax
je 0x11161070
cmp eax, 0xffffffff
je 0x11161070
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret