joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4455a0
Capabilities:
Check http status code
Create http request
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x420
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntryW]
push 0
push 0
push 0
push 0
push str.Mozilla_4.0__compatible__MSIE_6.0__Windows_NT_5.1__SV1_
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4455f1
mov eax, 1
jmp 0x44575a
push 4
lea ecx, [ebp + 0xc]
push ecx
push 2
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea eax, [ebp + 0xc]
push eax
push 5
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea edx, [ebp + 0xc]
push edx
push 6
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea ecx, [ebp + 0xc]
push ecx
push 8
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push 0
push 0x80080000
push 0
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x44566f
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, 1
jmp 0x44575a
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 4
push 0
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 4]
push ecx
push 0x20000013
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
mov dword [ebp - 0x10], 0
cmp dword [ebp - 4], 0xc8
jb 0x445737
cmp dword [ebp - 4], 0x12b
ja 0x445737
mov byte [ebp - 0x420], 0
push 0x3ff
push 0
lea eax, [ebp - 0x41f]
push eax
call fcn.00506190
add esp, 0xc
mov dword [ebp - 0x18], 0
push 0x400
push 0
lea ecx, [ebp - 0x420]
push ecx
call fcn.00506190
add esp, 0xc
lea edx, [ebp - 0x18]
push edx
push 0x400
lea eax, [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x445720
cmp dword [ebp + 0x10], 0
je 0x445720
cmp dword [ebp - 0x18], 0
jne 0x445722
jmp 0x445737
lea edx, [ebp - 0x420]
push edx
mov ecx, dword [ebp + 0x10]
call fcn.00445d10
cmp dword [ebp - 0x18], 0
jne 0x4456db
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x10], 0
je 0x445755
xor eax, eax
jmp 0x44575a
mov eax, 1
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret
Function at 0x448a30
Capabilities:
Get cpu information
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x828
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x828], ecx
mov dword [ebp - 0x824], 0
mov dword [ebp - 0x81c], 0x55a710
mov dword [ebp - 0xc], str.ProcessorNameString
mov dword [ebp - 8], 0x400
mov dword [ebp - 0x10], 0x40
mov dword [ebp - 4], 1
xor eax, eax
mov word [ebp - 0x818], ax
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x818]
push edx
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 0x81c]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
mov dword [ebp - 0x820], eax
cmp dword [ebp - 0x820], 0
jne 0x448ae6
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov word [ebp + ecx*2 - 0x81a], ax
lea edx, [ebp - 0x818]
push edx
mov ecx, dword [ebp + 8]
call fcn.004073f0
mov eax, dword [ebp - 0x824]
or eax, 1
mov dword [ebp - 0x824], eax
mov eax, dword [ebp + 8]
jmp 0x448b05
push 0x55a798
mov ecx, dword [ebp + 8]
call fcn.004073f0
mov ecx, dword [ebp - 0x824]
or ecx, 1
mov dword [ebp - 0x824], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret 4
Function at 0x448f50
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5459af
mov eax, dword fs:[0]
push eax
sub esp, 0x13c
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 0x18], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x144], 0
lea ecx, [ebp - 0x128]
call fcn.00402980
mov dword [ebp - 4], 0
mov byte [ebp - 0x124], 0
push 0x103
push 0
lea eax, [ebp - 0x123]
push eax
call fcn.00506190
add esp, 0xc
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x14], 0x104
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x124]
push edx
lea eax, [ebp - 0x10]
push eax
push str.InstallDate
push str.software360TotalSecurityUserProfile
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueA]
test eax, eax
jne 0x4490e8
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x140], 0
jmp 0x449024
mov ecx, dword [ebp - 0x140]
add ecx, 1
mov dword [ebp - 0x140], ecx
lea edx, [ebp - 0x124]
push edx
call fcn.005091d0
add esp, 4
cmp dword [ebp - 0x140], eax
jae 0x44907a
push 0
push 0xa
mov eax, dword [ebp - 0x130]
push eax
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.0050a050
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x140]
movsx eax, byte [ebp + edx - 0x124]
sub eax, 0x30
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x130], esi
jmp 0x449015
push 0
call fcn.00509ff3
add esp, 4
sub eax, dword [ebp - 0x134]
sbb edx, dword [ebp - 0x130]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edx
cmp dword [ebp - 0x138], 0
jg 0x4490c4
jl 0x4490b0
cmp dword [ebp - 0x13c], 0
jae 0x4490c4
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov ecx, 0x15180
div ecx
push eax
push 0x55a878
lea edx, [ebp - 0x128]
push edx
call fcn.00406110
add esp, 0xc
lea eax, [ebp - 0x128]
push eax
mov ecx, dword [ebp + 8]
call fcn.004073d0
mov ecx, dword [ebp - 0x144]
or ecx, 1
mov dword [ebp - 0x144], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.00417530
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret 4
Function at 0x449b10
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x545baa
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x30], 0
lea eax, [ebp - 0x2c]
push eax
call fcn.00408f70
add esp, 4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.004082d0
movzx ecx, al
test ecx, ecx
je 0x449b83
mov ecx, dword [ebp + 8]
call fcn.004045f0
mov edx, dword [ebp - 0x30]
or edx, 1
mov dword [ebp - 0x30], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.00402b00
mov eax, dword [ebp + 8]
jmp 0x449be3
push str.cache_
lea ecx, [ebp - 0x2c]
call fcn.004066c0
push 0
lea ecx, [ebp - 0x2c]
call fcn.00402b30
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push str.cef_
lea ecx, [ebp - 0x2c]
call fcn.004066c0
push 0
lea ecx, [ebp - 0x2c]
call fcn.00402b30
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
call fcn.00404640
mov ecx, dword [ebp - 0x30]
or ecx, 1
mov dword [ebp - 0x30], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.00402b00
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret
Function at 0x4510b0
Capabilities:
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.USER32.dll_AllowSetForegroundWindow]
test eax, eax
jne 0x4510ce
xor eax, eax
jmp 0x4511b4
mov dword [ebp - 0x14], 1
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp eax, dword [ebp + 8]
jne 0x4510f0
mov eax, 1
jmp 0x4511b4
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
je 0x4511a7
push 1
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
test eax, eax
je 0x451147
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SetActiveWindow]
jmp 0x451195
mov edx, dword [ebp - 0x10]
push edx
call fcn.00451000
add esp, 4
test eax, eax
je 0x45118e
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
test eax, eax
je 0x45117f
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SetActiveWindow]
test eax, eax
je 0x45117d
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x451186
mov dword [ebp - 0x14], 0
call dword [sym.imp.KERNEL32.dll_FreeConsole]
jmp 0x451195
mov dword [ebp - 0x14], 0
push 0
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.USER32.dll_AttachThreadInput]
jmp 0x4511b1
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [ebp - 0x14]
mov esp, ebp
pop ebp
ret

