joyce8/EMBER2024-capa huggingface dataset:
Function at 0x47d3dc
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x47d54b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
push eax
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x47d3b4]
call fcn.004068bc
add esp, 4
mov eax, dword [ebp - 8]
push eax
lea eax, [ebx + 0xb0]
mov ecx, 1
mov edx, dword [0x47d318]
call fcn.004068bc
add esp, 4
mov edi, dword [ebp - 8]
dec edi
test edi, edi
jl 0x47d4cc
inc edi
xor esi, esi
mov eax, 8
call fcn.00402ec8
mov edx, dword [ebx + 0xb0]
mov dword [edx + esi*4], eax
push 0
push 0
push 0
push 0
call sub.kernel32.dll_CreateEventA
mov edx, dword [ebx + 0xb0]
mov edx, dword [edx + esi*4]
mov dword [edx], eax
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + esi*4]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov dword [edx + esi*4], eax
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + esi*4]
lea edx, [eax + 4]
push edx
push 0
push eax
lea eax, [ebx + 0xe2]
push eax
push 0
push 0
call sub.kernel32.dll_CreateThread_1
test eax, eax
je 0x47d4ab
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x47d4c4
mov eax, dword [ebx + 0xb0]
mov eax, dword [eax + esi*4]
call fcn.00402ee4
mov eax, dword [ebx + 0xb0]
xor edx, edx
mov dword [eax + esi*4], edx
inc esi
dec edi
jne 0x47d443
mov eax, dword [0x633bf4]
mov eax, dword [eax]
call fcn.00425a1c
push 0x68
push 0xffffffffffffffff
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_WaitForMultipleObjects
test eax, eax
jne 0x47d4cc
mov eax, dword [ebx + 0xa8]
push eax
call sub.kernel32.dll_SetEvent
mov eax, dword [0x633bf4]
mov eax, dword [eax]
call fcn.00425a1c
push 0x64
mov eax, dword [ebx + 0xac]
push eax
call sub.kernel32.dll_WaitForSingleObject
test eax, eax
jne 0x47d4f9
push 0
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x47d3b4]
call fcn.004068bc
add esp, 4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47d552
lea eax, [ebp - 4]
mov edx, dword [0x47d3b4]
call fcn.004068c8
ret
Function at 0x47d688
Capabilities:
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
push edi
mov edi, edx
mov esi, eax
xor eax, eax
push ebp
push 0x47d754
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [edi]
call fcn.00468c58
test al, al
je 0x47d704
mov eax, dword [0x6339ec]
cmp byte [eax], 0
jne 0x47d700
push 0x20
mov eax, dword [esi + 4]
call fcn.00405858
push eax
call sub.kernel32.dll_SetFileAttributesA
mov eax, dword [esi + 4]
call fcn.00405858
push eax
call sub.kernel32.dll_DeleteFileA
lea edx, [ebp - 4]
mov eax, dword [esi + 4]
call fcn.004230f0
mov eax, dword [ebp - 4]
push eax
mov eax, dword [0x633ffc]
mov eax, dword [eax]
call eax
mov eax, dword [edi]
mov eax, dword [eax + 8]
mov edx, dword [esi + 4]
call fcn.00425424
mov bl, 1
jmp 0x47d739
push dword [esi + 4]
push 0x47d76c
lea edx, [ebp - 0xc]
mov eax, dword [edi]
mov eax, dword [eax + 0x520]
call fcn.004644fc
push dword [ebp - 0xc]
lea eax, [ebp - 8]
mov edx, 3
call fcn.0040575c
mov edx, dword [ebp - 8]
mov eax, 0x47d788
call fcn.00464840
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47d75b
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.004053ec
ret

Function at 0x47dea4
Capabilities:
Create thread

