joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4247f0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c949d
mov eax, dword fs:[0]
push eax
sub esp, 0x230
mov eax, dword [0x50c3e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x234], 0
mov byte [eax], 0
mov dword [ebp - 0x238], eax
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x230]
push eax
mov dword [ebp - 0x234], 1
call fcn.0047b110
add esp, 4
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 4], 1
test ecx, ecx
jne 0x42488d
lea ecx, [ebp - 0x230]
call fcn.00402320
jmp 0x4249a8
mov edi, dword [ebp - 0x21c]
lea eax, [ebp - 0x230]
mov ebx, dword [ebp - 0x230]
cmp edi, 8
cmovae eax, ebx
cmp word [eax + ecx*2 - 2], 0x5c
jne 0x4248ea
cmp edi, 8
lea eax, [ebp - 0x230]
cmovae eax, ebx
movzx edx, word [eax + ecx*2 - 2]
cmp ecx, edx
jb 0x4249c8
cmp edi, 8
mov dword [ebp - 0x220], edx
lea eax, [ebp - 0x230]
cmovae eax, ebx
xor ecx, ecx
mov word [eax + edx*2], cx
mov edi, dword [ebp - 0x21c]
mov ebx, dword [ebp - 0x230]
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0048f8b0
cmp edi, 8
lea eax, [ebp - 0x230]
cmovae eax, ebx
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00498ed8
add esp, 0x18
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str.oemcompanylogo.png
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.0049de09
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42496c
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
call fcn.0040aff0
mov eax, dword [ebp - 0x238]
mov byte [eax], 1
mov edx, dword [ebp - 0x21c]
cmp edx, 8
jb 0x4249a8
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42499e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4249cd
push edx
push ecx
call fcn.0048d1e5
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048d444
mov esp, ebp
pop ebp
ret 8
call fcn.00404920
call fcn.00498b39
int3