Function at 0x4511c0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 4], eax
mov byte [ebp - 0x108], 0
push 0xff
push 0
lea eax, [ebp - 0x107]
push eax
call fcn.00506190
add esp, 0xc
mov dword [ebp - 0x10c], 0
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.USER32.dll_GetKeyboardState]
test eax, eax
je 0x451232
movzx edx, byte [ebp - 0xf6]
and edx, 0x80
jne 0x451232
push 0
push 1
push 0
push 0x12
call dword [sym.imp.USER32.dll_keybd_event]
mov dword [ebp - 0x10c], 1
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x10c], 0
je 0x451259
push 0
push 3
push 0
push 0x12
call dword [sym.imp.USER32.dll_keybd_event]
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret
Function at 0x452330
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x120], 0x114
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x45238d
cmp dword [ebp - 0x11c], 6
jae 0x45236d
xor eax, eax
jmp 0x45238f
cmp dword [ebp - 0x11c], 6
jne 0x452386
cmp dword [ebp - 0x118], 0
sbb eax, eax
add eax, 1
jmp 0x45238f
mov eax, 1
jmp 0x45238f
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret

Function at 0x4528c0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2018
call fcn.00506b80
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp dword [ebp + 8], 0
jne 0x4528e4
xor al, al
jmp 0x4529a3
mov byte [ebp - 0x2010], 0
push 0x1fff
push 0
lea eax, [ebp - 0x200f]
push eax
call fcn.00506190
add esp, 0xc
mov dword [ebp - 8], 0
lea ecx, [ebp - 8]
push ecx
mov edx, dword [ebp + 8]
push edx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x452927
cmp dword [ebp - 0xc], 0x1fff
jbe 0x45292b
xor al, al
jmp 0x4529a3
mov byte [ebp - 1], 0
lea eax, [ebp - 0x2010]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x4529a0
mov dword [ebp - 0x2014], 0
mov dword [ebp - 0x2018], 0
lea eax, [ebp - 0x2018]
push eax
lea ecx, [ebp - 0x2014]
push ecx
push 0x55b450
lea edx, [ebp - 0x2010]
push edx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x4529a0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2014]
mov edx, dword [ecx + 8]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x2014]
mov edx, dword [ecx + 0xc]
mov dword [eax], edx
mov byte [ebp - 1], 1
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret
Function at 0x452ac0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x9c], 0
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x452afe
mov eax, dword [ebp - 0x9c]
jmp 0x452bdc
mov edx, dword [ebp - 8]
push edx
call fcn.005067d4
add esp, 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x452b1a
xor eax, eax
jmp 0x452bdc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 8]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x452bca
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x14]
push ecx
push 0x55b46c
mov edx, dword [ebp - 0x10]
push edx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x452bca
cmp dword [ebp + 0xc], 0
je 0x452bca
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
shr ecx, 0x10
and ecx, 0xffff
movzx edx, cx
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
and ecx, 0xffff
movzx edx, cx
push edx
push str.StringFileInfo_04x_04xProductName
push 0x80
lea eax, [ebp - 0x98]
push eax
call fcn.00408840
add esp, 0x14
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 4]
push edx
lea eax, [ebp - 0x98]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x452bca
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00401ee0
test eax, eax
jl 0x452bca
mov dword [ebp - 0x9c], 1
mov edx, dword [ebp - 0x10]
push edx
call fcn.00506348
add esp, 4
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret

