joyce8/EMBER2024-capa huggingface dataset:
Function at 0x48479c
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Resolve dns

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], edx
mov esi, eax
xor eax, eax
push ebp
push 0x4848ce
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
push 0
push 1
push 2
call sub.wsock32.dll_socket
mov dword [0x49a39c], eax
cmp dword [0x49a39c], 0xffffffff
je 0x4848b3
mov word [ebp - 0x10], 2
mov eax, dword [0x49248c]
movzx eax, word [eax]
push eax
call sub.wsock32.dll_htons
mov word [ebp - 0xe], ax
mov eax, dword [0x4925e8]
mov eax, dword [eax]
push eax
call sub.wsock32.dll_inet_addr
mov edi, eax
mov dword [ebp - 0xc], edi
inc edi
jne 0x484828
mov eax, dword [0x4925e8]
mov eax, dword [eax]
push eax
call sub.wsock32.dll_gethostbyname
test eax, eax
je 0x4848b3
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
push 0x10
lea eax, [ebp - 0x10]
push eax
mov eax, dword [0x49a39c]
push eax
call sub.wsock32.dll_connect
push 0
push 0x1fff
push 0x49839c
mov eax, dword [0x49a39c]
push eax
call sub.wsock32.dll_recv
mov eax, 0x49839c
xor ecx, ecx
mov edx, 0x2000
call fcn.00403af4
lea edx, [ebp - 0x18]
mov eax, dword [esi + 0x50]
call fcn.00409d60
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
mov edx, 0x4848e8
call fcn.00405864
mov edx, dword [ebp - 0x14]
mov eax, dword [0x49a39c]
call fcn.00474dbc
push 0
push 0x1fff
push 0x49839c
mov eax, dword [0x49a39c]
push eax
call sub.wsock32.dll_recv
mov eax, 0x49839c
xor ecx, ecx
mov edx, 0x2000
call fcn.00403af4
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4848d5
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.00405554
ret
Function at 0x485eec
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004059cc
mov eax, dword [ebp - 8]
call fcn.004059cc
mov eax, dword [ebp - 0xc]
call fcn.004059cc
mov eax, dword [ebp + 8]
call fcn.004059cc
xor eax, eax
push ebp
push 0x486050
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x49a3a4
call sub.kernel32.dll_EnterCriticalSection
xor eax, eax
push ebp
push 0x486019
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.00485960
test al, al
je 0x485f64
call fcn.00404f70
jmp 0x486020
push dword [ebp - 4]
push 0x486068
push dword [ebp - 8]
push 0x486068
push dword [ebp - 0xc]
push 0x486068
push dword [ebp + 8]
push 0x486074
lea eax, [ebp - 0x10]
mov edx, 8
call fcn.004058e0
mov edx, dword [ebp - 0x10]
mov eax, dword [0x49a3a0]
mov ecx, dword [eax]
call dword [ecx + 0x38]
push 0x10
push 0x40
call sub.kernel32.dll_LocalAlloc_1
mov esi, eax
mov ebx, esi
mov eax, dword [ebp - 8]
call fcn.00409ecc
mov dword [ebx], eax
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0xc]
call fcn.00409b6c
mov edx, dword [ebp - 0x18]
lea eax, [ebx + 4]
call fcn.00405584
lea edx, [ebp - 0x1c]
mov eax, dword [ebp + 8]
call fcn.00409b6c
mov edx, dword [ebp - 0x1c]
lea eax, [ebx + 8]
call fcn.00405584
xor eax, eax
mov dword [ebx + 0xc], eax
lea eax, [ebp - 0x14]
push eax
push 0
push esi
push 0x485474
push 0
push 0
call sub.kernel32.dll_CreateThread_1
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x486020
push 0x49a3a4
call sub.kernel32.dll_LeaveCriticalSection
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x486057
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.00405554
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00405554
lea eax, [ebp + 8]
call fcn.00405530
ret

Function at 0x48652c
Capabilities:
Power down monitor

Disassembly:
push ebx
mov ebx, eax
cmp byte [ebx + 0x50], 0
je 0x48653c
xor eax, eax
call fcn.004884e4
cmp byte [ebx + 0x51], 0
je 0x486549
xor eax, eax
call fcn.00488638
cmp byte [ebx + 0x52], 0
je 0x486565
push 2
push 0xf170
push 0x112
push 0xffff
call sub.user32.dll_SendMessageA
cmp byte [ebx + 0x53], 0
je 0x486572
mov al, 1
call fcn.004897e8
pop ebx
ret

