joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10029a6
Capabilities:
Get token membership

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
lea eax, [ebp - 0x14]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp + 8]
lea eax, [ebp - 0xc]
push 0x20
push 2
push eax
mov byte [ebp - 0xc], bl
mov byte [ebp - 0xb], bl
mov byte [ebp - 0xa], bl
mov byte [ebp - 9], bl
mov byte [ebp - 8], bl
mov byte [ebp - 7], 5
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x1002a17
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x14]
push ebx
call dword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
test eax, eax
jne 0x1002a05
mov dword [ebp - 0x10], ebx
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [ebp - 0x10], ebx
je 0x1002a17
mov al, 1
jmp 0x1002a19
xor al, al
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.010024ef
leave
ret 4

Function at 0x1003586
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push 0
call dword [sym.imp.msvcrt.dll_time]
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0x118]
mov dword [esp], 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
jne 0x10035cc
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x100369a
lea eax, [ebp - 0x118]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10035d5
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub eax, edx
cmp dword [0x1005cac], 0
push edi
lea edi, [ebp + eax - 0x118]
je 0x100362c
push 0x1001214
lea eax, [ebp - 4]
sub eax, edi
push eax
push edi
call fcn.0100351e
test eax, eax
jl 0x1003641
lea eax, [ebp - 0x118]
push eax
call ebx
test eax, eax
je 0x100362c
push 0x1001204
push eax
call esi
mov dword [0x1005cd4], eax
push 0x10011f4
lea eax, [ebp - 4]
sub eax, edi
push eax
push edi
call fcn.0100351e
test eax, eax
jge 0x1003645
push 8
jmp 0x1003678
lea eax, [ebp - 0x118]
push eax
call ebx
mov edi, eax
test edi, edi
je 0x1003676
push 0x10011e0
push edi
call esi
mov dword [0x1005ccc], eax
test eax, eax
je 0x1003676
push 0x10011cc
push edi
call esi
mov dword [0x1005cd0], eax
test eax, eax
jne 0x100367b
push 2
pop eax
jmp 0x1003697
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0x11c]
call dword [0x1005ccc]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.010024ef
leave
ret
Function at 0x401f44
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub esp, 0x214
mov eax, dword [0x432040]
xor eax, esp
mov dword [esp + 0x20c], eax
push ebx
push ebp
push esi
push edi
xor edi, edi
mov ebp, 0x100
mov ecx, edi
xor edx, edx
mov byte [esp + ecx + 0x18], cl
push 0x2e
mov eax, ecx
pop esi
div esi
mov al, byte [edx + 0x4858b0]
mov byte [esp + ecx + 0x118], al
inc ecx
cmp ecx, ebp
jl 0x401f65
mov esi, edi
mov ebx, edi
mov dl, byte [esp + esi + 0x18]
movzx eax, byte [esp + esi + 0x118]
add ebx, eax
movzx ecx, dl
add ebx, ecx
and ebx, 0x800000ff
jns 0x401fab
dec ebx
or ebx, 0xffffff00
inc ebx
mov al, byte [esp + ebx + 0x18]
mov byte [esp + esi + 0x18], al
inc esi
mov byte [esp + ebx + 0x18], dl
cmp esi, ebp
jl 0x401f88
mov ebx, edi
mov ebp, edi
inc edi
and edi, 0x800000ff
jns 0x401fd1
dec edi
or edi, 0xffffff00
inc edi
mov cl, byte [esp + edi + 0x18]
movzx esi, cl
add ebx, esi
and ebx, 0x800000ff
jns 0x401fea
dec ebx
or ebx, 0xffffff00
inc ebx
mov al, byte [esp + ebx + 0x18]
sub esp, 0x10
movaps xmm0, xmmword [0x42ed90]
mov byte [esp + edi + 0x28], al
mov byte [esp + ebx + 0x28], cl
movups xmmword [esp], xmm0
call fcn.0040f7e0
add esp, 0x10
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
call fcn.004023d8
push eax
call fcn.004047a7
movzx eax, byte [esp + edi + 0x1c]
add eax, esi
movzx eax, al
pop ecx
mov al, byte [esp + eax + 0x18]
xor byte [ebp + section..bss], al
inc ebp
cmp ebp, 0x50400
jl 0x401fc0
mov ecx, dword [esp + 0x21c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00409173
add esp, 0x214
ret

Function at 0x40238e
Capabilities:
Create thread

Disassembly:
push ecx
call fcn.00402500
xor eax, eax
push eax
push eax
push eax
push 0x402236
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor eax, eax
ret
Function at 0x403010
Capabilities:
Get common file path

Disassembly:
push esi
push edi
mov esi, ecx
push 0x104
push 0
lea edi, [esi + 0x208]
push edi
call fcn.0058db90
push 0x104
push 0
push esi
call fcn.0058db90
add esp, 0x18
push 0
push 0x23
push esi
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x403067
push str.CTESComponentsSVCOutbox
push esi
push str._s_s
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov eax, 1
pop edi
pop esi
ret 4
pop edi
xor eax, eax
pop esi
ret 4

Function at 0x403070
Capabilities:
Get common file path

Disassembly:
push esi
push edi
mov esi, ecx
push 0x104
push 0
lea edi, [esi + 0x514]
push edi
call fcn.0058db90
push 0x104
push 0
push esi
call fcn.0058db90
add esp, 0x18
push 0
push 0x23
push esi
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x4030c5
push 0x671cd4
push esi
push str._sCtesComponentsCDCpluginscomponent_s
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov eax, 1
pop edi
pop esi
ret
pop edi
xor eax, eax
pop esi
ret

Function at 0x4030d0
Capabilities:
Get common file path

Disassembly:
push esi
push edi
mov esi, ecx
push 0x104
push 0
lea edi, [esi + 0x820]
push edi
call fcn.0058db90
push 0x104
push 0
push esi
call fcn.0058db90
add esp, 0x18
push 0
push 0x23
push esi
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x403120
push esi
push str._sCtesComponentsCDCpolicies
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 1
pop edi
pop esi
ret
pop edi
xor eax, eax
pop esi
ret

Function at 0x403190
Capabilities:
Get common file path

Disassembly:
push esi
push edi
mov esi, ecx
push 0x104
push 0
lea edi, [esi + 0x410]
push edi
call fcn.0058db90
push 0x104
push 0
push esi
call fcn.0058db90
add esp, 0x18
push 0
push 0x23
push esi
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x4031e7
push str.CTESComponentsSVC
push esi
push str._s_s
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov eax, 1
pop edi
pop esi
ret 4
pop edi
xor eax, eax
pop esi
ret 4
Function at 0x4031f0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
push edi
test ebx, ebx
je 0x4032d7
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403216
sub ecx, edx
je 0x4032d7
mov edi, dword [ebp + 8]
test edi, edi
je 0x4032d7
lea eax, [ebp - 0xc]
push eax
push ebx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeA]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4032d7
push esi
push eax
call fcn.00575163
add esp, 4
mov esi, eax
push esi
push dword [ebp - 0x10]
push 0
push ebx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoA]
test eax, eax
jne 0x403277
push esi
call fcn.00574c8b
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x671d44
push esi
call dword [sym.imp.VERSION.dll_VerQueryValueA]
test eax, eax
je 0x4032c2
mov ecx, dword [ebp - 4]
mov dword [ebp - 8], 1
movzx eax, word [ecx + 0xa]
mov dword [edi], eax
movzx eax, word [ecx + 8]
mov dword [edi + 4], eax
movzx eax, word [ecx + 0xe]
mov dword [edi + 8], eax
movzx eax, word [ecx + 0xc]
mov dword [edi + 0xc], eax
push esi
call fcn.00574c8b
mov eax, dword [ebp - 8]
add esp, 4
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 8
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x404120
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x404140
push 0
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
pop ebp
ret 4
mov eax, 1
pop ebp
ret 4