Disassembly:
push ebx
push ecx
xor ebx, ebx
push esp
push 0
push 0
add eax, 0xd0
push eax
push 0
push 0
call sub.kernel32.dll_CreateThread_1
test eax, eax
je 0x47dec8
push eax
call sub.kernel32.dll_CloseHandle_1
mov bl, 1
mov eax, ebx
pop edx
pop ebx
ret
Function at 0x47e49c
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeac
push ebx
xor ecx, ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405848
xor eax, eax
push ebp
push 0x47e602
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
xor ecx, ecx
mov edx, 0x628
call fcn.00403aec
lea edx, [ebp - 8]
mov eax, dword [0x633cc0]
call fcn.0042f9e0
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
mov ecx, 0x47e610
call fcn.00406ff0
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, 0x47e620
call fcn.00406ff0
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 4]
call fcn.00405d24
push 0
mov eax, dword [ebp - 0x14]
call fcn.00405d34
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 0x14]
push 2
lea eax, [ebp - 0x154]
push eax
push 0x400
push ebx
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
push 0x104
lea eax, [ebx + 0x105]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
lea eax, [ebx + 0x310]
push eax
push 0x104
lea eax, [ebx + 0x20a]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [eax]
call dword [eax + 0x40]
push 0x400
lea eax, [ebx + 0x314]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [eax]
call dword [eax + 0x28]
push 0x400
lea eax, [ebx + 0x314]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [eax]
call dword [eax + 0x18]
lea eax, [ebx + 0x620]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [eax]
call dword [eax + 0x38]
lea eax, [ebx + 0x624]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [eax]
call dword [eax + 0x30]
lea eax, [ebp - 0x10]
call fcn.00406fac
lea eax, [ebp - 0xc]
call fcn.00406fac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47e609
lea eax, [ebp - 0x14]
call fcn.00405ba4
lea eax, [ebp - 0x10]
call fcn.00406fac
lea eax, [ebp - 0xc]
call fcn.00406fac
lea eax, [ebp - 8]
call fcn.00406fac
lea eax, [ebp - 4]
call fcn.004053c8
ret
Function at 0x47f078
Capabilities:
Delete file
Enumerate files on windows
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x30
push 0
push 0
dec ecx
jne 0x47f080
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405848
xor eax, eax
push ebp
push 0x47f2ee
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00467248
mov esi, eax
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x14c]
mov ecx, 0x47f304
mov edx, dword [ebp - 4]
call fcn.004056e0
mov eax, dword [ebp - 0x14c]
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov ebx, eax
cmp ebx, 0xffffffff
je 0x47f2c3
lea eax, [ebp - 0x150]
lea edx, [ebp - 0x18]
mov ecx, 0xe
call fcn.00405638
cmp dword [ebp - 0x150], 0
jne 0x47f13c
push dword [ebp - 4]
push 0x47f314
lea eax, [ebp - 0x158]
lea edx, [ebp - 0x11c]
mov ecx, 0x104
call fcn.00405638
push dword [ebp - 0x158]
lea eax, [ebp - 0x154]
mov edx, 3
call fcn.0040575c
mov eax, dword [ebp - 0x154]
lea edx, [ebp - 8]
call fcn.00464afc
jmp 0x47f17b
push dword [ebp - 4]
push 0x47f314
lea eax, [ebp - 0x160]
lea edx, [ebp - 0x18]
mov ecx, 0xe
call fcn.00405638
push dword [ebp - 0x160]
lea eax, [ebp - 0x15c]
mov edx, 3
call fcn.0040575c
mov eax, dword [ebp - 0x15c]
lea edx, [ebp - 8]
call fcn.00464afc
lea eax, [ebp - 0x168]
lea edx, [ebp - 0x11c]
mov ecx, 0x104
call fcn.00405638
mov eax, dword [ebp - 0x168]
lea edx, [ebp - 0x164]
call fcn.004095d0
mov eax, dword [ebp - 0x164]
mov edx, 0x47f320
call fcn.004057f0
je 0x47f2a8
lea eax, [ebp - 0x170]
lea edx, [ebp - 0x11c]
mov ecx, 0x104
call fcn.00405638
mov eax, dword [ebp - 0x170]
lea edx, [ebp - 0x16c]
call fcn.004095d0
mov eax, dword [ebp - 0x16c]
mov edx, 0x47f334
call fcn.004057f0
je 0x47f2a8
lea eax, [ebp - 0x178]
lea edx, [ebp - 0x11c]
mov ecx, 0x104
call fcn.00405638
mov eax, dword [ebp - 0x178]
lea edx, [ebp - 0x174]
call fcn.004095d0
mov eax, dword [ebp - 0x174]
mov edx, 0x47f34c
call fcn.004057f0
je 0x47f2a8
lea eax, [ebp - 0x180]
lea edx, [ebp - 0x11c]
mov ecx, 0x104
call fcn.00405638
mov eax, dword [ebp - 0x180]
lea edx, [ebp - 0x17c]
call fcn.004095d0
mov eax, dword [ebp - 0x17c]
mov edx, 0x47f360
call fcn.004057f0
je 0x47f2a8
mov eax, dword [ebp - 8]
call fcn.00405858
call fcn.00467184
cmp esi, eax
jbe 0x47f2a8
push 0x20
mov eax, dword [ebp - 8]
call fcn.00405858
mov edi, eax
push edi
call sub.kernel32.dll_SetFileAttributesA
mov edx, edi
lea eax, [ebp - 0x184]
call fcn.004055c0
mov eax, dword [ebp - 0x184]
call fcn.00405858
push eax
call sub.kernel32.dll_DeleteFileA
lea eax, [ebp - 0x148]
push eax
push ebx
call sub.kernel32.dll_FindNextFileA
test eax, eax
jne 0x47f0dc
push ebx
call sub.kernel32.dll_FindClose_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47f2f5
lea eax, [ebp - 0x184]
mov edx, 0xf
call fcn.004053ec
lea eax, [ebp - 8]
mov edx, 2
call fcn.004053ec
ret
Function at 0x47f36c
Capabilities:
Delete file
Move file
Set file attributes

