joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40ecb0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x20019
push 0
push str.SoftwareMicrosoftWindows_NTCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
mov esi, ecx
mov dword [ebp - 8], 0x64
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 8]
push eax
lea eax, [esi + 0x80]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.DisplayVersion
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x40ed10
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x20119
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
mov esi, ecx
mov dword [ebp - 0xc], 1
mov dword [ebp - 8], 4
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 8]
add esi, 4
push eax
push esi
lea eax, [ebp - 0xc]
push eax
push 0
push dword [ebp + 8]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push 0xa
push 4
push dword [ebp + 0xc]
push dword [esi]
call fcn.00454d70
add esp, 0x10
pop esi
mov esp, ebp
pop ebp
ret 8

Function at 0x40ed80
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x20006
push 0
push str.SoftwareMicrosoftSpeech_OneCoreSettingsOnlineSpeechPrivacy
push SysReAllocStringLen
mov esi, ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 4
lea eax, [esi + 8]
push eax
push 4
push 0
push str.HasAccepted
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x40edd0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x20006
push 0
push 0x46ee68
push SysReAllocStringLen
mov esi, ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 4
push esi
push 4
push 0
push str.SecureProtocols
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x40ee20
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x20006
push 0
push str.SoftwareMicrosoftTabletTip1.7
push SysReAllocStringLen
mov esi, ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 4
lea eax, [esi + 8]
push eax
push 4
push 0
push str.EnableTextPrediction
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x40ee70
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x2001f
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionContentDeliveryManager
push SysReAllocStringLen
mov esi, ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 4
lea eax, [esi + 0x18]
push eax
push 4
push 0
push str.RotatingLockScreenEnabled
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x40eec0
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x2001f
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionContentDeliveryManager
push SysReAllocStringLen
mov esi, ecx
mov dword [ebp - 0x10], 1
mov dword [ebp - 0xc], 4
mov dword [ebp - 8], 4
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 8]
push eax
lea eax, [esi + 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push str.RotatingLockScreenEnabled
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push 4
lea eax, [ebp - 0x10]
push eax
push 4
push 0
push str.RotatingLockScreenEnabled
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x40ef42
mov dword [esi + 0x1e4], 0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x40ef50
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0
push 0x20006
push 0
push 0
push 0
push str.SoftwareMicrosoftTabletTip1.7
push SysReAllocStringLen
mov dword [ebp - 8], 1
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
lea eax, [ebp - 4]
push eax
push 0x20006
push 0
push str.SoftwareMicrosoftTabletTip1.7
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push 4
lea eax, [ebp - 8]
push eax
push 4
push 0
push str.EnableDesktopModeAutoInvoke
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esp, ebp
pop ebp
ret
Function at 0x40fa10
Capabilities:
Delete file
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
push 0x104
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push edi
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push eax
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00407d80
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionA]
push esi
mov esi, dword [ebp + 0xc]
push esi
push edi
call fcn.0044a958
push 0x46d7e0
push esi
push edi
call fcn.0044a9b2
lea eax, [ebp - 0x108]
push eax
push esi
push edi
call fcn.0044a9b2
push 0x46d7e0
push esi
push edi
call fcn.0044a9b2
push str.Audio
push esi
push edi
call fcn.0044a9b2
push str..dll
push esi
push edi
call fcn.0044a9b2
add esp, 0x48
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x46edec
push 0xb8
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0
push 0x80
push 2
push 0
push 3
push 0xc0000000
push edi
mov dword [ebp - 0x10c], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x40fb3b
push 0
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x10c]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0xc
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
push edi
push str._dllPath_
push str.You_do_not_have_write_and_execute_permissions_to_at_least_one_of_the_following_folders._To_use_this_application__you_must_have_write_execute_access._r_n_dllPath_.
push str.NoFolderAccess
mov ecx, 0x511bf0
call fcn.004193b0
push 1
mov ecx, 0x511bf0
mov dword [0x51d838], 1
mov dword [0x506050], 1
call fcn.00419740
mov ecx, 0x511bf0
call fcn.00411b20
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0xc
Function at 0x40fba0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1858
call fcn.00444d50
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push str.OPTIONS
push 0x88
xorps xmm0, xmm0
push 0
movlpd qword [ebp - 0x1858], xmm0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov dword [ebp - 0x1850], esi
cmp esi, 0x800
jae 0x40fc7f
test esi, esi
je 0x40fc6b
test edi, edi
je 0x40fc26
cmp esi, 0x800
ja 0x40fc26
push esi
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.00447180
add esp, 0xc
jmp 0x40fc6b
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.00447700
add esp, 0xc
test edi, edi
jne 0x40fc4d
call fcn.0044f7da
mov dword [eax], 0x16
jmp 0x40fc60
cmp esi, 0x800
jbe 0x40fc71
call fcn.0044f7da
mov dword [eax], 0x22
call fcn.0044f700
mov esi, dword [ebp - 0x1850]
cmp esi, 0x800
jae 0x40fd4a
mov byte [ebp + esi - 0x804], 0
lea eax, [ebp - 0x184c]
push eax
push dword [0x49845c]
push 0x498460
call fcn.004041a0
lea eax, [ebp - 0x1850]
push eax
lea eax, [ebp - 0x804]
push eax
call fcn.00403df0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x40fd2e
lea eax, [ebp - 0x184c]
push eax
lea eax, [ebp - 0x1850]
push eax
push esi
call fcn.00403ec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x40fd27
mov eax, dword [ebp - 0x1850]
test eax, eax
je 0x40fd20
push edi
push eax
lea eax, [ebp - 0x804]
mov ecx, 0x5420e0
push eax
call fcn.004417e0
lea ecx, [ebp - 0x804]
mov eax, 0x5354504f
cmp eax, dword [ecx]
jne 0x40fd20
mov eax, 0x3a
cmp al, byte [ecx + 4]
jne 0x40fd20
lea eax, [ebp - 0x1858]
push eax
lea eax, [ebp - 0x7ff]
push str._lld
push eax
call fcn.00402ca0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1858]
xor ecx, ebp
mov edx, dword [ebp - 0x1854]
pop edi
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret
call fcn.00444ed2
int3
Function at 0x40fd50
Capabilities:
Create directory
Delete file
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
push 0x104
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push edi
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push eax
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00407d80
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionA]
push esi
mov esi, dword [ebp + 0xc]
push esi
push edi
call fcn.0044a958
push 0x46d7e0
push esi
push edi
call fcn.0044a9b2
lea eax, [ebp - 0x108]
push eax
push esi
push edi
call fcn.0044a9b2
add esp, 0x24
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x46d7e0
push esi
push edi
call fcn.0044a9b2
push str.ITS_Process_Status.dll
push esi
push edi
call fcn.0044a9b2
add esp, 0x18
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x46edec
push 0xf5
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0
push 0x80
push 2
push 0
push 3
push 0xc0000000
push edi
mov dword [ebp - 0x10c], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x40fe7b
push 0
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x10c]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0xc
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
push edi
push str._dllPath_
push str.You_do_not_have_write_and_execute_permissions_to_at_least_one_of_the_following_folders._To_use_this_application__you_must_have_write_execute_access._r_n_dllPath_.
push str.NoFolderAccess
mov ecx, 0x511bf0
call fcn.004193b0
push 1
mov ecx, 0x511bf0
mov dword [0x51d838], 1
mov dword [0x506050], 1
call fcn.00419740
mov ecx, 0x511bf0
call fcn.00411b20
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0xc
Function at 0x410450
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
push eax
lea eax, [ebp - 0x108]
mov esi, ecx
push 0x104
push eax
call fcn.0044a958
push str.Resources
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0044a9b2
add esp, 0x18
lea eax, [ebp - 0x108]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push str.environ.bin
push 0xaa
push str.ENVIRONMENT
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.candidat.bin
push 0xae
push str.CANDIDATE
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.errorurl.bin
push 0xa1
push str.ERRORURL
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.exitlist.bin
push 0x8d
push str.EXITLIST
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.institut.bin
push 0xad
push str.INSTITUTION
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.interval.bin
push 0x85
push str.INTERVAL
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.language.bin
push 0xaf
push str.LANGUAGE
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.logpath.bin
push 0x8b
push str.LOGPATH
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.message.bin
push 0x9e
push str.MESSAGE
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.options.bin
push 0x88
push str.OPTIONS
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.program.bin
push 0xab
push str.PROGRAM
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.safe.bin
push 0x67
push str.SAFE
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.safedom.bin
push 0x8e
push str.SAFEDOM
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.unsafe.bin
push 0x6f
push str.UNSAFE
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.unsafedo.bin
push 0x96
push str.UNSAFEDOM
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.updateur.bin
push 0x94
push str.UPDATEURL
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.url.bin
push 0x75
push 0x46df68
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.killlist.bin
push 0xa8
push str.KILLLIST
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.alturl.bin
push 0x7c
push str.ALTURL
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.ecminver.bin
push 0xa5
push str.ECMINVERSION
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.killonex.bin
push 0xbc
push str.KILLONQUITLIST
lea eax, [ebp - 0x108]
push eax
mov ecx, esi
call fcn.00410230
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 4
Function at 0x410710
Capabilities:
Create directory
Delete file
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
push 0x104
push edi
push 0
mov dword [ebp - 0x10c], 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push edi
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push eax
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00407d80
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionA]
cmp dword [0x50f4ac], 1
jne 0x4107ad
push esi
call fcn.00454fb0
lea ecx, [ebp - 0x10c]
push ecx
push 0x46d7e0
push eax
call fcn.00454f6c
push dword [ebp - 0x10c]
call fcn.00454fb0
mov edx, esi
add esp, 0x14
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x4107a0
push esi
mov esi, dword [ebp + 0xc]
push esi
push edi
call fcn.0044a958
push 0x46d7e0
push esi
push edi
call fcn.0044a9b2
lea eax, [ebp - 0x108]
push eax
push esi
push edi
call fcn.0044a9b2
add esp, 0x24
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x46d7e0
push esi
push edi
call fcn.0044a9b2
push str.ITS_SB_App_Switch.exe
push esi
push edi
call fcn.0044a9b2
add esp, 0x18
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x46edec
push 0xf4
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0
push 0x80
push 2
push 0
push 3
push 0xc0000000
push edi
mov dword [ebp - 0x110], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x410885
push 0
lea eax, [ebp - 0x114]
push eax
push dword [ebp - 0x110]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0xc
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
push edi
push str._dllPath_
push str.You_do_not_have_write_and_execute_permissions_to_at_least_one_of_the_following_folders._To_use_this_application__you_must_have_write_execute_access._r_n_dllPath_.
push str.NoFolderAccess
mov ecx, 0x511bf0
call fcn.004193b0
push 1
mov ecx, 0x511bf0
mov dword [0x51d838], 1
mov dword [0x506050], 1
call fcn.00419740
mov ecx, 0x511bf0
call fcn.00411b20
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0xc
Function at 0x410ae0
Capabilities:
Create directory
Delete file
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0x10]
push 0x104
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push eax
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00407d80
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionA]
push esi
mov esi, dword [ebp + 0xc]
push esi
push ebx
call fcn.0044a958
push 0x46d7e0
push esi
push ebx
call fcn.0044a9b2
lea eax, [ebp - 0x108]
push eax
push esi
push ebx
call fcn.0044a9b2
add esp, 0x24
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x46d7e0
push esi
push ebx
call fcn.0044a9b2
push str.TestSecurity.
push esi
push ebx
call fcn.0044a9b2
push edi
push esi
push ebx
call fcn.0044a9b2
push str..dll
push esi
push ebx
call fcn.0044a9b2
add esp, 0x30
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x46edec
push 0x74
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0
push 0x80
push 2
push 0
push 3
push 0xc0000000
push ebx
mov dword [ebp - 0x10c], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x410c0c
push 0
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x10c]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0x10
Function at 0x411410
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
xor esi, esi
mov dword [ebp - 0x58], edi
mov eax, dword [edi + 0x2d9f8]
mov byte [eax], 0
cmp byte [ebx], 0
je 0x41153e
nop
xor edx, edx
xor eax, eax
mov cl, byte [esi + ebx]
mov byte [ebp + eax - 0x54], cl
test cl, cl
je 0x411453
inc edx
inc esi
jmp 0x411461
cmp eax, 3
jae 0x411551
mov byte [ebp + eax - 0x54], 0
inc eax
cmp eax, 3
jl 0x411444
test edx, edx
je 0x411534
movups xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movzx eax, byte [0x46f590]
movzx ecx, byte [ebp - 0x54]
movzx edi, byte [ebp - 0x53]
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x10], al
mov eax, ecx
movups xmm0, xmmword [0x46f560]
shr eax, 2
and ecx, 3
shl ecx, 4
movups xmmword [ebp - 0x40], xmm0
movups xmm0, xmmword [0x46f570]
movups xmmword [ebp - 0x30], xmm0
movups xmm0, xmmword [0x46f580]
movups xmmword [ebp - 0x20], xmm0
movzx eax, byte [ebp + eax - 0x50]
mov byte [ebp - 0xc], al
mov eax, edi
shr eax, 4
or eax, ecx
movzx eax, byte [ebp + eax - 0x50]
mov byte [ebp - 0xb], al
cmp edx, 1
jle 0x4114fd
mov cl, byte [ebp - 0x52]
and edi, 0xf
movzx eax, cl
shr eax, 6
shl edi, 2
or eax, edi
mov al, byte [ebp + eax - 0x50]
mov byte [ebp - 0xa], al
cmp edx, 2
jle 0x411501
movzx eax, cl
and eax, 0x3f
mov al, byte [ebp + eax - 0x50]
jmp 0x411503
mov byte [ebp - 0xa], 0x3d
mov al, 0x3d
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 9], al
mov byte [ebp - 8], 0
mov edx, dword [ecx + 0x2d9f8]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411518
sub ecx, edi
lea eax, [ebp - 0xc]
push 5
push eax
lea eax, [ecx + 6]
push eax
push edx
call fcn.00455476
add esp, 0x10
cmp byte [esi + ebx], 0
jne 0x411440
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 4
call fcn.00444ed2
int3