Function at 0x48734c
Capabilities:
Create process on windows

Disassembly:
sub eax, 1
jb 0x48735d
je 0x487375
sub eax, 2
je 0x48738d
dec eax
je 0x487393
jmp 0x487398
push 5
push 0
push 0
push 0x48739c
push 0x4873a4
push 0
call sub.shell32.dll_ShellExecuteA
ret
push 5
push 0
push 0
push 0x4873ac
push 0x4873a4
push 0
call sub.shell32.dll_ShellExecuteA
ret
call fcn.00461b78
ret
call fcn.00461bb0
ret
Function at 0x487eac
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
mov dword [ebp - 4], edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.004059cc
xor eax, eax
push ebp
push 0x487f26
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [esi + 0x48], 0
je 0x487f10
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x487ee1
sub ebx, 4
mov ebx, dword [ebx]
push 0
lea eax, [ebp - 8]
push eax
push ebx
mov eax, dword [ebp - 4]
call fcn.004059dc
push eax
mov eax, dword [esi + 0x40]
push eax
call sub.kernel32.dll_WriteFile_1
push 0
lea eax, [ebp - 8]
push eax
push 2
push 0x487f3c
mov eax, dword [esi + 0x40]
push eax
call sub.kernel32.dll_WriteFile_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x487f2d
lea eax, [ebp - 4]
call fcn.00405530
ret

Function at 0x4881f8
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push ebx
push esi
mov esi, eax
xor eax, eax
push ebp
push 0x4882a7
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, 0x104
call fcn.00405c6c
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x48822a
sub ebx, 4
mov ebx, dword [ebx]
mov eax, dword [ebp - 4]
call fcn.004059dc
push eax
push ebx
call sub.kernel32.dll_GetTempPathA
mov edx, eax
lea eax, [ebp - 4]
call fcn.00405c6c
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x48824f
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 8]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00405a44
mov eax, dword [ebp - 8]
mov edx, 0x4882bc
call fcn.00405974
je 0x488282
mov eax, esi
mov ecx, 0x4882bc
mov edx, dword [ebp - 4]
call fcn.00405864
jmp 0x48828c
mov eax, esi
mov edx, dword [ebp - 4]
call fcn.00405584
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4882ae
lea eax, [ebp - 8]
mov edx, 2
call fcn.00405554
ret

Function at 0x4882c0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push ebx
push esi
mov esi, eax
xor eax, eax
push ebp
push 0x48836f
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, 0x104
call fcn.00405c6c
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4882f2
sub ebx, 4
mov ebx, dword [ebx]
push ebx
mov eax, dword [ebp - 4]
call fcn.004059dc
push eax
call sub.kernel32.dll_GetSystemDirectoryA
mov edx, eax
lea eax, [ebp - 4]
call fcn.00405c6c
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x488317
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 8]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00405a44
mov eax, dword [ebp - 8]
mov edx, 0x488384
call fcn.00405974
je 0x48834a
mov eax, esi
mov ecx, 0x488384
mov edx, dword [ebp - 4]
call fcn.00405864
jmp 0x488354
mov eax, esi
mov edx, dword [ebp - 4]
call fcn.00405584
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x488376
lea eax, [ebp - 8]
mov edx, 2
call fcn.00405554
ret
Function at 0x488388
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push ebx
push esi
mov esi, eax
xor eax, eax
push ebp
push 0x488437
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, 0x104
call fcn.00405c6c
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4883ba
sub ebx, 4
mov ebx, dword [ebx]
push ebx
mov eax, dword [ebp - 4]
call fcn.004059dc
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
mov edx, eax
lea eax, [ebp - 4]
call fcn.00405c6c
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4883df
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 8]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00405a44
mov eax, dword [ebp - 8]
mov edx, 0x48844c
call fcn.00405974
je 0x488412
mov eax, esi
mov ecx, 0x48844c
mov edx, dword [ebp - 4]
call fcn.00405864
jmp 0x48841c
mov eax, esi
mov edx, dword [ebp - 4]
call fcn.00405584
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48843e
lea eax, [ebp - 8]
mov edx, 2
call fcn.00405554
ret