Disassembly:
mov eax, 0x47f57c
call fcn.00409f58
test al, al
je 0x47f3a5
push 0x20
push 0x47f5a8
call sub.kernel32.dll_SetFileAttributesA
mov eax, 0x47f5bc
call fcn.00405858
push eax
call sub.kernel32.dll_DeleteFileA
push 0x47f5a8
push 0x47f5c8
call sub.kernel32.dll_MoveFileA
push 2
mov eax, 0x47f5f4
mov ecx, 0x3ea
mov edx, 0x20
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x63
mov edx, 0x123
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x58
mov edx, 0x1e4
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x64
mov edx, 0x185b823
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x32
mov edx, 0x1182766
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x35
mov edx, 0x11f8400
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x39
mov edx, 0x11fa9f0
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x36
mov edx, 0x11fbe40
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x35
mov edx, 0x11fd510
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x38
mov edx, 0x11fea00
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x36
mov edx, 0x1200c00
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x74
mov edx, 0x102f122
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x42
mov edx, 0x1668703
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x68
mov edx, 0x1870071
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x67
mov edx, 0x197e4c2
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x4c
mov edx, 0x1a0fb84
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x31
mov edx, 0x819181
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x57
mov edx, 0x102f031
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x32
mov edx, 0x1422870
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x32
mov edx, 0x1423cb3
call fcn.004649a4
push 1
mov eax, 0x47f600
mov ecx, 0x38
mov edx, 0x18bc451
call fcn.004649a4
ret
Function at 0x47f61c
Capabilities:
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x47f777
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x633998]
add eax, 0x115
mov edx, 0x47f790
call fcn.00424644
mov eax, dword [0x633998]
add eax, 0x115
mov edx, 0x47f7a4
call fcn.00424644
mov eax, dword [0x633998]
add eax, 0x115
mov edx, 0x47f7bc
call fcn.00424644
mov eax, dword [0x633998]
add eax, 0x115
mov edx, 0x47f7d4
call fcn.00424644
mov ebx, dword [0x633998]
mov ebx, dword [ebx + 0x135]
dec ebx
test ebx, ebx
jl 0x47f75c
inc ebx
xor esi, esi
lea ecx, [ebp - 8]
mov eax, dword [0x633998]
add eax, 0x115
mov edx, esi
call fcn.0042462c
mov eax, dword [ebp - 8]
lea edx, [ebp - 4]
call fcn.004098b0
cmp dword [ebp - 4], 0
je 0x47f754
mov eax, dword [ebp - 4]
mov edx, 0x47f7ec
call fcn.004057f0
je 0x47f754
mov eax, dword [ebp - 4]
mov edx, 0x47f7f8
call fcn.004057f0
je 0x47f754
mov eax, dword [ebp - 4]
call fcn.00405858
mov edi, eax
mov edx, edi
lea eax, [ebp - 0xc]
call fcn.004055c0
mov eax, dword [ebp - 0xc]
call fcn.00409f58
test al, al
je 0x47f74c
mov eax, dword [ebp - 4]
call fcn.00405858
mov edx, eax
lea eax, [ebp - 0x10]
call fcn.004055c0
mov eax, dword [ebp - 0x10]
xor edx, edx
call fcn.004640b0
push 0x20
push edi
call sub.kernel32.dll_SetFileAttributesA
mov eax, dword [ebp - 4]
call fcn.00405858
mov edx, eax
lea eax, [ebp - 0x14]
call fcn.004055c0
mov eax, dword [ebp - 0x14]
call fcn.00405858
push eax
call sub.kernel32.dll_DeleteFileA
jmp 0x47f754
mov eax, dword [ebp - 4]
call fcn.00478394
inc esi
dec ebx
jne 0x47f69f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47f77e
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.004053ec
ret

