joyce8/EMBER2024-capa huggingface dataset:
Function at 0x44b0f0
Capabilities:
Shutdown system

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 8], 0
push 2
mov ecx, 0x464a8c
call fcn.00401030
push 0xbb8
call dword [sym.imp.KERNEL32.DLL_Sleep]
lea eax, [ebp - 4]
push eax
push 0x28
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x44b12f
xor eax, eax
jmp 0x44b18c
lea ecx, [ebp - 0x14]
push ecx
push str.SeShutdownPrivilege
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
mov dword [ebp - 0x18], 1
mov dword [ebp - 0xc], 2
push 0
push 0
push 0
lea edx, [ebp - 0x18]
push edx
push 0
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
call dword [sym.imp.KERNEL32.DLL_GetLastError]
test eax, eax
je 0x44b172
xor eax, eax
jmp 0x44b18c
push 0x80020000
push 0x16
call dword [sym.imp.USER32.dll_ExitWindowsEx]
test eax, eax
jne 0x44b187
xor eax, eax
jmp 0x44b18c
mov eax, 1
mov esp, ebp
pop ebp
ret

Function at 0x44b1f0
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
lea eax, [ebp - 4]
push eax
push 0x28
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x44b211
xor al, al
jmp 0x44b270
lea ecx, [ebp - 0x1c]
push ecx
push str.SeDebugPrivilege
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
test eax, eax
jne 0x44b234
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
xor al, al
jmp 0x44b270
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], 2
push 0
push 0
push 0x10
lea edx, [ebp - 0x14]
push edx
push 0
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov al, 1
mov esp, ebp
pop ebp
ret
Function at 0x44b6c0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x408
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x208], 0
push 1
mov ecx, dword [0x464e9c]
call fcn.0043a670
push eax
push 0
mov ecx, dword [0x464e9c]
call fcn.0043a670
push eax
push str._s__s
push 0x200
lea eax, [ebp - 0x408]
push eax
call fcn.004011d0
add esp, 0x14
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x200]
push edx
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
push 0x4585f8
lea eax, [ebp - 0x200]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
lea ecx, [ebp - 0x204]
push ecx
push 0xf003f
push 0
push 7
mov ecx, dword [0x464e9c]
call fcn.0043a670
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x44b85c
push 1
mov ecx, dword [0x464e9c]
call fcn.0043a670
push eax
push 0
mov ecx, dword [0x464e9c]
call fcn.0043a670
push eax
push 0x4585fc
push 0x200
lea edx, [ebp - 0x408]
push edx
call fcn.004011d0
add esp, 0x14
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x408]
push ecx
mov edx, dword [ebp - 0x204]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
lea eax, [ebp - 0x408]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
shl eax, 1
push eax
lea ecx, [ebp - 0x408]
push ecx
push 1
push 0
push str.DisplayName
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
shl eax, 1
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push 1
push 0
push str.ShortcutPath
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
shl eax, 1
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push 1
push 0
push str.UninstallString
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea eax, [ebp - 0x200]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
shl eax, 1
push eax
lea ecx, [ebp - 0x200]
push ecx
push 1
push 0
push str.DisplayIcon
mov edx, dword [ebp - 0x208]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x204]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esp, ebp
pop ebp
ret
Function at 0x44bd80
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x858
push 0x44
push 0
lea eax, [ebp - 0x58]
push eax
call fcn.00409d10
add esp, 0xc
movzx ecx, byte [ebp + 0xc]
test ecx, ecx
jne 0x44bdd6
push 0x20e
call fcn.00421760
add esp, 4
push edx
push eax
mov edx, dword [0x464b40]
push edx
mov eax, dword [ebp + 8]
push eax
push str.__s____s___s
push 0x200
lea ecx, [ebp - 0x858]
push ecx
call fcn.004011d0
add esp, 0x1c
jmp 0x44bdf3
mov edx, dword [ebp + 8]
push edx
push str.__s_
push 0x200
lea eax, [ebp - 0x858]
push eax
call fcn.004011d0
add esp, 0x10
mov dword [ebp - 0x58], 0x44
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x58]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x858]
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_CreateProcessA]
test eax, eax
je 0x44be35
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov esp, ebp
pop ebp
ret