Function at 0x488450
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
xor edx, edx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004059cc
xor eax, eax
push ebp
push 0x4884bd
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
lea eax, [ebp - 8]
mov ecx, dword [ebp - 4]
mov edx, 0x4884d0
call fcn.00405864
mov eax, dword [ebp - 8]
call fcn.004059dc
push eax
push 0x4884d4
push 0x4884dc
push 0
call sub.shell32.dll_ShellExecuteA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4884c4
lea eax, [ebp - 8]
mov edx, 2
call fcn.00405554
ret

Function at 0x4886b8
Capabilities:
Shutdown system

Disassembly:
push ebx
add esp, 0xffffffd8
mov ebx, eax
mov eax, dword [0x4927cc]
cmp dword [eax], 2
jne 0x488732
push esp
push 0x28
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.advapi32.dll_OpenProcessToken
cmp eax, 1
sbb eax, eax
inc eax
test al, al
je 0x488732
lea eax, [esp + 0xc]
push eax
push 0x488748
push 0
call sub.advapi32.dll_LookupPrivilegeValueA
cmp eax, 1
sbb eax, eax
inc eax
mov dword [esp + 8], 1
mov dword [esp + 0x14], 2
mov edx, 0x10
xor ecx, ecx
mov dword [esp + 4], ecx
test al, al
je 0x488732
lea eax, [esp + 4]
push eax
lea eax, [esp + 0x1c]
push eax
push edx
lea eax, [esp + 0x14]
push eax
push 0
mov eax, dword [esp + 0x14]
push eax
call sub.advapi32.dll_AdjustTokenPrivileges
push 0
push ebx
call sub.user32.dll_ExitWindowsEx
cmp eax, 1
sbb eax, eax
inc eax
add esp, 0x28
pop ebx
ret
Function at 0x488860
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc0
push ebx
push esi
mov dword [ebp - 4], edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.004059cc
xor eax, eax
push ebp
push 0x4888ec
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
lea eax, [ebp - 0x40]
xor ecx, ecx
mov edx, 0x3c
call fcn.00403af4
mov dword [ebp - 0x40], 0x3c
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], 0x500
mov eax, dword [ebp - 4]
call fcn.004059dc
mov dword [ebp - 0x30], eax
mov eax, 0x4888fc
mov dword [ebp - 0x34], eax
mov eax, 0x488904
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 1
lea eax, [ebp - 0x40]
push eax
call sub.shell32.dll_ShellExecuteExA
test eax, eax
je 0x4888d6
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4888f3
lea eax, [ebp - 4]
call fcn.00405530
ret

Function at 0x488a10
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
xor edx, edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004059cc
xor eax, eax
push ebp
push 0x488a98
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x22]
xor ecx, ecx
mov edx, 0x1e
call fcn.00403af4
mov dword [ebp - 0x1e], 3
lea eax, [ebp - 0x28]
mov ecx, 0x488ab0
mov edx, dword [ebp - 4]
call fcn.00405864
mov eax, dword [ebp - 0x28]
call fcn.004059dc
mov dword [ebp - 0x1a], eax
mov word [ebp - 0x12], 0x54
lea eax, [ebp - 0x22]
push eax
call sub.shell32.dll_SHFileOperationA
test eax, eax
sete bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x488a9f
lea eax, [ebp - 0x28]
call fcn.00405530
lea eax, [ebp - 4]
call fcn.00405530
ret
Function at 0x488ef4
Capabilities:
Create a process with modified i/o handles and window
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffc7c
push ebx
push esi
push edi
mov esi, ecx
mov ebx, edx
mov edi, eax
mov eax, ebx
call fcn.0040a25c
test al, al
jne 0x488f1a
mov byte [ebp - 1], 0
jmp 0x4890ea
lea eax, [ebp - 0x119]
mov edx, edi
call fcn.0040a918
lea eax, [ebp - 0x21e]
mov edx, ebx
call fcn.0040a918
lea eax, [ebp - 0x323]
mov edx, esi
call fcn.0040a918
xor eax, eax
push ebp
push 0x4890e3
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x384]
xor ecx, ecx
mov edx, 0xc
call fcn.00403af4
mov dword [ebp - 0x384], 0xc
xor eax, eax
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], 0xffffffff
push 0
push pe_nt_image_headers32
push 4
lea eax, [ebp - 0x384]
push eax
push 3
push 0xc0000000
lea eax, [ebp - 0x21e]
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x488fb7
mov byte [ebp - 1], 0
call fcn.00404f70
jmp 0x4890ea
push 0
push pe_nt_image_headers32
push 2
lea eax, [ebp - 0x384]
push eax
push 3
push 0xc0000000
lea eax, [ebp - 0x323]
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x488ff1
mov byte [ebp - 1], 0
call fcn.00404f70
jmp 0x4890ea
lea eax, [ebp - 0x368]
xor ecx, ecx
mov edx, 0x44
call fcn.00403af4
mov dword [ebp - 0x368], 0x44
mov dword [ebp - 0x33c], 0x101
mov word [ebp - 0x338], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x330], eax
lea eax, [ebp - 0x378]
push eax
lea eax, [ebp - 0x368]
push eax
push 0
push 0
push 0x110
push 0xffffffffffffffff
push 0
push 0
lea eax, [ebp - 0x119]
push eax
push 0
call sub.kernel32.dll_CreateProcessA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x48908e
push 0xffffffffffffffff
mov eax, dword [ebp - 0x378]
push eax
call sub.kernel32.dll_WaitForSingleObject
mov eax, dword [ebp - 0x378]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0xc], eax
jmp 0x489099
mov byte [ebp - 1], 0
call fcn.00404f70
jmp 0x4890ea
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4890ea
cmp dword [ebp - 0x14], 0
je 0x4890b5
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_CloseHandle_1
cmp dword [ebp - 0x10], 0
je 0x4890c4
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_CloseHandle_1
cmp dword [ebp - 0xc], 0
je 0x4890d3
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_CloseHandle_1
cmp dword [ebp - 8], 0
je 0x4890e2
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_CloseHandle_1
ret
movzx eax, byte [ebp - 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4891a0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004059cc
mov eax, dword [ebp - 8]
call fcn.004059cc
xor eax, eax
push ebp
push 0x48924f
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x48922d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.0040a25c
test al, al
je 0x4891f2
mov eax, dword [ebp - 8]
call fcn.004059dc
push eax
call sub.kernel32.dll_DeleteFileA
mov dl, 1
mov eax, dword [0x417824]
call fcn.00404620
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x74]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x489234
mov eax, dword [ebp - 0xc]
call fcn.00404650
ret