Function at 0x425140
Capabilities:
Create thread

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi]
call dword [eax]
test eax, eax
je 0x425191
cmp dword [esi + 8], 0
push edi
lea edi, [esi + 0x10]
je 0x425173
push 0
push 0
push 0x12
push dword [edi]
call dword [sym.imp.USER32.dll_PostThreadMessageW]
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 8], 0
push edi
push 0
push esi
push 0x4251a0
push 0
push 0
mov dword [esi + 0xc], 1
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 8], eax
pop edi
pop esi
ret
Function at 0x425370
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c95bc
mov eax, dword fs:[0]
push eax
sub esp, 0x264
mov eax, dword [0x50c3e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
fldz
fld qword [edi + 0x28]
fcompi st(1)
fstp st(0)
ja 0x425560
cmp byte [0x513110], 0
je 0x4253e5
mov eax, 1
mov word [ebp - 0x268], ax
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x266]
push eax
push 0x4da038
push str.KHostSplashShow_updateDPISetting
push 1
call fcn.00432d40
add esp, 0x14
fld1
lea eax, [ebp - 0x230]
push eax
fstp qword [edi + 0x28]
mov dword [ebp - 4], 0
call fcn.0047b110
add esp, 4
push 8
push str.qt.conf
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 1
call fcn.00404930
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0048f8b0
add esp, 0xc
lea eax, [ebp - 0x230]
cmp dword [ebp - 0x21c], 8
cmovae eax, dword [ebp - 0x230]
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0x4da18c
push str.DPIAware
push str.Support
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x218]
push 0x4d6bec
push eax
call fcn.004443b0
add esp, 8
test eax, eax
jne 0x42552b
lea eax, [ebp - 0x260]
push eax
call fcn.00424190
push str.user32.dll
push eax
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 2
push eax
call fcn.00403080
add esp, 0x10
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 4
call fcn.00402320
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x425520
push str.SetProcessDPIAware
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x425520
call eax
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0x58
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
push 0
mov dword [ebp - 0x26c], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
fild dword [ebp - 0x26c]
fstp qword [ebp - 0x270]
fld qword [ebp - 0x270]
fdiv qword [0x4da520]
fstp qword [edi + 0x28]
lea ecx, [ebp - 0x248]
call fcn.00402320
lea ecx, [ebp - 0x230]
call fcn.00402320
cmp byte [0x513110], 0
mov dword [ebp - 4], 5
je 0x425560
push dword [ebp - 0x264]
push dword [ebp - 0x266]
push dword [ebp - 0x268]
call fcn.00432da0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048d444
mov esp, ebp
pop ebp
ret
Function at 0x4274e0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c9968
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x50c3e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x28]
lea eax, [edi + 4]
push eax
call fcn.004035b0
cmp dword [ebp - 0x18], 0
je 0x42752f
cmp dword [edi + 0x34], 0xffffffff
je 0x42752f
mov esi, 1
jmp 0x427531
xor esi, esi
lea ecx, [ebp - 0x28]
call fcn.00402320
test esi, esi
jne 0x427574
test edi, edi
je 0x427634
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x427555
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_UnregisterWaitEx]
lea ecx, [edi + 4]
mov dword [edi + 0x4c], 0
call fcn.00410020
push 0x50
push edi
call fcn.0048d1e5
add esp, 8
jmp 0x427634
lea esi, [ebx + 8]
push esi
mov dword [ebp - 0x38], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 4], 0x15555555
mov eax, dword [ebx]
mov dword [ebp - 4], 0
mov dword [ebp - 0x2c], eax
je 0x427652
mov dword [ebp - 0x34], ebx
push 0xc
mov byte [ebp - 4], 1
mov dword [ebp - 0x30], 0
call fcn.0048d1b5
mov edx, dword [ebp - 0x2c]
add esp, 4
mov byte [ebp - 4], 0
mov dword [ebp - 0x2c], 0
mov dword [eax + 8], edi
inc dword [ebx + 4]
mov ecx, dword [edx + 4]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [edx + 4], eax
mov dword [ecx], eax
lea eax, [ebp - 0x2c]
push eax
push 0
push edi
push 0x427d10
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x42762d
mov edi, dword [ebx + 0x20]
add ebx, 0x20
cmp dword [ebx + 4], 0x15555555
je 0x42765c
mov dword [ebp - 0x40], ebx
push 0xc
mov byte [ebp - 4], 2
mov dword [ebp - 0x3c], 0
call fcn.0048d1b5
mov ecx, dword [ebp - 0x30]
add esp, 4
mov dword [eax + 8], ecx
inc dword [ebx + 4]
mov ecx, dword [edi + 4]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov dword [edi + 4], eax
mov dword [ecx], eax
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048d444
mov esp, ebp
pop ebp
ret 4
push str.list_too_long
call fcn.0048bafc
push str.list_too_long
call fcn.0048bafc
int3
Function at 0x427a30
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c9a46
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x50c3e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi + 0x38], 0
je 0x427b32
mov edi, dword [esi + 0x34]
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.004035b0
mov dword [ebp - 4], 0
test edi, edi
je 0x427b25
cmp dword [ebp - 0x48], 0
je 0x427b25
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x58]
push eax
push edi
lea ecx, [ebp - 0xb0]
call fcn.00429e30
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x427afb
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427af1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x427c8d
push edx
push ecx
call fcn.0048d1e5
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.0042b620
lea ecx, [ebp - 0xb0]
call fcn.00429ff0
lea ecx, [ebp - 0x58]
call fcn.00402320
jmp 0x427c72
cmp dword [esi + 0x3c], 0
je 0x427c72
lea ecx, [ebp - 0xd4]
call fcn.00438710
mov dword [ebp - 4], 4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
lea eax, [esi + 0x1c]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x70]
call fcn.004035b0
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xd4]
call fcn.004399c0
lea ecx, [ebp - 0x70]
call fcn.00402320
mov esi, dword [ebp - 0x1c]
mov byte [ebp - 4], 4
test esi, esi
je 0x427c3e
mov edi, dword [ebp - 0x18]
cmp esi, edi
je 0x427bfe
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x427be1
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x427bd7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x427c92
mov eax, edx
push ecx
push eax
call fcn.0048d1e5
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x427ba8
mov esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x427c34
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x427c92
push ecx
push esi
call fcn.0048d1e5
add esp, 8
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0xd4]
call fcn.00438900
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x40]
call fcn.00402320
lea ecx, [ebp - 0xd4]
call fcn.004387e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048d444
mov esp, ebp
pop ebp
ret
call fcn.00498b39
call fcn.00498b39
int3
Function at 0x428260
Capabilities:
Connect pipe

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
xor eax, eax
push edi
mov edi, ecx
push esi
mov dword [esi + 0x14], 1
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
mov ebx, eax
test ebx, ebx
jne 0x4282ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x4282d3
push dword [edi]
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
mov dword [esi + 0x14], 1
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
push esi
mov dword [esi + 0x10], eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
mov ebx, eax
test ebx, ebx
je 0x428291
pop edi
pop esi
pop ebx
pop ebp
ret 8
test ebx, ebx
jne 0x4282ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x217
jne 0x4282ed
push ebx
push esi
mov ecx, edi
call fcn.00428300
pop edi
pop esi
pop ebx
pop ebp
ret 8