Function at 0x44c9a0
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.DLL_Sleep]
push 0x25
mov ecx, dword [0x464e9c]
call fcn.0043a670
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.DLL_CreateMutexA]
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xb7
jne 0x44c9e6
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov esp, ebp
pop ebp
ret
Function at 0x44cbb0
Capabilities:
Check for time delay via gettickcount
Enumerate processes
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x240
mov byte [ebp - 0x240], 0
push 0x103
push 0
lea eax, [ebp - 0x23f]
push eax
call fcn.00409d10
add esp, 0xc
mov dword [ebp - 0x128], 0x128
push 0
push 2
call sub.KERNEL32.DLL_CreateToolhelp32Snapshot
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0xffffffff
jne 0x44cbff
xor eax, eax
jmp 0x44cdd4
lea ecx, [ebp - 0x128]
push ecx
mov edx, dword [ebp - 0x134]
push edx
call sub.KERNEL32.DLL_Process32First
test eax, eax
jne 0x44cc2a
mov eax, dword [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
xor eax, eax
jmp 0x44cdd4
mov ecx, dword [ebp - 0x120]
push ecx
push 0
push 1
call dword [sym.imp.KERNEL32.DLL_OpenProcess]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x44cd98
cmp dword [ebp + 8], 2
jne 0x44cc94
push str.csrss.exe
lea edx, [ebp - 0x104]
push edx
call dword [sym.imp.KERNEL32.DLL_lstrcmpiA]
test eax, eax
je 0x44cc80
push str.winlogon.exe
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcmpiA]
test eax, eax
jne 0x44cc8f
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x12c]
push ecx
call dword [sym.imp.KERNEL32.DLL_TerminateProcess]
jmp 0x44cd8b
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x120]
push ecx
call fcn.0044bff0
add esp, 0xc
test eax, eax
jne 0x44cd8b
push 0xffffffffffffffff
mov edx, dword [ebp - 0x12c]
push edx
call dword [sym.imp.KERNEL32.DLL_TerminateProcess]
lea eax, [ebp - 0x104]
push eax
push 0xd
mov ecx, dword [0x464e9c]
call fcn.0043a670
push eax
push 0x104
lea ecx, [ebp - 0x240]
push ecx
call fcn.004011d0
add esp, 0x10
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
cmp dword [0x464fbc], eax
jae 0x44cd8b
cmp dword [ebp + 8], 1
je 0x44cd8b
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
add eax, 0x2710
mov dword [0x464fbc], eax
cmp dword [0x464b10], 0
jne 0x44cd35
push 0x104
call fcn.00438ba0
add esp, 4
mov dword [0x464b10], eax
cmp dword [0x464b0c], 0
jne 0x44cd50
push 0x104
call fcn.00438ba0
add esp, 4
mov dword [0x464b0c], eax
lea edx, [ebp - 0x240]
push edx
mov eax, dword [0x464b10]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
push str.WARNING_
mov ecx, dword [0x464b0c]
push ecx
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
cmp dword [0x464b68], 0
je 0x44cd8b
push 9
mov ecx, dword [0x464b68]
call fcn.0043e640
mov edx, dword [ebp - 0x12c]
push edx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
lea eax, [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x134]
push ecx
call sub.KERNEL32.DLL_Process32Next
test eax, eax
jne 0x44cc2a
mov edx, dword [0x464fc0]
add edx, 1
mov dword [0x464fc0], edx
mov eax, dword [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, 1
mov esp, ebp
pop ebp
ret
Function at 0x44cde0
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
push 0x104
push 0
lea eax, [ebp - 0x118]
push eax
call fcn.00409d10
add esp, 0xc
mov ecx, dword [0x464b08]
push ecx
push str._fsqwr.bmp
push 0x104
lea edx, [ebp - 0x118]
push edx
call fcn.004011d0
add esp, 0x10
push 0
push 0x44b190
call dword [sym.imp.USER32.dll_EnumWindows]
push SysReAllocString
push 0
push 0
call dword [sym.imp.USER32.dll_OpenInputDesktop]
mov dword [ebp - 0x10], eax
push 0
push 0x44b190
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_EnumDesktopWindows]
push 1
lea ecx, [ebp - 0x118]
push ecx
push 0x800000
push 0x1e0
push 0x280
call fcn.0044c100
add esp, 0x14
mov dword [ebp - 8], eax
push 0x1f4
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov edx, dword [0x464afc]
push edx
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x40
push 0x1e0
push 0x280
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [0x464afc]
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [0x464b68]
mov byte [ecx + 0x9e], 1
mov edx, dword [0x464afc]
push edx
call fcn.00427fa0
add esp, 4
push 0
push 0
mov eax, dword [0x464afc]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [0x464afc]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
push 1
mov ecx, 0x464a8c
call fcn.00401030
mov dword [ebp - 0x11c], 0
jmp 0x44cf26
mov edx, dword [ebp - 0x11c]
add edx, 1
mov dword [ebp - 0x11c], edx
cmp dword [ebp - 0x11c], 0x64
jge 0x44cf8c
push 0x40
push 0x1e0
push 0x280
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [0x464afc]
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0xcc0020
push 0
push 0
mov ecx, dword [ebp - 0xc]
push ecx
push 0x1e0
push 0x280
push 0
push 0
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
push 0
call dword [sym.imp.USER32.dll_SetCursor]
push 0
call dword [sym.imp.USER32.dll_ShowCursor]
push 0x64
call dword [sym.imp.KERNEL32.DLL_Sleep]
jmp 0x44cf17
mov esp, ebp
pop ebp
ret
Function at 0x40da6c
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
movzx eax, byte [ebp + 0x1c]
test eax, eax
je 0x40db05
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 4], eax
lea eax, [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x40dae0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
test eax, eax
je 0x40dac0
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x40dade
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax]
test eax, eax
je 0x40dade
push 0
call fcn.0041d212
pop ecx
jmp 0x40db03
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
push 0x939
push 0
push 1
push 1
push dword [ebp - 0x24]
push 0x3b24
push 1
call fcn.00418fac
add esp, 0x1c
jmp 0x40db30
lea eax, [ebp + 0x10]
mov dword [ebp - 0x28], eax
push 0x78a
push 1
push 0x3789
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
push eax
push 0x1dd9
push 0x36b4
call fcn.0040a750
add esp, 0x18
mov esp, ebp
pop ebp
ret