Function at 0x48925c
Capabilities:
Get token privileges

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4893a8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00405530
mov eax, 0x320
call fcn.00402f00
mov dword [ebp - 0xc], eax
lea eax, [ebp - 8]
push eax
push 0x28
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.advapi32.dll_OpenProcessToken
test eax, eax
jne 0x4892b2
mov eax, 0x4893c0
call fcn.00488188
lea eax, [ebp - 0x10]
push eax
push 0x320
mov eax, dword [ebp - 0xc]
push eax
push 3
mov eax, dword [ebp - 8]
push eax
call sub.advapi32.dll_GetTokenInformation
test eax, eax
jne 0x4892d8
mov eax, 0x4893e0
call fcn.00488188
mov eax, 0xff
call fcn.00402f00
mov ebx, eax
mov eax, 0xff
call fcn.00402f00
mov esi, eax
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
dec edi
test edi, edi
jl 0x489377
inc edi
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 0xff
mov dword [ebp - 0x18], 0xff
lea eax, [ebp - 0x18]
push eax
push ebx
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 0xc]
lea eax, [edx + eax*4 + 4]
push eax
push 0
call sub.advapi32.dll_LookupPrivilegeNameA
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
push esi
push ebx
push 0
call sub.advapi32.dll_LookupPrivilegeDisplayNameA
mov eax, dword [ebp - 4]
push dword [eax]
lea eax, [ebp - 0x24]
mov edx, ebx
call fcn.00405728
push dword [ebp - 0x24]
push 0x489404
lea eax, [ebp - 0x28]
mov edx, esi
call fcn.00405728
push dword [ebp - 0x28]
push 0x489410
mov eax, dword [ebp - 4]
mov edx, 5
call fcn.004058e0
inc dword [ebp - 0x14]
dec edi
jne 0x489302
mov eax, ebx
call fcn.00402f1c
mov eax, esi
call fcn.00402f1c
mov eax, dword [ebp - 0xc]
call fcn.00402f1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4893af
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00405554
ret
Function at 0x489414
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeec
push ebx
push esi
xor ecx, ecx
mov dword [ebp - 0x114], ecx
mov dword [ebp - 4], ecx
mov esi, edx
xor edx, edx
push ebp
push 0x4894d4
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 8]
push edx
push eax
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
lea eax, [ebp - 0x10d]
push eax
mov eax, dword [ebp - 8]
push eax
call sub.shell32.dll_SHGetPathFromIDListA
lea edx, [ebp - 4]
lea eax, [ebp - 0x10d]
call fcn.0040aa98
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x489470
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x114]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00405a44
mov eax, dword [ebp - 0x114]
mov edx, 0x4894ec
call fcn.00405974
je 0x4894a9
mov eax, esi
mov ecx, 0x4894ec
mov edx, dword [ebp - 4]
call fcn.00405864
jmp 0x4894b3
mov eax, esi
mov edx, dword [ebp - 4]
call fcn.00405584
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4894db
lea eax, [ebp - 0x114]
call fcn.00405530
lea eax, [ebp - 4]
call fcn.00405530
ret