Function at 0x404150
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push edi
push esi
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4041ab
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x404188
push 0
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x404188
push eax
push esi
push eax
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExA]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4041ab
push esi
push str.Failed_to_create_installation_path____s
push edi
call fcn.00406510
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
ret 4
pop edi
mov eax, 1
pop esi
pop ebp
ret 4
Function at 0x4054e0
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x134
mov eax, dword [0x6877f0]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [esp + 0xc]
push esi
push edi
push 0x124
push 0
push eax
call fcn.0058db90
add esp, 0xc
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
cmp esi, 0xffffffff
jne 0x40553e
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x130]
xor ecx, esp
call fcn.00574c7a
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x10]
mov dword [esp + 0x10], pe_nt_image_headers32
push eax
push esi
xor edi, edi
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x405585
cmp dword [esp + 0x18], edi
je 0x40556e
push ebx
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x405580
lea eax, [esp + 0x10]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x405558
jmp 0x405585
mov edi, 1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x13c]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00574c7a
mov esp, ebp
pop ebp
ret 4

Function at 0x405640
Capabilities:
Check if file exists
Delete file
Enumerate files on windows
Get common file path
Get file attributes
Set current directory
Set file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x250
mov eax, dword [0x6877f0]
xor eax, esp
mov dword [esp + 0x24c], eax
push esi
mov esi, dword [ebp + 8]
push edi
push esi
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40571f
push 0x104
lea eax, [esp + 0x14c]
push 0
push eax
call fcn.0058db90
push 0x671ffc
push esi
lea eax, [esp + 0x15c]
push str._s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
push esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x14c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x4056fb
cmp byte [esp + 0x34], 0x2e
je 0x4056e4
push 0x80
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esp + 8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4056c2
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x104
push 0
push edi
call fcn.0058db90
add esp, 0xc
push 0
push 0x23
push edi
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
push edi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov ecx, dword [esp + 0x254]
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.00574c7a
mov esp, ebp
pop ebp
ret 4
Function at 0x405740
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x6877f0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x104
lea eax, [ebp - 0x108]
mov esi, ecx
push 0
push eax
call fcn.0058db90
push 0x104
lea edi, [esi + 0x410]
push 0
push edi
call fcn.0058db90
push 0x104
push 0
push esi
call fcn.0058db90
add esp, 0x24
push 0
push 0x23
push esi
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x40582a
push str.CTESComponentsSVC
push esi
push str._s_s
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x671cd4
push str.CONFIG
push edi
lea eax, [ebp - 0x108]
push str._s_s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x24
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp byte [0x68defa], 1
jne 0x405815
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
je 0x40582a
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00574c7a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop esi
call fcn.00574c7a
mov esp, ebp
pop ebp
ret

