joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10037bc0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a77f8
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x100c66d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xor esi, esi
cmp dword [edi + 0x10], esi
je 0x10037d25
push 0xffffffffffffffff
push esi
xor eax, eax
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], esi
mov word [ebp - 0x2c], ax
call fcn.10005150
mov dword [ebp - 4], esi
push 0x2f
lea esi, [ebp - 0x2c]
call fcn.10034ac0
push 0x5c
call fcn.10034ac0
add esp, 8
cmp dword [ebp - 0x1c], 3
mov esi, 8
ja case.default.0x10037c4f
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
jae 0x10037c43
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 4
ja case.default.0x10037c4f
jmp dword [eax*4 + 0x10037d44]
lea ecx, [ebp - 0x2c]
call fcn.10004230
jmp 0x10037d25
lea ecx, [ebp - 0x2c]
call fcn.10004230
mov al, 1
jmp 0x10037d27
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
jae 0x10037c7d
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x280]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
jne 0x10037ce9
mov eax, dword [edi + 0x10]
lea ecx, [eax - 1]
cmp eax, ecx
ja 0x10037ca4
push str.invalid_string_position
call fcn.1003bee3
mov edx, dword [edi + 0x14]
cmp edx, esi
jb 0x10037caf
mov eax, dword [edi]
jmp 0x10037cb1
mov eax, edi
cmp word [eax + ecx*2], 0x5c
je 0x10037cd4
cmp dword [edi + 0x10], ecx
ja 0x10037cc7
push str.invalid_string_position
call fcn.1003bee3
cmp edx, esi
jb 0x10037ccd
mov edi, dword [edi]
cmp word [edi + ecx*2], 0x2f
jne case.0x10037c4f.0
cmp dword [ebp - 0x18], esi
jb 0x10037ce5
mov edx, dword [ebp - 0x2c]
push edx
call fcn.1003d468
add esp, 4
mov al, 1
jmp 0x10037d27
test byte [ebp - 0x280], 0x10
push eax
je 0x10037d0e
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 0x18], esi
jb 0x10037ce5
mov eax, dword [ebp - 0x2c]
push eax
call fcn.1003d468
add esp, 4
mov al, 1
jmp 0x10037d27
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 0x18], esi
jb 0x10037d25
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.1003d468
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
Function at 0x10038220
Capabilities:
Check if file exists
Copy file
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a7778
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x100c66d0]
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
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
xor ebx, ebx
xor ecx, ecx
push ebx
mov word [ebp - 0x2c], cx
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], ebx
call fcn.10005150
lea eax, [ebx + 0x20]
lea edi, [ebp - 0x2c]
mov dword [ebp - 4], ebx
call fcn.10034b80
lea edi, [ebx + 8]
cmp dword [ebp - 0x1c], ebx
je 0x1003829d
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x1003828d
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
setne al
cmp al, bl
jne 0x100382b5
cmp dword [ebp - 0x18], edi
jb 0x100382ae
mov edx, dword [ebp - 0x2c]
push edx
call fcn.1003d468
add esp, 4
mov al, 1
jmp 0x1003837e
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
add eax, 2
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1003c472
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x100382e1
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x1c]
add eax, 2
push eax
push esi
call fcn.1003f8e3
mov edx, dword [ebp - 0x1c]
xor eax, eax
xor ecx, ecx
mov word [esi + edx*2], cx
mov ecx, dword [ebp - 0x1c]
mov word [esi + ecx*2 + 2], ax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov word [ebp - 0x34], ax
mov edx, 0x414
or ax, dx
mov ecx, 0xffbf
add esp, 0xc
lea edx, [ebp - 0x50]
and ax, cx
push edx
mov dword [ebp - 0x3a], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x36], ebx
mov dword [ebp - 0x4c], 3
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], ebx
mov word [ebp - 0x40], ax
mov byte [ebp - 0x2d], 1
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
je 0x1003835d
mov byte [ebp - 0x2d], bl
cmp esi, ebx
je 0x1003836a
push esi
call fcn.1003d45d
add esp, 4
cmp dword [ebp - 0x18], edi
jb 0x1003837b
mov eax, dword [ebp - 0x2c]
push eax
call fcn.1003d468
add esp, 4
mov al, byte [ebp - 0x2d]
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.1003c5b5
mov esp, ebp
pop ebp
ret
Function at 0x100386d0
Capabilities:
Check if file exists
Delete file
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [esi + 0x10], 0
push ebx
push edi
je 0x10038779
mov ebx, 8
cmp dword [esi + 0x14], ebx
jb 0x100386ee
mov eax, dword [esi]
jmp 0x100386f0
mov eax, esi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
setne al
test al, al
je 0x10038779
mov ecx, esi
call fcn.10037bc0
test al, al
je 0x10038712
xor al, al
pop edi
pop ebx
pop ecx
pop ebp
ret
cmp dword [esi + 0x14], ebx
jb 0x1003871b
mov eax, dword [esi]
jmp 0x1003871d
mov eax, esi
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call edi
test eax, eax
jne 0x10038779
cmp byte [ebp + 8], al
je 0x10038779
cmp dword [esi + 0x14], ebx
jb 0x10038738
mov eax, dword [esi]
jmp 0x1003873a
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x1003875b
and eax, 0xfffffffe
cmp dword [esi + 0x14], ebx
jb 0x10038751
mov ecx, dword [esi]
jmp 0x10038753
mov ecx, esi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [esi + 0x14], ebx
jb 0x10038764
mov eax, dword [esi]
jmp 0x10038766
mov eax, esi
push eax
call edi
test eax, eax
jne 0x10038779
mov ecx, esi
call fcn.10039340
pop edi
pop ebx
pop ecx
pop ebp
ret
pop edi
mov al, 1
pop ebx
pop ecx
pop ebp
ret
Function at 0x10039340
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a6057
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
mov eax, dword [0x100c66d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x7e
mov edi, ecx
xor esi, esi
lea ecx, [ebp - 0x8e]
xor eax, eax
push esi
push ecx
mov word [ebp - 0x90], ax
call fcn.10044ad0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea edx, [ebp - 0x90]
push 0x100bb080
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x98], 7
mov dword [ebp - 0x9c], esi
mov word [ebp - 0xac], ax
push 4
push str..tmp
push edi
mov dword [ebp - 4], esi
call fcn.10034f10
cmp eax, 0xffffffff
je 0x10039465
lea ecx, [eax + 4]
push edi
xor edx, edx
lea esi, [ebp - 0xe4]
call fcn.10004290
push eax
lea eax, [ebp - 0x90]
lea esi, [ebp - 0xc8]
mov byte [ebp - 4], 1
call fcn.100068d0
add esp, 4
push eax
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 2
call fcn.100050d0
mov esi, 8
cmp dword [ebp - 0xb4], esi
jb 0x10039430
mov ecx, dword [ebp - 0xc8]
push ecx
call fcn.1003d468
add esp, 4
xor edx, edx
mov dword [ebp - 0xb4], 7
mov dword [ebp - 0xb8], 0
mov word [ebp - 0xc8], dx
cmp dword [ebp - 0xd0], esi
jb 0x100394f0
mov eax, dword [ebp - 0xe4]
push eax
jmp 0x100394e8
push str..tmp
lea ecx, [ebp - 0xe4]
push edi
push ecx
call fcn.100069b0
push eax
lea eax, [ebp - 0x90]
lea esi, [ebp - 0xc8]
mov byte [ebp - 4], 3
call fcn.100068d0
add esp, 0x10
push eax
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 4
call fcn.100050d0
mov esi, 8
cmp dword [ebp - 0xb4], esi
jb 0x100394bc
mov edx, dword [ebp - 0xc8]
push edx
call fcn.1003d468
add esp, 4
xor eax, eax
mov dword [ebp - 0xb4], 7
mov dword [ebp - 0xb8], 0
mov word [ebp - 0xc8], ax
cmp dword [ebp - 0xd0], esi
jb 0x100394f0
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.1003d468
add esp, 4
mov eax, dword [ebp - 0xac]
cmp dword [ebp - 0x98], esi
jae 0x10039504
lea eax, [ebp - 0xac]
cmp dword [edi + 0x14], esi
jb 0x1003950b
mov edi, dword [edi]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
je 0x10039566
mov eax, dword [ebp - 0xac]
cmp dword [ebp - 0x98], esi
jae 0x1003952b
lea eax, [ebp - 0xac]
push 4
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x1003954b
cmp dword [ebp - 0x98], esi
jb 0x1003957d
mov edx, dword [ebp - 0xac]
push edx
jmp 0x10039575
cmp dword [ebp - 0x98], esi
jb 0x10039562
mov eax, dword [ebp - 0xac]
push eax
call fcn.1003d468
add esp, 4
mov al, 1
jmp 0x1003957f
cmp dword [ebp - 0x98], esi
jb 0x1003957d
mov ecx, dword [ebp - 0xac]
push ecx
call fcn.1003d468
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
Function at 0x10039830
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [eax + 0x10], 0
jne 0x10039840
xor al, al
mov esp, ebp
pop ebp
ret
cmp dword [eax + 0x14], 8
jb 0x10039848
mov eax, dword [eax]
push esi
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x10039870
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push ebx
push 0
lea eax, [ebp - 4]
push eax
push ecx
push edx
push esi
mov bl, 1
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x10039895
xor bl, bl
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
pop ebx
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x100398b0
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
cmp dword [eax + 0x10], 0
jne 0x100398c2
xor al, al
mov esp, ebp
pop ebp
ret
cmp dword [eax + 0x14], 8
jb 0x100398ca
mov eax, dword [eax]
push esi
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x100398f2
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
push edi
lea eax, [ebp - 4]
push eax
push esi
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp dword [ebp - 4], 0
mov edi, eax
je 0x1003991c
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
test edi, edi
jne 0x10039934
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], edi
pop edi
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp edi, eax
jbe 0x1003994f
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp + 0x10]
mov dword [edx], edi
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x10039958
mov dword [ebp + 0xc], edi
mov eax, edi
mov edx, dword [ebp + 8]
push ebx
push 0
lea ecx, [ebp - 8]
push ecx
push eax
push edx
push esi
mov bl, 1
mov dword [ebp - 8], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1003997a
xor bl, bl
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
push esi
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x100399a0
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a7747
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x100c66d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebx], 0x100b62d4
mov dword [ebx + 0x68], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov dword [ebp - 4], eax
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
mov dword [ebx + edx], 0x100b6290
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov eax, dword [ebx]
mov esi, dword [eax + 4]
add esi, ebx
mov dword [ebp - 0x10], 1
call fcn.10001720
lea edi, [ebx + 0x10]
push esi
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], 0
call fcn.10006470
cmp dword [esi + 0x38], 0
mov byte [esi + 0x40], al
jne 0x10039a3e
mov eax, dword [esi + 0xc]
or eax, 4
or eax, 4
and eax, 0x17
mov dword [esi + 0xc], eax
test dword [esi + 0x10], eax
je 0x10039a3e
push 0
mov ecx, esi
call fcn.10001610
mov dword [ebp - 4], 2
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edi
mov dword [ebx + edx], 0x100b62d0
call fcn.10005c40
lea ecx, [edi + 0x18]
mov dword [edi + 0x20], ecx
lea eax, [edi + 8]
mov dword [edi + 0x10], eax
lea edx, [edi + 0x1c]
mov dword [edi + 0x24], edx
mov dword [edi], 0x100b6294
mov byte [edi + 0x50], 0
mov byte [edi + 0x49], 0
lea ecx, [edi + 0x28]
mov dword [edi + 0x30], ecx
xor ecx, ecx
lea eax, [edi + 0xc]
mov dword [edi + 0x14], eax
lea edx, [edi + 0x2c]
mov dword [edi + 0x34], edx
mov dword [eax], ecx
mov eax, dword [edi + 0x24]
mov dword [eax], ecx
mov edx, dword [edi + 0x34]
mov dword [edx], ecx
mov eax, dword [edi + 0x10]
mov dword [eax], ecx
mov edx, dword [edi + 0x20]
mov dword [edx], ecx
mov eax, dword [edi + 0x30]
mov edx, dword [0x100c98f0]
mov dword [eax], ecx
mov dword [edi + 0x54], ecx
mov dword [edi + 0x4c], edx
mov dword [edi + 0x44], ecx
mov eax, ebx
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 0x1003acd0
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x460
mov eax, dword [0x100c66d0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
cmp dword [esi + 0x10], 0
mov dword [ebp - 0x460], esi
mov dword [ebp - 0x458], 0
jne 0x1003ad0d
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
push ebx
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov ebx, eax
mov dword [ebp - 0x45c], ebx
cmp ebx, 0xffffffff
je 0x1003ad48
lea eax, [ebp - 0x454]
push eax
push ebx
mov dword [ebp - 0x454], 0x22c
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
jne 0x1003ad5a
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x454]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
je 0x1003aec0
jmp 0x1003ad78
mov esi, dword [ebp - 0x460]
lea edx, [ebp - 0x430]
push edx
mov eax, esi
call fcn.1000bed0
push eax
call fcn.1003f595
add esp, 8
test eax, eax
jne 0x1003ae9c
cmp dword [edi + 0x10], eax
je 0x1003aeb4
mov eax, dword [ebp - 0x44c]
push eax
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x1003ae9c
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x20a]
push edx
mov word [ebp - 0x20c], cx
call fcn.10044ad0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0
push esi
call dword [sym.imp.PSAPI.DLL_GetModuleFileNameExW]
test eax, eax
je 0x1003ae9c
xor ecx, ecx
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x214], 7
mov dword [ebp - 0x218], 0
mov word [ebp - 0x228], cx
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1003ae20
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp - 0x20c]
push edx
lea ecx, [ebp - 0x228]
call fcn.10005fb0
cmp dword [edi + 0x14], 8
mov ecx, dword [edi + 0x10]
jb 0x1003ae4f
mov eax, dword [edi]
jmp 0x1003ae51
mov eax, edi
push ecx
push eax
lea eax, [ebp - 0x228]
push eax
xor eax, eax
call fcn.10034f10
cmp eax, 0xffffffff
sete bl
cmp dword [ebp - 0x214], 8
jb 0x1003ae7f
mov ecx, dword [ebp - 0x228]
push ecx
call fcn.1003d468
add esp, 4
test bl, bl
jne 0x1003ae96
mov edx, dword [ebp - 0x44c]
push esi
mov dword [ebp - 0x458], edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [ebp - 0x45c]
lea eax, [ebp - 0x454]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x1003ad72
jmp 0x1003aec0
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x458], ecx
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x458]
pop ebx
xor ecx, ebp
pop esi
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret
Function at 0x1003aee0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a5fa8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x100c66d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, edx
xor ebx, ebx
cmp dword [esi + 0x10], ebx
je 0x1003afb3
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
push esi
mov edx, edi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], ebx
call fcn.1003b190
add esp, 4
test al, al
je 0x1003af98
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x18]
je 0x1003af77
mov ebx, dword [sym.imp.KERNEL32.dll_OpenProcess]
mov eax, dword [edi]
test eax, eax
je 0x1003af6a
push eax
push 0
push 1
call ebx
mov esi, eax
test esi, esi
je 0x1003af6a
push 0
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
je 0x1003af6a
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
add edi, 4
cmp edi, dword [ebp - 0x18]
jne 0x1003af43
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
cmp edi, ebx
je 0x1003af84
push edi
call fcn.1003d468
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.1003acd0
cmp eax, ebx
ja 0x1003afc7
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x1003afb3
push eax
call fcn.1003d468
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1003b000
mov bl, al
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1003afde
push eax
call fcn.1003d468
add esp, 4
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x1003b000
Capabilities:
Terminate process