Function at 0x452dc0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2018
call fcn.00506b80
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 0xc], eax
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x452df6
cmp dword [ebp - 8], 0x1fff
jbe 0x452dfa
xor eax, eax
jmp 0x452e5d
lea edx, [ebp - 0x2010]
push edx
mov eax, dword [ebp - 8]
push eax
push 0
mov ecx, dword [ebp + 8]
push ecx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x452e5b
lea edx, [ebp - 0x2018]
push edx
lea eax, [ebp - 0x2014]
push eax
push 0x55b508
lea ecx, [ebp - 0x2010]
push ecx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x452e5b
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x2014]
mov ecx, dword [eax + 0xc]
mov dword [edx], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x2014]
mov ecx, dword [eax + 8]
mov dword [edx + 4], ecx
mov eax, 1
jmp 0x452e5d
xor eax, eax
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret
Function at 0x4564e0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4a0
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x430], 0
mov dword [ebp - 8], 0
mov byte [ebp - 1], 0
mov dword [ebp - 0x438], 0x209
xor eax, eax
mov word [ebp - 0x428], ax
push 0x410
push 0
lea ecx, [ebp - 0x426]
push ecx
call fcn.00506190
add esp, 0xc
push 0x208
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x428]
push eax
call fcn.0045a430
add esp, 0xc
lea ecx, [ebp - 0x42c]
push ecx
push 0x8b
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0
je 0x4566e1
lea edx, [ebp - 0x43c]
push edx
push 1
push 2
push 0
push 0
mov eax, dword [ebp - 0x42c]
push eax
call dword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0
je 0x4566e1
lea ecx, [ebp - 0x430]
push ecx
push 0x560760
call sub.ADVAPI32.dll_ConvertStringSidToSidW
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0
je 0x4566e1
mov dword [ebp - 0x444], 0
xor edx, edx
mov dword [ebp - 0x440], edx
mov dword [ebp - 0x440], 0x20
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x430]
push ecx
call dword [sym.imp.ADVAPI32.dll_GetLengthSid]
add eax, 8
push eax
lea edx, [ebp - 0x444]
push edx
push 0x19
mov eax, dword [ebp - 0x43c]
push eax
call dword [sym.imp.ADVAPI32.dll_SetTokenInformation]
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0
je 0x4566e1
mov dword [ebp - 0x4a0], 0
xor ecx, ecx
mov dword [ebp - 0x49c], ecx
mov dword [ebp - 0x498], ecx
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x490], 0
push 0x40
push 0
lea edx, [ebp - 0x48c]
push edx
call fcn.00506190
add esp, 0xc
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x490]
push ecx
mov edx, dword [ebp + 0x10]
push edx
push 0
mov eax, dword [ebp - 8]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x428]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x43c]
push eax
call dword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x4a0], 0
je 0x4566cb
mov ecx, dword [ebp - 0x4a0]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x49c], 0
je 0x4566e1
mov edx, dword [ebp - 0x49c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x430], 0
je 0x4566f7
mov eax, dword [ebp - 0x430]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x43c], 0
je 0x45670d
mov ecx, dword [ebp - 0x43c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x42c], 0
je 0x456723
mov edx, dword [ebp - 0x42c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 1], 0
cmp dword [ebp - 0x434], 1
jne 0x456734
mov byte [ebp - 1], 1
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret
Function at 0x45b220
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
push 0
push 0
mov eax, dword [ebp - 4]
push eax
push 0x45b250
push 0
push 0
call fcn.00509bd6
add esp, 0x18
mov ecx, dword [ebp - 4]
mov dword [ecx + 4], eax
mov esp, ebp
pop ebp
ret

