joyce8/EMBER2024-capa huggingface dataset:
Function at 0x410ba0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x439b2b
mov eax, dword fs:[0]
push eax
sub esp, 0x21c
mov eax, dword [0x446824]
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]
xor edi, edi
push 0x208
lea eax, [ebp - 0x218]
push edi
push eax
mov esi, ecx
mov dword [ebp - 0x21c], edi
call fcn.00423160
add esp, 0xc
lea ecx, [ebp - 0x21c]
push ecx
push str.SYSTEMCurrentControlSetControlVersionForcorResourcesTimeZone
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x224], 0x104
mov dword [ebp - 0x228], 1
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
lea edx, [ebp - 0x224]
push edx
mov edx, dword [ebp - 0x21c]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x228]
push ecx
push edi
push esi
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [ebp - 0x21c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
add eax, 0x10
mov dword [ebp - 0x220], eax
lea ecx, [ebp - 0x218]
push ecx
mov dword [ebp - 4], edi
push 0x43fa88
lea edi, [ebp - 0x220]
call fcn.0040e9c0
mov esi, dword [ebp - 0x220]
push esi
push 0x43fa88
push ebx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esi - 0x10]
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410cb8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
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.0041fcee
mov esp, ebp
pop ebp
ret

Function at 0x410ce0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x410d27
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [ebp + 8]
add eax, eax
push eax
mov eax, dword [ebp - 4]
push esi
push 1
push 0
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x410d27
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esp, ebp
pop ebp
ret
Function at 0x410d40
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push str.SYSTEMCurrentControlSetControlVersionForcorResourcesTimeZone
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x410d8b
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
add eax, eax
push eax
push esi
push 1
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x410d8b
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esp, ebp
pop ebp
ret

Function at 0x4112d0
Capabilities:
Get file size
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
xor edi, edi
push edi
push edi
push 3
push edi
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4112fc
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xf0000000
push 1
push edi
push edi
lea ecx, [ebp - 0xc]
push ecx
mov dword [ebp - 0xc], edi
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 8]
push edx
push edi
push edi
push 0x8003
push eax
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
push ebx
call fcn.0041e128
add esp, 4
push 0
lea ecx, [ebp - 0x10]
push ecx
push ebx
mov edi, eax
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
push 0
push edx
push edi
push eax
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
push edi
call fcn.004208fe
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 8]
mov esi, dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
push 0
lea ecx, [ebp - 4]
push ecx
push 0
push 2
push edx
mov dword [ebp - 4], 4
call esi
mov eax, dword [ebp - 4]
push eax
call fcn.0042038e
mov edx, dword [ebp - 8]
add esp, 4
push 0
lea ecx, [ebp - 4]
push ecx
mov edi, eax
push edi
push 2
push edx
call esi
test eax, eax
je 0x4113dc
xor esi, esi
cmp dword [ebp - 4], esi
jbe 0x4113dc
mov ebx, dword [ebp + 8]
jmp 0x4113c0
movzx eax, byte [esi + edi]
push eax
push str._02x
push ebx
call fcn.00422281
inc esi
add esp, 0xc
add ebx, 2
cmp esi, dword [ebp - 4]
jb 0x4113c0
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov edx, dword [ebp - 0xc]
push 0
push edx
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x412e10
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push str.SYSTEMCurrentControlSetStartHTTP
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x412e5c
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 4]
add eax, eax
push eax
push esi
push 1
push 0
push str.Form1
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x412e5c
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esp, ebp
pop ebp
ret