Disassembly:
test eax, eax
jne 0x1003b007
xor al, al
ret
push esi
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x1003b026
push 0
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
jne 0x1003b02a
xor al, al
pop esi
ret
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
pop esi
ret
Function at 0x1003b040
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a4798
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x100c66d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
xor esi, esi
sar eax, 2
mov dword [ebp - 0x1c], eax
cmp eax, esi
jg 0x1003b090
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x18], esi
cmp eax, esi
jle 0x1003b13f
jmp 0x1003b0b3
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax + ecx*4]
lea eax, [eax + ecx*4]
push edx
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
mov dword [ebp - 0x14], edi
test edi, edi
je 0x1003b12f
lea eax, [ebp - 0x14]
cmp eax, esi
jae 0x1003b107
mov ecx, eax
cmp ebx, ecx
ja 0x1003b107
mov edi, eax
sub edi, ebx
sar edi, 2
cmp esi, dword [ebp - 0x24]
jne 0x1003b0f9
lea eax, [ebp - 0x2c]
call fcn.1003b870
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x2c]
test esi, esi
je 0x1003b102
mov edx, dword [ebx + edi*4]
mov dword [esi], edx
mov edi, dword [ebp - 0x14]
jmp 0x1003b120
cmp esi, dword [ebp - 0x24]
jne 0x1003b11a
lea eax, [ebp - 0x2c]
call fcn.1003b870
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x2c]
test esi, esi
je 0x1003b120
mov dword [esi], edi
push 0
add esi, 4
push edi
mov dword [ebp - 0x28], esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x1c]
jl 0x1003b0b0
sub esi, ebx
sar esi, 2
test esi, esi
jle 0x1003b16f
push 0xc8
push 1
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
xor edi, edi
test esi, esi
jle 0x1003b16f
lea ecx, [ecx]
mov eax, dword [ebx + edi*4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc edi
cmp edi, esi
jl 0x1003b160
test ebx, ebx
je 0x1003b17c
push ebx
call fcn.1003d468
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1003b420
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a569b
mov eax, dword fs:[0]
push eax
sub esp, 0x44c
mov eax, dword [0x100c66d0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x44c], ebx
mov esi, dword [eax]
cmp esi, ebx
jne 0x1003b466
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, eax
push 0x206
lea ecx, [ebp - 0x21a]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x21c], ax
call fcn.10044ad0
add esp, 0xc
push 0x206
lea eax, [ebp - 0x422]
xor edx, edx
push ebx
push eax
mov word [ebp - 0x424], dx
call fcn.10044ad0
add esp, 0xc
xor ecx, ecx
mov eax, 0x104
push 0x10
mov word [ebp - 0x440], cx
push str.SeDebugPrivilege
lea ecx, [ebp - 0x440]
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x448], ebx
mov dword [ebp - 0x444], ebx
mov dword [ebp - 0x42c], 7
mov dword [ebp - 0x430], ebx
call fcn.10005fb0
lea edx, [ebp - 0x440]
push edx
mov dword [ebp - 4], ebx
call fcn.1003b640
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x42c], 8
jb 0x1003b51b
mov eax, dword [ebp - 0x440]
push eax
call fcn.1003d468
add esp, 4
push esi
push ebx
push 0x400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp eax, ebx
je 0x1003b5e2
lea ecx, [ebp - 0x448]
push ecx
push 8
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x1003b5e2
mov eax, dword [ebp - 0x444]
mov ecx, dword [ebp - 0x448]
lea edx, [ebp - 0x444]
push edx
push eax
push ebx
push 1
push ecx
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
jne 0x1003b575
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1003b5e2
mov edx, dword [ebp - 0x444]
push edx
call fcn.1003ec0b
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x1003b5e2
mov ecx, dword [ebp - 0x444]
mov edx, dword [ebp - 0x448]
lea eax, [ebp - 0x444]
push eax
push ecx
push esi
push 1
push edx
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x1003b5d9
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x450]
push ecx
lea edx, [ebp - 0x424]
push edx
mov edx, dword [esi]
lea eax, [ebp - 0x44c]
push eax
lea ecx, [ebp - 0x21c]
push ecx
push edx
push ebx
call dword [sym.imp.ADVAPI32.dll_LookupAccountSidW]
push esi
call fcn.1003cba1
add esp, 4
xor eax, eax
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], ebx
mov word [edi], ax
lea eax, [ebp - 0x21c]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x1003b600
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x21c]
push ecx
mov ecx, edi
call fcn.10005fb0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1003c5b5
mov esp, ebp
pop ebp
ret

Function at 0x1003c5b5
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x100c66d0]
jne 0x1003c5bf
repz ret
jmp fcn.10042bfc