Function at 0x482840
Capabilities:
Get common file path

Disassembly:
push ebx
add esp, 0xfffffef4
mov ebx, edx
push esp
push eax
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
lea eax, [esp + 4]
push eax
mov eax, dword [esp + 4]
push eax
call sub.shell32.dll_SHGetPathFromIDListA
mov eax, ebx
lea edx, [esp + 4]
mov ecx, 0x105
call fcn.00405638
add esp, 0x10c
pop ebx
ret
Function at 0x4837b8
Capabilities:
Create shortcut via ishelllink

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push 0
call sub.ole32.dll_CoInitialize_2
call sub.kernel32.dll_GetProcessHeap
mov dword [ebp - 0x14], eax
push 0x208
push 0
push dword [ebp - 0x14]
call sub.kernel32.dll_HeapAlloc
mov dword [ebp - 4], eax
lea eax, [ebp - 8]
push eax
push 0x532970
push 1
push 0
push 0x532960
call sub.ole32.dll_CoCreateInstance_1
mov dword [ebp - 0x10], eax
test eax, eax
js 0x4838a6
mov edx, dword [ebp - 8]
mov edx, dword [edx]
lea eax, [ebp - 0xc]
push eax
push 0x532980
push dword [ebp - 8]
call dword [edx]
mov dword [ebp - 0x10], eax
test eax, eax
js 0x483898
mov edx, dword [ebp - 8]
mov edx, dword [edx]
push dword [ebp + 8]
push dword [ebp - 8]
call dword [edx + 0x50]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
push 0
push dword [ebp + 8]
push dword [ebp - 8]
call dword [edx + 0x44]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
push dword [ebp + 0x14]
push dword [ebp - 8]
call dword [edx + 0x1c]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
push dword [ebp + 0x10]
push dword [ebp - 8]
call dword [edx + 0x24]
mov dword [ebp - 0x10], eax
push 0x104
push dword [ebp - 4]
push 0xffffffffffffffff
push dword [ebp + 0xc]
push 0
push 0
call sub.kernel32.dll_MultiByteToWideChar_1
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
push 1
push dword [ebp - 4]
push dword [ebp - 0xc]
call dword [edx + 0x18]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
push dword [ebp - 0xc]
call dword [edx + 8]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 8]
mov edx, dword [edx]
push dword [ebp - 8]
call dword [edx + 8]
mov dword [ebp - 0x10], eax
push dword [ebp - 4]
push 0
push dword [ebp - 0x14]
call sub.kernel32.dll_HeapFree
call sub.ole32.dll_CoUninitialize_1
mov eax, dword [ebp - 0x10]
leave
ret 0x10