Function at 0x405840
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
xorps xmm0, xmm0
mov dword [ebp - 4], 0xffffffff
xor eax, eax
movlpd qword [ebp - 0x54], xmm0
push esi
xor esi, esi
movlpd qword [ebp - 0x4c], xmm0
movups xmmword [ebp - 0x14], xmm0
mov word [ebp - 0x16], ax
movlpd qword [ebp - 0x44], xmm0
movlpd qword [ebp - 0x3c], xmm0
movlpd qword [ebp - 0x34], xmm0
movlpd qword [ebp - 0x26], xmm0
movlpd qword [ebp - 0x1e], xmm0
mov dword [ebp - 0x58], 0x44
mov dword [ebp - 0x2c], 1
mov word [ebp - 0x28], ax
cmp dword [ebp + 0xc], eax
jg 0x40589e
pop esi
mov esp, ebp
pop ebp
ret 8
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x58]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + 8]
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x4058f6
push dword [ebp + 0xc]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x4058d5
xor esi, esi
jmp 0x4058e4
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov esi, eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 8
Function at 0x405900
Capabilities:
Delete registry key
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x6877f0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x104
lea eax, [ebp - 0x108]
mov edi, ecx
push 0
push eax
call fcn.0058db90
add esp, 0xc
lea ecx, [ebp - 0x118]
push 0
push 0
push 0
push 0
call fcn.00417130
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x128]
call fcn.00417130
push 0x104
push 0
push edi
mov esi, 1
call fcn.0058db90
add esp, 0xc
push 0
push 0x23
push edi
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x405aae
cmp dword [ebp + 0xc], 0
push ebx
je 0x405a38
push 0x104
lea ebx, [edi + 0x618]
push 0
push ebx
call fcn.0058db90
add esp, 8
mov ecx, edi
call fcn.00403190
test eax, eax
je 0x4059f9
push 0x672210
lea eax, [edi + 0x410]
push eax
push str._s_s
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x672204
call fcn.0040d840
test eax, eax
jne 0x4059e1
push 0x672204
push 0x672210
call fcn.004041c0
push ebx
sub esp, 8
call fcn.0040d710
test eax, eax
je 0x4059f9
push ecx
push 0x672204
call fcn.0040db00
mov ebx, esi
cmp byte [0x68defa], 1
jne 0x405a23
test ebx, ebx
je 0x405a23
push 0x671cd4
push 0x671cd4
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
jne 0x405a23
mov ecx, edi
call fcn.00405740
pop ebx
pop edi
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00574c7a
mov esp, ebp
pop ebp
ret 8
push 0x671cd4
push str.Providers
push str.SystemCurrentControlSetServicesCtesHostSvc
lea eax, [ebp - 0x108]
push 0x671ce4
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea eax, [ebp - 0x108]
push eax
push connect
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyA]
sub esp, 8
xor ebx, ebx
call fcn.0040dc10
cmp eax, 9
je 0x405a91
push 0x672204
call fcn.0040d840
mov esi, eax
test esi, esi
je 0x4059fb
push ecx
mov ecx, edi
call fcn.00403190
lea eax, [edi + 0x410]
mov ecx, edi
push eax
call fcn.004044e0
mov esi, eax
jmp 0x4059fb
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop esi
call fcn.00574c7a
mov esp, ebp
pop ebp
ret 8
Function at 0x405eb0
Capabilities:
Enumerate processes
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x13c
mov eax, dword [0x6877f0]
xor eax, esp
mov dword [esp + 0x138], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0
mov esi, 1
mov dword [esp + 0x10], ecx
push 0xf
mov dword [esp + 0x18], esi
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x405f06
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x138]
xor ecx, esp
call fcn.00574c7a
mov esp, ebp
pop ebp
ret 8
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], pe_nt_image_headers32
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x405fcd
mov eax, ebx
lea ecx, [esp + 0x3c]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x405f48
test dl, dl
je 0x405f44
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x405f48
add ecx, 2
add eax, 2
test dl, dl
jne 0x405f28
xor eax, eax
jmp 0x405f4d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405fb6
push dword [esp + 0x20]
push eax
push 0x100001
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x405f9e
push 0
push edi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x405f9e
push ebx
push str.Terminate_process_successful:__s
push dword [esp + 0x14]
call fcn.00406510
mov esi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x405fb6
push ebx
push str.Terminate_process_failed:__s
push dword [esp + 0x14]
call fcn.00406510
add esp, 0xc
xor esi, esi
mov dword [esp + 0x10], esi
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x405f22
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x144]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00574c7a
mov esp, ebp
pop ebp
ret 8
Function at 0x407440
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
mov ebx, ecx
push esi
push edi
cmp dword [ebx + 0x38], 0
je 0x40746b
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408a90
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx + 0x20]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x18], esi
mov eax, dword [eax]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], eax
test eax, eax
je 0x40748d
mov eax, dword [ebx + 0x30]
mov eax, dword [eax]
jmp 0x40748f
xor eax, eax
cdq
mov dword [esp + 0xc], eax
mov ecx, edx
mov dword [esp + 0x10], ecx
test edi, edi
jl 0x407513
jg 0x4074a4
test esi, esi
je 0x407513
test ecx, ecx
jl 0x4074ed
jg 0x4074ae
test eax, eax
je 0x4074ed
cmp edi, ecx
jg 0x4074c2
jl 0x4074b8
cmp esi, eax
jae 0x4074c2
mov eax, esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
push eax
push dword [ebp + 8]
push dword [esp + 0x1c]
call fcn.0058d090
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [ebx + 0x30]
add edx, ecx
sub esi, ecx
sbb edi, dword [esp + 0x10]
sub dword [eax], ecx
mov eax, dword [ebx + 0x20]
add dword [eax], ecx
jmp 0x4074f0
mov edx, dword [ebp + 8]
test edi, edi
jl 0x407513
jg 0x4074fa
test esi, esi
je 0x407513
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x407513
push eax
push esi
push 1
push edx
call fcn.0059a507
add esp, 0x10
sub esi, eax
sbb edi, 0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub eax, esi
sbb edx, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x407530
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
mov edi, ecx
cmp dword [edi + 0x38], 0
je 0x40755b
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408b80
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi + 0x1c]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x18], esi
mov eax, dword [eax]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
test eax, eax
je 0x40757d
mov eax, dword [edi + 0x2c]
mov eax, dword [eax]
jmp 0x40757f
xor eax, eax
cdq
mov dword [esp + 0xc], eax
mov ecx, edx
mov dword [esp + 0x10], ecx
test ebx, ebx
jl 0x40761e
jg 0x40759c
test esi, esi
je 0x40761e
test ecx, ecx
jl 0x4075e9
jg 0x4075a6
test eax, eax
je 0x4075e9
cmp ebx, ecx
jg 0x4075ba
jl 0x4075b0
cmp esi, eax
jae 0x4075ba
mov eax, esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
push eax
push dword [esp + 0x18]
push dword [ebp + 8]
call fcn.0058d090
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [edi + 0x2c]
add edx, ecx
sub esi, ecx
mov dword [esp + 0xc], edx
sbb ebx, dword [esp + 0x10]
sub dword [eax], ecx
mov eax, dword [edi + 0x1c]
add dword [eax], ecx
jmp 0x4075f0
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
test ebx, ebx
jl 0x40761e
jg 0x4075fa
test esi, esi
je 0x40761e
cmp dword [edi + 0x4c], 0
je 0x40761e
mov ecx, edi
call fcn.0040a1c0
push dword [edi + 0x4c]
push esi
push 1
push dword [esp + 0x18]
call fcn.0059ac71
add esp, 0x10
sub esi, eax
sbb ebx, 0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub eax, esi
pop edi
pop esi
sbb edx, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0xc