joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4941f0
Capabilities:
Check if file exists
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x5c5244]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004f39e0
add esp, 0xc
lea eax, [ebp - 0x20c]
push 1
push 0x19
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0x57cf28
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0x208
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.004f39e0
add esp, 0xc
lea eax, [ebp - 0x414]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 0x56f054
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4942a5
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x20c]
push eax
push str.__fromdeskshortcut
lea eax, [ebp - 0x414]
push eax
push 0x56f6b0
call fcn.004972f0
mov ecx, dword [ebp - 4]
add esp, 0x18
xor ecx, ebp
call fcn.004da3bd
mov esp, ebp
pop ebp
ret

Function at 0x4942e0
Capabilities:
Check if file exists
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x61c
mov eax, dword [0x5c5244]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004f39e0
add esp, 0xc
lea eax, [ebp - 0x20c]
push 1
push 0x17
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0x56f6b0
lea eax, [ebp - 0x20c]
push eax
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x20c]
push eax
call esi
test eax, eax
je 0x494414
push 0x208
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.004f39e0
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x57cf60
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x414]
push eax
call esi
cmp dword [ebp + 8], 0
je 0x4943aa
test eax, eax
je 0x494400
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004da3bd
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x494414
push 0x208
push eax
lea eax, [ebp - 0x61c]
push eax
call fcn.004f39e0
add esp, 0xc
lea eax, [ebp - 0x61c]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 4
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0x414]
push eax
push str._uninstioszhushou
lea eax, [ebp - 0x61c]
push eax
push 0x57cf7c
call fcn.004972f0
add esp, 0x18
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004da3bd
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
pop esi
call fcn.004da3bd
mov esp, ebp
pop ebp
ret
Function at 0x494a90
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55d8ad
mov eax, dword fs:[0]
push eax
sub esp, 0x41c
mov eax, dword [0x5c5244]
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 ebx, dword [ebp + 8]
lea eax, [ebp - 0x218]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
push 0x208
push 0
mov dword [ebp - 0x428], ebx
push eax
mov dword [ebp - 0x424], 0
call fcn.004f39e0
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str.ComputerZ.set
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.004f39e0
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
push 0x104
lea eax, [ebp - 0x420]
push eax
push 0x56c9a8
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
call fcn.00430a50
mov ecx, eax
test ecx, ecx
je 0x494bdd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx], eax
mov dword [ebp - 4], 1
lea eax, [ebp - 0x420]
push eax
mov ecx, ebx
call fcn.0042d870
test al, al
jne 0x494bae
lea ecx, [ebp - 0x420]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x494b90
sub ecx, edx
lea eax, [ebp - 0x420]
sar ecx, 1
push ecx
push eax
mov ecx, ebx
call fcn.00429710
mov dword [ebp - 4], 0
mov dword [ebp - 0x424], 1
mov eax, ebx
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.004da3bd
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.004225f0
int3
Function at 0x4953c0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55da89
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push esi
mov eax, dword [0x5c5244]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], 0
cmp word [0x5ce108], 0
jne 0x4954ba
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x10]
push eax
push 0x20219
push 0
push str.SOFTWARELudashi
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x10], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4954af
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x10]
push eax
push 0x5ce108
lea eax, [ebp - 0x14]
mov dword [ebp - 0x24], esi
push eax
push 0
push str.InstallDate
push esi
mov dword [ebp - 0x20], 0x200
mov dword [ebp - 0x10], 0x200
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x495497
mov eax, dword [ebp - 0x14]
cmp eax, 1
je 0x495480
cmp eax, 2
jne 0x495497
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x49548f
test al, 1
jne 0x495497
shr eax, 1
jmp 0x495497
xor eax, eax
mov word [0x5ce108], ax
mov byte [ebp - 4], 0
test esi, esi
je 0x4954b3
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x24], 0
jmp 0x4954b3
mov byte [ebp - 4], 0
mov dword [ebp - 0x20], 0
call fcn.00430a50
mov ecx, eax
test ecx, ecx
je 0x49552d
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
mov dword [ebp - 4], 2
mov ecx, esi
push 0x5ce108
call fcn.0042d870
test al, al
jne 0x49550d
mov ecx, 0x5ce108
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4954f1
sub ecx, edx
sar ecx, 1
push ecx
push 0x5ce108
mov ecx, esi
call fcn.00429710
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], 1
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.004225f0
int3
Function at 0x4966f0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55dda8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push esi
mov eax, dword [0x5c5244]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp word [0x5cd908], 0
jne 0x4967bf
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x20]
push 0x20219
push str.SOFTWARELudashi
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0042e900
mov esi, dword [ebp - 0x20]
test eax, eax
jne 0x49679f
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0x208
push eax
push 0x5cd908
lea eax, [ebp - 0x14]
push eax
push 0
push str.VendorID
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x49679f
mov eax, dword [ebp - 0x14]
cmp eax, 1
je 0x496791
cmp eax, 2
jne 0x49679f
cmp dword [ebp - 0x10], 0
jne 0x49679f
xor eax, eax
mov word [0x5cd908], ax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x4967b8
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov eax, 0x5cd908
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x497f70
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55e21b
mov eax, dword fs:[0]
push eax
sub esp, 0x218
mov eax, dword [0x5c5244]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x220]
push 0x20219
push str.SOFTWARELudashi
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0042e900
mov esi, dword [ebp - 0x220]
test eax, eax
jne 0x498058
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
call fcn.004f39e0
add esp, 0xc
mov dword [ebp - 0x214], 0x200
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x224]
push eax
push 0
push str.CreateShortcut
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x498058
mov eax, dword [ebp - 0x224]
cmp eax, 1
je 0x49803d
cmp eax, 2
jne 0x498058
mov eax, dword [ebp - 0x214]
test eax, eax
je 0x49809d
test al, 1
jne 0x498058
shr eax, 1
cmp word [ebp + eax*2 - 0x212], 0
je 0x4980a6
xor ebx, ebx
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x498076
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x220], 0
mov eax, ebx
mov dword [ebp - 0x21c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004da3bd
mov esp, ebp
pop ebp
ret
xor eax, eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x210]
push eax
call fcn.0051271e
xor ebx, ebx
add esp, 4
test eax, eax
setg bl
jmp 0x49805a
Function at 0x498310
Capabilities:
Enumerate processes
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55e29b
mov eax, dword fs:[0]
push eax
sub esp, 0x244
mov eax, dword [0x5c5244]
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]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x248]
push eax
push dword [ebp - 0x244]
call fcn.00469110
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, eax
mov dword [ebp - 0x24c], edi
cmp edi, 0xffffffff
je 0x4983c6
push 0x228
lea eax, [ebp - 0x238]
push 0
push eax
call fcn.004f39e0
add esp, 0xc
mov dword [ebp - 0x23c], 0x22c
lea eax, [ebp - 0x23c]
push eax
push edi
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
jne 0x4983cd
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
jmp 0x49845d
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, eax
mov dword [ebp - 0x250], ecx
cmp ecx, dword [ebp - 0x234]
je 0x49843e
mov esi, dword [ebp - 0x248]
cmp esi, dword [ebp - 0x244]
je 0x49843e
lea eax, [ebp - 0x218]
push eax
push dword [esi]
call fcn.0051070a
add esp, 8
test eax, eax
jne 0x49842d
push dword [ebp - 0x234]
push eax
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x49842d
push 0
push edi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push edi
call ebx
add esi, 4
cmp esi, dword [ebp - 0x244]
jne 0x4983f7
mov edi, dword [ebp - 0x24c]
lea eax, [ebp - 0x23c]
push eax
push edi
call sub.KERNEL32.dll_Process32NextW
mov ecx, dword [ebp - 0x250]
test eax, eax
jne 0x4983e1
push edi
call ebx
mov esi, 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00443350
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 - 0x10]
xor ecx, ebp
call fcn.004da3bd
mov esp, ebp
pop ebp
ret
Function at 0x4986d0
Capabilities:
Shutdown system

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x5c5244]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x18]
push eax
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x498722
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str.__tid:_d__MySystemShutdown_OpenProcessToken_err:_d
call fcn.00492250
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004da3bd
mov esp, ebp
pop ebp
ret
push esi
lea eax, [ebp - 0x10]
push eax
push str.SeShutdownPrivilege
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
push 0
push 0
push 0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 1
push eax
push 0
push dword [ebp - 0x18]
mov dword [ebp - 8], 2
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
je 0x49878b
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str.__tid:_d__MySystemShutdown_OpenProcessToken_err:_d
call fcn.00492250
add esp, 0xc
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004da3bd
mov esp, ebp
pop ebp
ret
push 0x80020003
push 5
call dword [sym.imp.USER32.dll_ExitWindowsEx]
test eax, eax
jne 0x4987c4
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str.__tid:_d__MySystemShutdown_ExitWindowsEx_err:_d
call fcn.00492250
add esp, 0xc
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004da3bd
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str.__tid:_d__MySystemShutdown
call fcn.00492250
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
mov eax, 1
pop esi
call fcn.004da3bd
mov esp, ebp
pop ebp
ret
Function at 0x498ca0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
mov eax, dword [edi]
add eax, eax
mov dword [edi], 0
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x10]
push eax
push esi
lea eax, [ebp + 0xc]
push eax
push 0
push dword [ebp + 8]
push dword [ecx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x498d11
mov eax, dword [ebp + 0xc]
cmp eax, 1
je 0x498cdf
cmp eax, 2
jne 0x498cfb
mov ecx, dword [ebp + 0x10]
test esi, esi
je 0x498d0b
test ecx, ecx
je 0x498d06
test cl, 1
jne 0x498cfb
mov eax, ecx
shr eax, 1
cmp word [esi + eax*2 - 2], 0
je 0x498d0b
pop edi
mov eax, 0xd
pop esi
pop ebp
ret 0xc
xor eax, eax
mov word [esi], ax
shr ecx, 1
xor eax, eax
mov dword [edi], ecx
pop edi
pop esi
pop ebp
ret 0xc

Function at 0x4990a0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55e368
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
mov eax, dword [0x5c5244]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0x10], 0
jne 0x4990e1
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x14]
push 0
push 0
push 0x80
push 2
push 1
push 0x40000000
push dword [ebp + 8]
call fcn.00494100
test eax, eax
js 0x49916d
cmp dword [esi + 0x14], 0x10
mov eax, dword [esi + 0x10]
jb 0x499129
mov esi, dword [esi]
push 0
lea ecx, [ebp + 0xc]
push ecx
push eax
push esi
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x499149
call fcn.0042f8b0
mov esi, eax
test esi, esi
js 0x499166
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne 0x499164
call fcn.0042f8b0
mov esi, eax
not esi
shr esi, 0x1f
jmp 0x49916f
xor esi, esi
not esi
shr esi, 0x1f
jmp 0x49916f
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x49918b
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x14], 0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x4a0390
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x5c5244]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, ecx
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4a045a
push dword [ebp - 0x18]
movaps xmm0, xmmword [0x57d3a0]
lea eax, [edi + 0x20]
push eax
push 0x5c4d80
push 0x5c6e70
push 0x5ce33c
movups xmmword [ebp - 0x14], xmm0
call fcn.00423fd0
movzx eax, ax
add esp, 0x14
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x4a0401
call fcn.004b2594
mov dword [edi + 0x14], eax
test eax, eax
jne 0x4a0401
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x4a045a
push 0
push 0
push eax
call fcn.004b2696
cmp word [ebp - 0x18], 0
je 0x4a045a
push edi
lea eax, [edi + 8]
mov ecx, 0x5c6e70
push eax
call fcn.00423b30
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
sub eax, edx
mov ecx, dword [ebp - 0x14]
push 0
push dword [0x5ce340]
push 0
push 0
push eax
mov eax, dword [ebp - 0xc]
sub eax, ecx
push eax
mov eax, dword [ebp - 0x18]
push edx
push ecx
push 0x82000000
push 0
movzx eax, ax
push eax
push 0x88
call dword [sym.imp.USER32.dll_CreateWindowExW]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4a0485
push 0
lea ecx, [edi + 4]
call fcn.0049cd30
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004da3bd
mov esp, ebp
pop ebp
ret
Function at 0x4a16a0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5600c2
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x5c5244]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
lea eax, [esi + 8]
mov dword [esi + 4], 0
mov dword [ebp - 0x14], eax
mov dword [eax + 0xc], 0
mov dword [ebp - 4], 1
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [ebp - 4], 2
mov eax, dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [esi + 0x20], eax
mov dword [ebp - 4], 4
lea ecx, [esi + 0x34]
mov dword [esi + 0x24], vtable.SiteAnnimation::Iwindow.0
mov dword [esi], vtable.CLayeredWndBase_class_CDialogQuit_.0
mov dword [esi + 0x24], vtable.CLayeredWndBase_class_CDialogQuit_.1.0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 1
call fcn.004666f0
mov byte [ebp - 4], 5
mov dword [esi + 0x5c], 0
mov dword [ebp - 4], 6
lea ecx, [esi + 0x68]
mov dword [esi], vtable.CDialogQuit.0
mov dword [esi + 0x24], vtable.CDialogQuit.1.0
mov dword [esi + 0x64], 0
call fcn.00457fb0
mov byte [ebp - 4], 7
lea edi, [esi + 0x80]
mov dword [esi + 0x7c], 0xffffffff
mov dword [ebp - 0x14], edi
call fcn.004287b0
mov ecx, eax
test ecx, ecx
je 0x4a17be
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 9
mov dword [esi + 0x84], 0xffffffff
mov dword [esi + 0x88], 0
mov dword [ebp - 4], 0xffffffff
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.004225f0
int3