Function at 0x483d0c
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef8
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
lea eax, [ebp - 0x107]
xor ecx, ecx
mov edx, 0xff
call fcn.00403aec
lea eax, [ebp - 4]
push eax
push esi
push ebx
call sub.advapi32.dll_RegOpenKeyA
mov dword [ebp - 8], 0xff
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x107]
push eax
push 0
push 0
push edi
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegCloseKey_1
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x107]
mov ecx, 0xff
call fcn.00405638
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x483d80
Capabilities:
Get installed programs
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdd8
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x218], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x483f7b
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 1
lea eax, [ebp - 0x20e]
xor ecx, ecx
mov edx, 0xff
call fcn.00403aec
lea eax, [ebp - 8]
push eax
push 0x20019
push 0
push esi
push ebx
call sub.advapi32.dll_RegOpenKeyExA_1
test eax, eax
jne 0x483f5d
xor esi, esi
push esi
mov esi, 0x483f90
lea edi, [ebp - 0x20e]
mov ecx, 0x3f
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
push esi
mov esi, 0x483f90
lea edi, [ebp - 0x10f]
mov ecx, 0x3f
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
pop esi
mov dword [ebp - 0x10], 0xff
mov eax, dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x10f]
push eax
push esi
mov eax, dword [ebp - 8]
push eax
call sub.advapi32.dll_RegEnumKeyA
mov ebx, eax
cmp ebx, 0x103
je 0x483f4b
test ebx, ebx
jne 0x483f43
lea eax, [ebp - 0xc]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x218]
lea edx, [ebp - 0x10f]
mov ecx, 0xff
call fcn.00405638
mov ecx, dword [ebp - 0x218]
lea eax, [ebp - 0x214]
mov edx, 0x484098
call fcn.004056e0
mov eax, dword [ebp - 0x214]
call fcn.00405858
push eax
push 0x80000002
call sub.advapi32.dll_RegOpenKeyExA_1
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20e]
push eax
push 0
push 0
push 0x4840d0
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
cmp byte [ebp - 0x20d], 0x3a
jne 0x483f42
cmp byte [ebp - 0x20c], 0x5c
jne 0x483f42
lea eax, [ebp - 0x220]
lea edx, [ebp - 0x20e]
mov ecx, 0xff
call fcn.00405638
mov eax, dword [ebp - 0x220]
lea edx, [ebp - 0x21c]
call fcn.00423570
mov edi, dword [ebp - 0x21c]
lea eax, [ebp - 0x224]
mov edx, edi
call fcn.004055c0
mov edx, dword [ebp - 0x224]
lea ecx, [ebp - 1]
mov eax, dword [0x63c9c8]
call fcn.00483bb4
lea eax, [ebp - 0x228]
mov edx, edi
call fcn.004055c0
mov edx, dword [ebp - 0x228]
mov eax, dword [0x63c9d8]
call fcn.00424644
cmp byte [ebp - 1], 0
je 0x483f4b
inc esi
test ebx, ebx
je 0x483df6
mov eax, dword [ebp - 8]
push eax
call sub.advapi32.dll_RegCloseKey_1
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_RegCloseKey_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x483f82
lea eax, [ebp - 0x228]
mov edx, 6
call fcn.004053ec
ret
Function at 0x484284
Capabilities:
Copy file
Create process on windows
Delete file

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405848
xor eax, eax
push ebp
push 0x48441f
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [0x6339ec]
cmp byte [eax], 0
jne 0x484404
cmp dword [ebp - 4], 0
je 0x4843cf
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.004033c4
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0xc]
call fcn.00423138
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.004056e0
mov eax, dword [ebp - 8]
call fcn.00405858
mov esi, eax
push esi
call sub.kernel32.dll_DeleteFileA
push 0xffffffffffffffff
push esi
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.004033c4
mov eax, dword [ebp - 0x14]
call fcn.00405858
push eax
call sub.kernel32.dll_CopyFileA
test eax, eax
je 0x48434e
mov eax, dword [ebp - 4]
push eax
mov ecx, 0x48442c
mov edx, 0x484430
mov eax, 0x80000002
call fcn.004237d0
mov eax, dword [ebp - 4]
call fcn.00403060
call fcn.00403024
mov eax, dword [0x6339e8]
mov edx, dword [ebp - 4]
call fcn.0040541c
jmp 0x484404
mov eax, esi
call fcn.00423070
test al, al
jne 0x48439b
push 0x484448
lea eax, [ebp - 0x1c]
mov edx, esi
call fcn.004055c0
push dword [ebp - 0x1c]
push 0x48445c
push 0x48446c
push 0x484478
push 0x484494
push 0x4844a4
lea eax, [ebp - 0x18]
mov edx, 7
call fcn.0040575c
mov eax, dword [ebp - 0x18]
call fcn.00405858
jmp 0x4843d6
mov eax, dword [ebp - 4]
push eax
mov ecx, 0x48442c
mov edx, 0x484430
mov eax, 0x80000002
call fcn.004237d0
mov eax, dword [ebp - 4]
call fcn.00403060
call fcn.00403024
mov eax, dword [0x6339e8]
mov edx, dword [ebp - 4]
call fcn.0040541c
jmp 0x484404
mov bl, 1
mov eax, 0x4844cc
push 0x10
push 0
push eax
mov eax, dword [0x63c9c8]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_MessageBoxA_1
test bl, bl
je 0x484404
push 1
push 0
push 0
push 0x4845a4
push 0
push 0
call sub.shell32.dll_ShellExecuteA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x484426
lea eax, [ebp - 0x1c]
mov edx, 7
call fcn.004053ec
ret
Function at 0x4887b0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebx
push esi
push edi
mov esi, eax
push esi
call sub.kernel32.dll_lstrlenA_1
mov edx, eax
dec edx
test edx, edx
jl 0x4887e5
inc edx
xor ecx, ecx
movzx ebx, byte [esi + ecx]
mov edi, eax
and edi, 0xff
xor ebx, edi
mov ebx, dword [ebx*4 + 0x633530]
shr eax, 8
xor ebx, eax
mov eax, ebx
inc ecx
dec edx
jne 0x4887c5
pop edi
pop esi
pop ebx
ret