Function at 0x40f919
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x40f9dc
lea eax, [ebp + 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test eax, eax
je 0x40f95d
push 0
push 0x960
call fcn.004154af
pop ecx
pop ecx
jmp 0x40f9da
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax]
test eax, eax
je 0x40f9a0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
test eax, eax
je 0x40f99e
push 0x1b2c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
jmp 0x40f9da
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [eax], 0
jmp 0x40f9c2
mov eax, dword [ebp - 4]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
cmp dword [eax], 0xfffffff7
je 0x40f9da
mov dword [ebp - 8], 6
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
jmp 0x40f9b7
jmp 0x40f9fc
push 1
push 0x1b4
push 0
push 0x4daa
push 0x5a90
push 0x51e1
call fcn.0041df24
add esp, 0x18
mov esp, ebp
pop ebp
ret
Function at 0x418d4d
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x418dc1
lea eax, [ebp + 0x18]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x418d9b
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test eax, eax
je 0x418d91
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x418d99
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x418dbf
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
push 0x77cf
push 0x5b9e
push dword [ebp - 0x14]
push 0
push 0
push 0x492b
call fcn.0041148d
add esp, 0x18
jmp 0x418de6
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax]
push eax
push 1
push dword [ebp - 0x1c]
push 0x206b
call fcn.00415d02
add esp, 0x10
mov esp, ebp
pop ebp
ret
Function at 0x428fe3
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x4290e0
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 0x20]
mov dword [ebp - 0xc], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0x24], eax
lea eax, [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x42907b
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
test eax, eax
je 0x429059
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
test eax, eax
je 0x429057
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x429079
push 0
push 0x1fc0
push 0xc4f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetSystemPaletteEntries]
jmp 0x4290de
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax]
test eax, eax
je 0x4290c7
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
movzx eax, byte [eax]
test eax, eax
je 0x4290c5
push 1
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SelectPalette]
jmp 0x4290de
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x429106
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x4c], eax
push 0
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push 0x45d
push 0x2bdc
call fcn.00429d38
add esp, 0x14
mov esp, ebp
pop ebp
ret
Function at 0x42a27c
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
movzx eax, byte [ebp + 0x30]
test eax, eax
je 0x42a2b0
push 0x6bc6
push 0x482c
push 0x1b1
push 1
push 0x5138
call fcn.0042a3f1
add esp, 0x14
jmp 0x42a3ed
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x2c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x50], eax
lea eax, [ebp + 0x18]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
movzx eax, byte [eax]
test eax, eax
je 0x42a3a4
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
test eax, eax
je 0x42a38d
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
push 0
mov eax, dword [ebp - 0x1c]
push dword [eax]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2c]
add eax, dword [ecx]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx]
add ecx, eax
push ecx
mov ecx, dword [ebp - 0x3c]
call fcn.00444fa6
jmp 0x42a3a2
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [eax], 0x23
jmp 0x42a3ed
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
movzx eax, byte [eax]
test eax, eax
je 0x42a3c4
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x42a3ed
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
movzx eax, byte [eax]
test eax, eax
je 0x42a3ed
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esp, ebp
pop ebp
ret
Function at 0x42b42b
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x42b4d6
lea eax, [ebp + 0x18]
mov dword [ebp - 8], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x42b4bc
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
test eax, eax
je 0x42b4ab
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax]
test eax, eax
je 0x42b4a9
push 0
push 1
push 0x6c2c
push 0x68d8
push 0
push 0x1835
push 1
push 0x2bd2
call fcn.00428139
add esp, 0x20
jmp 0x42b4ba
push 0x1b2c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
jmp 0x42b4d4
push 0x4959
push 1
push 0
push 0
push 0x50e7
call fcn.004294ff
add esp, 0x14
jmp 0x42b4f5
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
push 0x25ad
push 1
push dword [ebp - 0x20]
push 0
push 0x68d9
call fcn.0042a134
add esp, 0x14
mov esp, ebp
pop ebp
ret
Function at 0x45ee35
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop ebp
ret