Function at 0x4a2570
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x5c5244]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0
lea eax, [ebp - 0x14]
xorps xmm0, xmm0
push eax
push 0
push 0x30
mov edi, ecx
movups xmmword [ebp - 0x14], xmm0
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
sub eax, 0xc3
cdq
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
sub eax, 0x1a6
sar esi, 1
add esi, dword [ebp - 0x10]
push 4
cdq
push 0xc3
sub eax, edx
push 0x1a6
sar eax, 1
add eax, dword [ebp - 0x14]
push esi
push eax
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, edi
call fcn.004a2460
push 5
push dword [edi + 4]
mov dword [edi + 0x88], 1
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004da3bd
mov esp, ebp
pop ebp
ret
Function at 0x4a45e0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov ebx, ecx
push edi
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea edi, [eax + 1]
test edi, edi
js 0x4a465d
mov esi, dword [ebp + 8]
mov ecx, 1
mov edx, dword [esi]
mov eax, dword [edx - 8]
sub ecx, dword [edx - 4]
sub eax, edi
or ecx, eax
jge 0x4a4617
push edi
mov ecx, esi
call fcn.00429130
mov edx, dword [esi]
push edi
push edx
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov edi, eax
mov ecx, edi
cmp edi, 0xffffffff
jne 0x4a463e
mov ecx, dword [esi]
test ecx, ecx
je 0x4a4642
push dword [ecx - 8]
push ecx
call fcn.00510553
add esp, 8
mov ecx, eax
test ecx, ecx
js 0x4a465d
mov eax, dword [esi]
cmp ecx, dword [eax - 8]
jg 0x4a465d
mov dword [eax - 0xc], ecx
xor edx, edx
mov eax, dword [esi]
mov word [eax + ecx*2], dx
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret 4
push 0x80070057
call fcn.004225f0
int3

Function at 0x4a4670
Capabilities:
Hide graphical window

Disassembly:
push 0
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
ret

Function at 0x4a7af0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5615c9
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
mov eax, dword [0x5c5244]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
lea eax, [esi + 8]
mov dword [esi + 4], 0
mov dword [ebp - 0x14], eax
mov dword [eax + 0xc], 0
mov dword [ebp - 4], 1
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [ebp - 4], 2
mov eax, dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [esi + 0x20], eax
mov dword [ebp - 4], 4
lea ecx, [esi + 0x44]
mov dword [esi + 0x24], vtable.SiteAnnimation::Iwindow.0
mov dword [esi], vtable.CHoverWnd.0
mov dword [esi + 0x24], vtable.CHoverWnd.1.0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 1
mov dword [esi + 0x40], 0
call fcn.004666f0
mov byte [ebp - 4], 5
mov dword [esi + 0x6c], 0
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0
mov dword [ebp - 4], 0xffffffff
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x4a9510
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
cmp dword [esi + 0x1c], 0
je 0x4a953a
push 5
push dword [esi - 0x20]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0x1400
push dword [esi - 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
pop esi
pop ebp
ret 4

Function at 0x4a9550
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push 0
push dword [eax - 0x20]
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
pop ebp
ret 4