Function at 0x488d1c
Capabilities:
Check os version

Disassembly:
push ebx
add esp, 0xffffff6c
xor ebx, ebx
mov dword [esp], 0x94
push esp
call sub.kernel32.dll_GetVersionExA
test eax, eax
je 0x488d4a
mov eax, dword [esp + 4]
cmp eax, 4
je 0x488d48
cmp eax, 5
je 0x488d48
xor ebx, ebx
jmp 0x488d4a
mov bl, 1
mov eax, ebx
add esp, 0x94
pop ebx
ret

Function at 0x697000
Capabilities:
Delete directory
Delete file
Move file
Terminate process

Disassembly:
push 0x697db7
call fcn.0069700f
jmp fcn.0048af38
Function at 0x697693
Capabilities:
Access peb ldr_data
Resolve function by hash

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
mov dword [ebp - 4], 0
cld
xor edx, edx
mov edx, dword fs:[edx + 0x30]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + 0x14]
mov esi, dword [edx + 0x28]
push 0x18
pop ecx
xor edi, edi
xor eax, eax
lodsb al, byte [esi]
cmp al, 0x61
jl 0x6976c1
sub al, 0x20
ror edi, 0xd
add edi, eax
loop 0x6976b8
cmp edi, 0x6a4abc5b
mov ebx, dword [edx + 0x10]
mov edx, dword [edx]
jne 0x6976b0
mov eax, ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x6976e2
mov esp, ebp
pop ebp
ret

Function at 0x6976e6
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
mov dword [ebp - 4], 0
add esp, 0xffffffec
push esi
push ebx
push edi
push edx
push ecx
mov eax, dword [ebp + 0x10]
xor edx, edx
xchg edx, eax
mov esi, 0x3c
add esi, dword [ebp + 0xc]
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x78]
add esi, 0x18
add esi, dword [ebp + 0xc]
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
add esi, 4
lea edi, [ebp - 8]
lodsd eax, dword [esi]
add eax, dword [ebp + 0xc]
stosd dword es:[edi], eax
mov dword [ebp - 8], eax
lodsd eax, dword [esi]
add eax, dword [ebp + 0xc]
push eax
stosd dword es:[edi], eax
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
pop esi
mov dword [ebp - 4], 0
push esi
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
xchg edi, eax
mov ebx, edi
push edi
xor al, al
scasb al, byte es:[edi]
jne 0x697752
pop esi
sub edi, ebx
push edx
cld
xor ecx, ecx
dec ecx
mov edx, ecx
xor eax, eax
xor ebx, ebx
lodsb al, byte [esi]
xor al, cl
mov cl, ch
mov ch, dl
mov dl, dh
mov dh, 8
shr bx, 1
rcr ax, 1
jae 0x69777f
xor ax, 0x8320
xor bx, 0xedb8
dec dh
jne 0x69776e
xor ecx, eax
xor edx, ebx
dec edi
jne 0x69775f
not edx
not ecx
mov eax, edx
rol eax, 0x10
mov ax, cx
pop edx
cmp edx, eax
je 0x6977a5
pop esi
add esi, 4
add dword [ebp - 4], 1
jmp 0x697746
pop esi
mov eax, dword [ebp - 4]
shl eax, 1
add eax, dword [ebp - 0x10]
xor esi, esi
xchg esi, eax
mov ax, word [esi]
shl ax, 2
add eax, dword [ebp - 8]
xchg esi, eax
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
pop ecx
pop edx
pop edi
pop ebx
pop esi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x6977d1
mov esp, ebp
pop ebp
ret 0xc