Function at 0x428300
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push 0x90
push 0
mov dword [ebp + 8], 0
push dword [esi + 0x18]
mov dword [esi + 0x14], 2
call fcn.0048f8b0
add esp, 0xc
lea eax, [ebp + 8]
push esi
push eax
push 0x90
push dword [esi + 0x18]
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x42836f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x42836f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x42836f
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
push 0
push esi
mov ecx, ebx
call fcn.00428260
pop esi
pop ebx
pop ebp
ret 8
Function at 0x428b90
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push esi
mov eax, ecx
mov dword [ebp - 4], 0
push 0xffffffffffffffff
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x20], eax
push ecx
lea ecx, [ebp - 8]
mov dword [ebp - 0xc], 0
push ecx
lea ecx, [ebp - 4]
mov dword [ebp - 8], 0
push ecx
push dword [eax + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
mov esi, dword [ebp - 8]
test esi, esi
je 0x428d74
mov edx, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
push edi
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x428d6b
mov eax, dword [edi + 0x14]
dec eax
cmp eax, 4
ja case.default.0x428bf9
jmp dword [eax*4 + 0x428d7c]
push dword [ebp - 4]
mov ecx, esi
push edi
call fcn.00428300
jmp case.default.0x428bf9
cmp dword [ebp - 4], 0x90
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x18], eax
jne 0x428d2b
mov edx, dword [eax + 0x8c]
mov dword [ebp - 0x14], edx
test edx, edx
jne 0x428c3e
push edx
push edi
mov ecx, esi
call fcn.00428380
jmp case.default.0x428bf9
lea ecx, [eax + 0x90]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax]
test eax, eax
je 0x428d2b
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x10]
push edi
add ecx, 0x90
mov dword [edi + 0x14], 3
push eax
push dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne case.default.0x428bf9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je case.default.0x428bf9
jmp 0x428d2b
push dword [ebp - 4]
mov ecx, esi
push edi
call fcn.00428380
jmp case.default.0x428bf9
cmp dword [ebp - 4], 0x90
mov eax, dword [edi + 0x18]
jne 0x428d2b
cmp dword [eax + 0x8c], 0
je 0x428d27
push edi
lea edx, [ebp - 0x1c]
mov dword [edi + 0x14], 5
lea ecx, [eax + 0x90]
mov dword [ebp - 0x1c], 0
push edx
push dword [eax + 0x8c]
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_WriteFile]
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x18], ecx
test eax, eax
je 0x428d03
xor eax, eax
jmp 0x428d0c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne case.default.0x428bf9
cmp eax, 0x3e5
je case.default.0x428bf9
jmp 0x428d2b
mov ecx, dword [edi + 0x18]
mov eax, dword [ebp - 4]
cmp eax, dword [ecx + 0x8c]
jne 0x428d2b
push dword [esi]
call edx
push dword [esi]
call ebx
push 0
push edi
mov ecx, esi
call fcn.00428260
push 0xffffffffffffffff
lea eax, [ebp - 0xc]
mov dword [ebp - 8], 0
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 0x20]
push dword [eax + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
mov esi, dword [ebp - 8]
mov edx, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test esi, esi
jne 0x428be1
pop edi
pop ebx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x429d00
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x14
push esi
test eax, eax
je 0x429dc6
mov esi, dword [ebp + 8]
cmp esi, 0xffffffff
je 0x429dc6
xor ecx, ecx
push edi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], ecx
lea ecx, [ebp - 0x14]
push ecx
push 0
push dword [ebp + 0x10]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x429d54
call edi
cmp eax, 0x3e5
jne 0x429da6
push dword [ebp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x429d92
push esi
call dword [sym.imp.KERNEL32.dll_CancelIo]
test eax, eax
je 0x429d85
push 1
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], 0
push eax
lea eax, [ebp - 0x14]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov eax, 0x800705b4
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14
push 0
push dword [ebp + 0x18]
lea eax, [ebp - 0x14]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
test eax, eax
jne 0x429dbc
call edi
test eax, eax
jle 0x429d8a
movzx eax, ax
pop edi
or eax, 0x80070000
pop esi
mov esp, ebp
pop ebp
ret 0x14
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x14
mov eax, 0x80070057
pop esi
mov esp, ebp
pop ebp
ret 0x14
Function at 0x42a540
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push esi
mov esi, ecx
call fcn.0042aa10
cmp eax, 3
jne 0x42a564
push dword [ebp + 8]
mov ecx, esi
call fcn.0042a4e0
pop esi
mov esp, ebp
pop ebp
ret 4
call fcn.0042ad40
test al, al
jne 0x42a57d
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
neg eax
sbb eax, eax
inc eax
jmp 0x42a637
cmp dword [esi], 0
je 0x42a5c2
call fcn.0042ad40
test al, al
je 0x42a5c2
lea eax, [ebp - 0x10]
mov dword [ebp - 8], 1
push eax
push 4
lea eax, [ebp - 8]
mov dword [ebp - 0x10], 0
push eax
push 0x12
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x42a5c2
mov eax, dword [ebp - 8]
cmp eax, 2
je 0x42a63f
cmp eax, 3
je 0x42a63f
call fcn.0042ad40
test al, al
jne 0x42a5d8
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
neg eax
sbb eax, eax
inc eax
jmp 0x42a637
lea eax, [ebp - 4]
mov dword [ebp - 0xc], 0
push eax
push 0x20019
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem
push 0x80000002
mov dword [ebp - 4], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x42a62f
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 4
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0
push str.EnableLUA
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
cmp dword [ebp - 0xc], eax
setne al
test eax, eax
je 0x42a6bf
mov ecx, esi
call fcn.0042aa10
cmp eax, 2
jne 0x42a6bf
mov eax, dword [esi]
mov dword [ebp - 0x14], 0
test eax, eax
je 0x42a6bf
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], 0
push ecx
push 1
push 2
push 0
push 0x2000000
push eax
call dword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
test eax, eax
je 0x42a6bf
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0x18]
push 0x2000
mov dword [ebp - 0x18], eax
call fcn.0042b560
test eax, eax
je 0x42a6b1
mov esi, dword [ebp + 8]
mov eax, dword [esi]
test eax, eax
je 0x42a6a0
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x42a6bf
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x42a7b0
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c9d16
mov eax, dword fs:[0]
push eax
sub esp, 0x248
mov eax, dword [0x50c3e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor edi, edi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x250], ebx
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], edi
mov dword [ebp - 0x240], edi
mov dword [ebp - 4], edi
test eax, eax
je 0x42a997
cmp word [eax], di
je 0x42a997
push 0x228
lea eax, [ebp - 0x238]
mov dword [ebp - 0x23c], 0x22c
push edi
push eax
call fcn.0048f8b0
add esp, 0xc
push edi
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, eax
mov dword [ebp - 0x254], esi
mov byte [ebp - 4], 1
cmp esi, 0xffffffff
jne 0x42a86a
lea eax, [ebp - 0x248]
mov ecx, ebx
push eax
call fcn.00429de0
jmp 0x42a894
lea eax, [ebp - 0x23c]
push eax
push esi
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
jne 0x42a8da
lea eax, [ebp - 0x248]
mov ecx, ebx
push eax
call fcn.00429de0
test esi, esi
je 0x42a894
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x248]
test edx, edx
je 0x42a9ab
mov ecx, dword [ebp - 0x240]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x42a8cb
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a9c9
push ecx
push edx
call fcn.0048d1e5
add esp, 8
jmp 0x42a9ab
mov ebx, dword [ebp - 0x240]
push dword [ebp - 0x24c]
lea eax, [ebp - 0x218]
push eax
call fcn.0049e8f5
add esp, 8
test eax, eax
jne 0x42a92f
cmp edi, ebx
je 0x42a910
mov eax, dword [ebp - 0x234]
mov dword [edi], eax
add edi, 4
mov dword [ebp - 0x244], edi
jmp 0x42a92f
lea eax, [ebp - 0x234]
push eax
push edi
lea ecx, [ebp - 0x248]
call fcn.00407390
mov edi, dword [ebp - 0x244]
mov ebx, dword [ebp - 0x240]
lea eax, [ebp - 0x23c]
push eax
push esi
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x42a8e0
mov ebx, dword [ebp - 0x250]
lea eax, [ebp - 0x248]
push eax
mov ecx, ebx
call fcn.00429de0
test esi, esi
je 0x42a95f
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x248]
test edx, edx
je 0x42a9ab
mov ecx, dword [ebp - 0x240]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x42a8cb
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a9c9
jmp 0x42a8cb
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048d444
mov esp, ebp
pop ebp
ret
call fcn.00498b39
int3
Function at 0x42aa10
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x50c3e4]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov edi, ecx
mov ecx, dword [edi]
test ecx, ecx
jne 0x42aa3a
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048d444
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 4]
test eax, eax
jne 0x42ab6b
push ebx
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 1
push ecx
call esi
push dword [ebp - 0x10]
call fcn.0048d478
add esp, 4
mov ebx, eax
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x10]
push ebx
push 1
push dword [edi]
call esi
test eax, eax
je 0x42ab0c
mov esi, dword [ebx]
test esi, esi
je 0x42ab0c
push esi
call dword [sym.imp.ADVAPI32.dll_IsValidSid]
test eax, eax
je 0x42ab0c
lea eax, [ebp - 0x14]
mov dword [ebp - 0xc], 0
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x12
push 1
lea eax, [ebp - 0xc]
mov word [ebp - 8], 0x500
push eax
mov dword [ebp - 0x14], 0
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x42ab0c
push dword [ebp - 0x14]
push esi
call dword [sym.imp.ADVAPI32.dll_EqualSid]
push dword [ebp - 0x14]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_FreeSid]
push ebx
call fcn.0048d481
add esp, 4
test esi, esi
je 0x42ab15
pop esi
pop ebx
mov dword [edi + 4], 1
mov eax, 1
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048d444
mov esp, ebp
pop ebp
ret
push ebx
call fcn.0048d481
add esp, 4
push 0x220
mov ecx, edi
call fcn.0042ab80
test eax, eax
je 0x42ab5d
mov ecx, edi
call fcn.0042a6d0
cmp eax, 3
je 0x42ab44
mov ecx, edi
call fcn.0042a720
cmp eax, 0x2000
mov eax, 2
jne 0x42ab49
mov eax, 3
pop esi
pop ebx
mov dword [edi + 4], eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048d444
mov esp, ebp
pop ebp
ret
pop esi
mov dword [edi + 4], 4
mov eax, 4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.0048d444
mov esp, ebp
pop ebp
ret