Function at 0x489630
Capabilities:
Get token privileges

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x48973b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x320
call fcn.00402f00
mov edi, eax
lea eax, [ebp - 4]
push eax
push 0x28
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.advapi32.dll_OpenProcessToken
test eax, eax
jne 0x489674
push 1
call sub.kernel32.dll_Sleep_1
lea eax, [ebp - 8]
push eax
push 0x320
push edi
push 3
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_GetTokenInformation
test eax, eax
jne 0x489694
push 1
call sub.kernel32.dll_Sleep_1
mov eax, 0xff
call fcn.00402f00
mov ebx, eax
mov eax, 0xff
call fcn.00402f00
mov dword [ebp - 0x10], eax
mov esi, dword [edi]
dec esi
test esi, esi
jl 0x48970f
inc esi
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x18], 0xff
mov dword [ebp - 0x14], 0xff
lea eax, [ebp - 0x14]
push eax
push ebx
mov eax, dword [ebp - 0xc]
lea eax, [eax + eax*2]
lea eax, [edi + eax*4 + 4]
push eax
push 0
call sub.advapi32.dll_LookupPrivilegeNameA
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x10]
push eax
push ebx
push 0
call sub.advapi32.dll_LookupPrivilegeDisplayNameA
lea eax, [ebp - 0x20]
mov edx, ebx
call fcn.00405728
mov eax, dword [ebp - 0x20]
mov dl, 1
call fcn.004894f0
inc dword [ebp - 0xc]
dec esi
jne 0x4896bc
mov eax, ebx
call fcn.00402f1c
mov eax, dword [ebp - 0x10]
call fcn.00402f1c
mov eax, edi
call fcn.00402f1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x489742
lea eax, [ebp - 0x20]
call fcn.00405530
ret
Function at 0x48ac60
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffedc
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004059cc
xor eax, eax
push ebp
push 0x48ad21
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x48acff
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x22]
xor ecx, ecx
mov edx, 0x1e
call fcn.00403af4
lea eax, [ebp - 0x122]
xor ecx, ecx
mov edx, pe_nt_image_headers32
call fcn.00403af4
lea eax, [ebp - 0x122]
mov edx, dword [ebp - 4]
call fcn.0040a918
xor eax, eax
mov dword [ebp - 0x22], eax
lea eax, [ebp - 0x122]
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x1e], 3
mov word [ebp - 0x12], 0x40
or word [ebp - 0x12], 0x10
or word [ebp - 0x12], 4
lea eax, [ebp - 0x22]
push eax
call sub.shell32.dll_SHFileOperationA
test eax, eax
sete bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48ad0b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48ad28
lea eax, [ebp - 4]
call fcn.00405530
ret

Function at 0x48ae34
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffee0
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004059cc
xor eax, eax
push ebp
push 0x48af34
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x48aef7
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0x105
lea eax, [ebp - 0x115]
push eax
mov eax, dword [ebp - 4]
call fcn.004059dc
push eax
call sub.kernel32.dll_GetVolumeInformationA
lea eax, [ebp - 0x120]
lea edx, [ebp - 0x115]
mov ecx, 0x105
call fcn.004057a0
mov eax, dword [ebp - 0x120]
lea edx, [ebp - 0x11c]
call fcn.00409b6c
cmp dword [ebp - 0x11c], 0
jne 0x48aedf
mov eax, dword [ebp - 8]
mov edx, 0x48af4c
call fcn.00405584
jmp 0x48aeed
mov edx, dword [ebp - 8]
lea eax, [ebp - 0x115]
call fcn.0040aa98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48af0e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48af3b
lea eax, [ebp - 0x120]
mov edx, 2
call fcn.00405554
lea eax, [ebp - 4]
call fcn.00405530
ret