Function at 0x45b400
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
or ecx, 0x1000
mov edx, dword [ebp + 8]
mov dword [edx + 4], ecx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
pop ebp
ret 4

Function at 0x45b510
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
pop ebp
ret 0x18
Function at 0x45cf60
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x57c
mov eax, dword [0x5973cc]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x57c], ecx
push 0x11c
push 0
lea eax, [ebp - 0x540]
push eax
call fcn.00506190
add esp, 0xc
mov dword [ebp - 0x540], 0x11c
push 0x11c
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00506190
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx], 0x11c
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov ecx, dword [ebp + 8]
cmp dword [ecx + 4], 5
jne 0x45cfee
mov ecx, dword [ebp - 0x57c]
call fcn.0045d180
test eax, eax
je 0x45cfee
mov edx, dword [ebp - 0x57c]
mov dword [edx + 4], 0
mov eax, 1
jmp 0x45d16a
lea eax, [ebp - 0x540]
push eax
mov ecx, dword [ebp - 0x57c]
call fcn.0045d280
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
imul edx, edx, 0xa
mov eax, dword [ebp + 8]
add edx, dword [eax + 8]
mov dword [ebp - 0x41c], edx
mov ecx, dword [ebp - 0x53c]
imul ecx, ecx, 0xa
add ecx, dword [ebp - 0x538]
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x420]
cmp edx, dword [ebp - 0x41c]
jle 0x45d05c
push 0x11c
lea eax, [ebp - 0x540]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00509260
add esp, 0xc
mov edx, dword [ebp - 0x420]
mov dword [ebp - 0x41c], edx
xor eax, eax
mov word [ebp - 0x418], ax
push 0x40e
push 0
lea ecx, [ebp - 0x416]
push ecx
call fcn.00506190
add esp, 0xc
lea edx, [ebp - 0x418]
push edx
mov ecx, dword [ebp - 0x57c]
call fcn.0045d1d0
test eax, eax
jl 0x45d158
lea eax, [ebp - 0x574]
push eax
lea ecx, [ebp - 0x418]
push ecx
mov ecx, dword [ebp - 0x57c]
call fcn.0045d2d0
test eax, eax
je 0x45d158
mov edx, dword [ebp - 0x564]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x564]
and ecx, 0xffff
movzx edx, cx
add eax, edx
mov dword [ebp - 0x578], eax
mov eax, dword [ebp - 0x41c]
cmp eax, dword [ebp - 0x578]
jge 0x45d144
mov ecx, dword [ebp - 0x564]
shr ecx, 0x10
and ecx, 0xffff
movzx edx, cx
mov eax, dword [ebp + 8]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x564]
and ecx, 0xffff
movzx edx, cx
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x560]
shr ecx, 0x10
and ecx, 0xffff
movzx edx, cx
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x57c]
mov dword [ecx + 4], 1
jmp 0x45d151
mov edx, dword [ebp - 0x57c]
mov dword [edx + 4], 0
mov eax, 1
jmp 0x45d16a
mov eax, dword [ebp - 0x57c]
mov dword [eax + 4], 0
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005060ef
mov esp, ebp
pop ebp
ret 4
Function at 0x45d2d0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push esi
push edi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0xc], 0
push 2
push 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x45d38c
push 0x10
push 1
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x45d382
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x45d382
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x45d378
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.005067d4
add esp, 4
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x45d378
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00509260
add esp, 0xc
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 8], 0
cmp dword [ebp - 0xc], 0
je 0x45d3e1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x20]
push edx
push 0x571d60
mov eax, dword [ebp - 0xc]
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x45d3d5
mov esi, dword [ebp - 0x20]
mov ecx, 0xd
mov edi, dword [ebp + 0xc]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], 1
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00506348
add esp, 4
mov eax, dword [ebp - 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8