Function at 0x412e70
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push str.SYSTEMCurrentControlSetStartHTTP
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x412ebc
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 4]
add eax, eax
push eax
push esi
push 1
push 0
push str.Form2
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x412ebc
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esp, ebp
pop ebp
ret
Function at 0x412ed0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc08
mov eax, dword [0x446824]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x3ff
lea eax, [ebp - 0x403]
push 0
push eax
mov esi, ecx
mov byte [ebp - 0x404], 0
call fcn.00423160
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 0xc
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
push 0
push 0
call edi
push 0
push 0
push eax
lea ecx, [ebp - 0x404]
push ecx
push 0xffffffffffffffff
push esi
push 0
push 0
call edi
lea eax, [ebp - 0x404]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412f40
sub eax, edx
lea edx, [ebp - 0x404]
push edx
mov edx, eax
call fcn.00416eb0
xor eax, eax
push 0x7fe
push eax
lea ecx, [ebp - 0xc02]
push ecx
mov word [ebp - 0xc04], ax
call fcn.00423160
lea eax, [ebp - 0x404]
add esp, 0x10
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412f80
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
sub eax, edx
push 0
inc eax
push eax
lea edx, [ebp - 0x404]
push edx
push 0
push 0
call esi
lea ecx, [ebp - 0x404]
lea edi, [ecx + 1]
jmp 0x412fb0
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x412fb0
push eax
sub ecx, edi
lea eax, [ebp - 0xc04]
push eax
inc ecx
push ecx
lea ecx, [ebp - 0x404]
push ecx
push 0
push 0
call esi
lea edx, [ebp - 0xc08]
push edx
push str.SYSTEMCurrentControlSetControlVersionForcorResourcesTimeZone
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
pop edi
pop esi
test eax, eax
jne 0x413039
lea eax, [ebp - 0xc04]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [ebp - 0xc08]
add eax, eax
push eax
lea ecx, [ebp - 0xc04]
push ecx
push 1
push 0
push str.opencolor
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x413039
mov eax, dword [ebp - 0xc08]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041fcee
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc08]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041fcee
mov esp, ebp
pop ebp
ret
Function at 0x413060
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc08
mov eax, dword [0x446824]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x3ff
lea eax, [ebp - 0x403]
push 0
push eax
mov esi, ecx
mov byte [ebp - 0x404], 0
call fcn.00423160
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 0xc
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
push 0
push 0
call edi
push 0
push 0
push eax
lea ecx, [ebp - 0x404]
push ecx
push 0xffffffffffffffff
push esi
push 0
push 0
call edi
lea eax, [ebp - 0x404]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4130d0
sub eax, edx
lea edx, [ebp - 0x404]
push edx
mov edx, eax
call fcn.00416eb0
xor eax, eax
push 0x7fe
push eax
lea ecx, [ebp - 0xc02]
push ecx
mov word [ebp - 0xc04], ax
call fcn.00423160
lea eax, [ebp - 0x404]
add esp, 0x10
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413110
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
sub eax, edx
push 0
inc eax
push eax
lea edx, [ebp - 0x404]
push edx
push 0
push 0
call esi
lea ecx, [ebp - 0x404]
lea edi, [ecx + 1]
jmp 0x413140
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x413140
push eax
sub ecx, edi
lea eax, [ebp - 0xc04]
push eax
inc ecx
push ecx
lea ecx, [ebp - 0x404]
push ecx
push 0
push 0
call esi
lea edx, [ebp - 0xc08]
push edx
push str.SYSTEMCurrentControlSetControlVersionForcorResourcesTimeZone
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
pop edi
pop esi
test eax, eax
jne 0x4131c9
lea eax, [ebp - 0xc04]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [ebp - 0xc08]
add eax, eax
push eax
lea ecx, [ebp - 0xc04]
push ecx
push 1
push 0
push str.NewoneOpenUpXOS
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x4131c9
mov eax, dword [ebp - 0xc08]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041fcee
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc08]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041fcee
mov esp, ebp
pop ebp
ret
Function at 0x4131f0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc08
mov eax, dword [0x446824]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x3ff
lea eax, [ebp - 0x403]
push 0
push eax
mov esi, ecx
mov byte [ebp - 0x404], 0
call fcn.00423160
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 0xc
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
push 0
push 0
call edi
push 0
push 0
push eax
lea ecx, [ebp - 0x404]
push ecx
push 0xffffffffffffffff
push esi
push 0
push 0
call edi
lea eax, [ebp - 0x404]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413260
sub eax, edx
lea edx, [ebp - 0x404]
push edx
mov edx, eax
call fcn.00416eb0
xor eax, eax
push 0x7fe
push eax
lea ecx, [ebp - 0xc02]
push ecx
mov word [ebp - 0xc04], ax
call fcn.00423160
lea eax, [ebp - 0x404]
add esp, 0x10
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4132a0
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
sub eax, edx
push 0
inc eax
push eax
lea edx, [ebp - 0x404]
push edx
push 0
push 0
call esi
lea ecx, [ebp - 0x404]
lea edi, [ecx + 1]
jmp 0x4132d0
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4132d0
push eax
sub ecx, edi
lea eax, [ebp - 0xc04]
push eax
inc ecx
push ecx
lea ecx, [ebp - 0x404]
push ecx
push 0
push 0
call esi
lea edx, [ebp - 0xc08]
push edx
push str.SYSTEMCurrentControlSetControlVersionForcorResourcesTimeZone
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
pop edi
pop esi
test eax, eax
jne 0x413359
lea eax, [ebp - 0xc04]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [ebp - 0xc08]
add eax, eax
push eax
lea ecx, [ebp - 0xc04]
push ecx
push 1
push 0
push str.NewoneOpenUpdateX
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x413359
mov eax, dword [ebp - 0xc08]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041fcee
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc08]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041fcee
mov esp, ebp
pop ebp
ret
Function at 0x413380
Capabilities:
Create process on windows
Get common file path
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5f4
mov eax, dword [0x446824]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov ecx, 0xb6
mov esi, ebx
lea edi, [ebp - 0x5b0]
rep movsd dword es:[edi], dword [esi]
push 0x2ce
xor edi, edi
lea ecx, [ebp - 0x2d6]
xor eax, eax
push edi
push ecx
mov word [ebp - 0x2d8], ax
call fcn.00423160
add esp, 0xc
lea edx, [ebp - 0x2d8]
push edx
push edi
push edi
push 0x2c
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea eax, [ebp - 0x3a0]
push eax
push 0x4414d0
lea ecx, [ebp - 0x2d8]
push ecx
mov edx, ecx
push str._s_s_s
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
push edi
push edi
push 2
push edi
push 1
push 0x40000000
lea eax, [ebp - 0x2d8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x413431
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041fcee
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
push edi
lea ecx, [ebp - 0x5b4]
push ecx
add edx, 0xfffffd28
push edx
add ebx, 0x2d8
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41341e
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x38
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.00423160
add esp, 0xc
lea edx, [ebp - 0x5f0]
lea ecx, [ebp - 0x2d8]
push edx
mov dword [ebp - 0x5f0], 0x3c
mov dword [ebp - 0x5ec], 0x40
mov dword [ebp - 0x5e8], edi
mov dword [ebp - 0x5e4], 0x441424
mov dword [ebp - 0x5e0], ecx
mov dword [ebp - 0x5dc], 0x43f9f0
mov dword [ebp - 0x5d8], edi
mov dword [ebp - 0x5d4], edi
mov dword [ebp - 0x5d0], edi
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov ecx, dword [ebp - 4]
neg eax
pop edi
sbb eax, eax
pop esi
xor ecx, ebp
neg eax
pop ebx
call fcn.0041fcee
mov esp, ebp
pop ebp
ret
Function at 0x4144f0
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4398c8
mov eax, dword fs:[0]
push eax
sub esp, 0x250
mov eax, dword [0x446824]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
push eax
push 2
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov edi, eax
cmp edi, 0xffffffff
je 0x4145f3
push 0x228
lea ecx, [ebp - 0x254]
push 0
push ecx
call fcn.00423160
add esp, 0xc
lea edx, [ebp - 0x258]
push edx
push edi
mov dword [ebp - 0x258], 0x22c
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x4145f3
lea ecx, [ecx]
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x234]
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4145b6
test dx, dx
je 0x4145b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4145b6
add eax, 4
add ecx, 4
test dx, dx
jne 0x414590
xor eax, eax
jmp 0x4145bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4145d3
lea eax, [ebp - 0x258]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x414580
jmp 0x4145f3
cmp dword [ebx + 8], 0
mov byte [ebp - 0x259], 2
jne 0x4145f3
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 1
lea eax, [ebp - 0x259]
push eax
call edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041fcee
mov esp, ebp
pop ebp
ret 8
Function at 0x414610
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
push 0x3f60
call fcn.00420422
add esp, 4
push 0x3f60
mov edi, eax
push 0
push edi
call fcn.00423160
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
mov byte [edi], 0
mov dword [ebp - 0xc], 8
call dword [sym.imp.USER32.dll_GetLastInputInfo]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 8]
mov eax, 0x10624dd3
mul ecx
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
shr edx, 6
mov eax, 0x88888889
mul edx
shr edx, 5
push edx
lea edx, [edi + 2]
push 0x43f9f4
push edx
call ebx
add esp, 0xc
call dword [sym.imp.USER32.dll_GetForegroundWindow]
test eax, eax
je 0x41469d
push 0xfa
lea ecx, [edi + 0x21e]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
call fcn.00409fc0
push eax
lea edx, [edi + 0x20]
push 0x43fa88
push edx
call ebx
add esp, 0xc
lea ecx, [edi + 0x432]
call fcn.0040a4b0
lea ecx, [edi + 0x496]
call fcn.0040a8c0
lea esi, [edi + 0x4fa]
call fcn.0040ab00
lea ecx, [edi + 0x55e]
call fcn.0040ac30
lea ecx, [edi + 0x5c2]
call fcn.0040b050
lea esi, [edi + 0x626]
call fcn.0040b290
call fcn.0040a170
push eax
lea eax, [edi + 0x68a]
push 0x43fa88
push eax
call ebx
add esp, 0xc
call fcn.004065d0
push eax
lea ecx, [edi + 0x888]
push 0x43fa88
push ecx
call ebx
add esp, 0xc
lea ecx, [edi + 0x1cd8]
call fcn.0040b3c0
lea ecx, [edi + 0x1d3c]
call fcn.0040b600
lea ecx, [edi + 0x1da0]
call fcn.0040b840
push 0x4401f4
push 0x44c370
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x41476c
lea ecx, [edi + 0x1e04]
call fcn.0040ba80
lea ecx, [edi + 0x1e68]
call fcn.0040bef0
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0
jne 0x414785
mov ecx, dword [eax + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0x3f60
push edi
call eax
push edi
call fcn.0041fce3
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x414d50
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5b4
mov eax, dword [0x446824]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor eax, eax
mov ecx, 0xb6
mov esi, ebx
lea edi, [ebp - 0x5b0]
push 0x2ce
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebp - 0x2d6]
push ecx
mov word [ebp - 0x2d8], ax
call fcn.00423160
add esp, 0xc
push 0
push 0
push 2
push 0
push 1
push 0x40000000
lea edx, [ebp - 0x3a0]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x414dce
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041fcee
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp + 0xc]
push 0
lea eax, [ebp - 0x5b4]
push eax
add ecx, 0xfffffd28
push ecx
add ebx, 0x2d8
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x414db9
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [ebp - 0x5a8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x414e30
lea eax, [ebp - 0x5a8]
push eax
lea ecx, [ebp - 0x3a0]
push ecx
lea edx, [ebp - 0x2d8]
push str._s__s
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
jmp 0x414e44
lea eax, [ebp - 0x3a0]
push eax
lea ecx, [ebp - 0x2d8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov eax, dword [ebp - 0x5ac]
sub eax, 0
je 0x414e55
dec eax
jne 0x414e62
push eax
jmp 0x414e57
push 5
lea edi, [ebp - 0x2d8]
call fcn.00414e80
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.0041fcee
mov esp, ebp
pop ebp
ret 8
Function at 0x414e80
Capabilities:
Create process on windows
Create process suspended
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa68
mov eax, dword [0x446824]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
push 0x208
lea eax, [ebp - 0x214]
push 0
push eax
call fcn.00423160
push 0x2e
push edi
call fcn.004225b4
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x414ecb
xor al, al
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0041fcee
mov esp, ebp
pop ebp
ret 4
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x41a]
push edx
mov word [ebp - 0x41c], cx
call fcn.00423160
push 0x20
push esi
call fcn.004225b4
add esp, 0x14
push esi
test eax, eax
je 0x414f1f
call dword [sym.imp.KERNEL32.dll_lstrlenW]
dec eax
test eax, eax
jle 0x414f3b
cmp word [esi + eax*2], 0x20
je 0x414f0f
dec eax
test eax, eax
jg 0x414f01
jmp 0x414f3b
push eax
push esi
push 0x104
lea eax, [ebp - 0x41c]
push eax
jmp 0x414f33
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
push 0x104
lea ecx, [ebp - 0x41c]
push ecx
call fcn.00420cc4
add esp, 0x10
push 1
lea edx, [ebp - 0x214]
lea ecx, [ebp - 0x41c]
call fcn.004150c0
test eax, eax
je 0x414eb8
push 0x3e8
lea edx, [ebp - 0xa0c]
push 0
push edx
call fcn.00423160
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0xa0c]
push str._s_shellopencommand
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
push 0x208
lea edx, [ebp - 0x214]
push 0
push edx
call fcn.00423160
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x622]
push ecx
mov word [ebp - 0x624], ax
call fcn.00423160
add esp, 0x30
push 2
lea edx, [ebp - 0x624]
lea ecx, [ebp - 0xa0c]
call fcn.004150c0
test eax, eax
je 0x414eb8
push 0x104
lea edx, [ebp - 0x214]
push edx
lea eax, [ebp - 0x624]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea ecx, [ebp - 0x214]
push 0x4415ec
push ecx
call fcn.00421515
add esp, 8
test eax, eax
jne 0x415037
lea edx, [ebp - 0x214]
push 0x4415f4
push edx
call fcn.00421515
add esp, 8
test eax, eax
jne 0x415037
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x44036c
lea eax, [ebp - 0x214]
push eax
call esi
push edi
lea ecx, [ebp - 0x214]
push ecx
call esi
jmp 0x41503f
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x40
lea edx, [ebp - 0xa50]
push 0
push edx
call fcn.00423160
add esp, 0xc
cmp dword [ebp + 8], 0
mov dword [ebp - 0xa54], 0x44
je 0x41506e
mov dword [ebp - 0xa4c], str.WinSta0Default
jmp 0x415081
xor eax, eax
mov dword [ebp - 0xa28], 1
mov word [ebp - 0xa24], ax
lea ecx, [ebp - 0xa64]
push ecx
lea edx, [ebp - 0xa54]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x214]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov ecx, dword [ebp - 8]
xor ecx, ebp
mov al, 1
pop esi
call fcn.0041fcee
mov esp, ebp
pop ebp
ret 4