joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100ba830
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x1022c684]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x214], ecx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x214]
call fcn.1006d230
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0xc]
cmp dword [edx + 4], 0x102
jne 0x100ba9b3
mov eax, dword [ebp + 0xc]
cmp dword [eax + 8], 0xd
je 0x100ba8d1
push 0
mov ecx, dword [ebp - 0x214]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x214]
mov eax, dword [edx + 0x84]
call eax
mov ecx, dword [ebp - 0x214]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x214]
mov eax, dword [edx + 0x7c]
call eax
mov ecx, dword [ebp - 0x214]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x214]
mov eax, dword [edx + 0x80]
call eax
push 1
mov ecx, dword [ebp - 0x214]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x214]
mov eax, dword [edx + 0x84]
call eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x218], edx
cmp dword [ebp - 0x218], 0xd
je 0x100ba937
cmp dword [ebp - 0x218], 0x41
je 0x100ba8f4
jmp 0x100ba9b3
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
je 0x100ba935
push 0x12
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
jne 0x100ba935
push 0
push 0xffffffffffffffff
push 0
mov ecx, dword [ebp - 0x214]
add ecx, 0x9c
call fcn.100bd330
xor eax, eax
jmp 0x100ba9b6
jmp 0x100ba9b3
push 0x103
lea edx, [ebp - 0x210]
push edx
mov ecx, dword [ebp - 0x214]
add ecx, 0x9c
call fcn.1006ba00
mov ecx, dword [ebp - 0x214]
add ecx, 0x68
call fcn.10004400
movzx eax, al
test eax, eax
jne 0x100ba99c
lea ecx, [ebp - 0x210]
push ecx
call fcn.1016f99d
add esp, 4
test eax, eax
jne 0x100ba99c
push 0x30
push 0x101ca398
mov ecx, dword [ebp - 0x214]
add ecx, 0x68
call fcn.100043a0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x100ba9b3
push 0
push 0xffffffffffffffff
push 0
mov ecx, dword [ebp - 0x214]
add ecx, 0x9c
call fcn.100bd330
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1016f6a2
mov esp, ebp
pop ebp
ret 8

Function at 0x100c35e0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov dword [eax], vtable.CMD5Hash.0
push 0x40
push 0
mov ecx, dword [ebp - 4]
add ecx, 4
push ecx
call fcn.1016f6c0
add esp, 0xc
mov edx, dword [ebp - 4]
mov dword [edx + 0x48], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4c], 0x67452301
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], 0xefcdab89
mov eax, dword [ebp - 4]
mov dword [eax + 0x54], 0x98badcfe
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x58], 0x10325476
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
Function at 0x100c94d0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101ac00d
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x1022c684]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x18], 1
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x258], 0
jne 0x100c9512
xor eax, eax
jmp 0x100c95dc
lea ecx, [ebp - 0x14]
call fcn.10013790
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x258]
call fcn.100116c0
test eax, eax
je 0x100c955e
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x258]
call fcn.100116c0
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x14]
call fcn.100137b0
push eax
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx]
mov eax, dword [edx + 0x78]
call eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x100c957f
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.100058a0
mov eax, dword [ebp - 0x1c]
jmp 0x100c95dc
lea ecx, [ebp - 0x14]
call fcn.10013030
push eax
lea ecx, [ebp - 0x10]
call fcn.10005d80
lea ecx, [ebp - 0x10]
call fcn.10004400
movzx ecx, al
test ecx, ecx
jne 0x100c95bb
push 0
push 0
push 0
lea ecx, [ebp - 0x10]
call fcn.10004390
push eax
push 0x101cbc24
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x10]
call fcn.10005e00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.100058a0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x10
Function at 0x100c9670
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 0x14], ecx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x14]
sub ecx, 0x20
call fcn.100cb630
test eax, eax
je 0x100c96c6
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
mov edx, dword [ebp - 0x14]
cmp eax, dword [edx - 0x20]
je 0x100c96c6
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
mov edx, dword [ebp - 0x14]
cmp eax, dword [edx - 0x20]
jne 0x100c96a7
mov eax, dword [ebp + 8]
push eax
push 0
push 0x37f
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 1
jne 0x100c96ea
mov eax, 1
jmp 0x100c9799
push 0
push 0
push 0x87
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0x100
je 0x100c972b
cmp dword [ebp - 0x18], 0x102
je 0x100c971f
jmp 0x100c9797
cmp dword [ebp - 4], 0
jne 0x100c9729
xor eax, eax
jmp 0x100c9799
jmp 0x100c9797
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
and ecx, 0xffff
movzx edx, cx
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 9
je 0x100c9745
jmp 0x100c9797
mov eax, dword [ebp - 4]
and eax, 2
jne 0x100c9797
push 5
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx - 0x20]
push edx
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0xc], eax
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
test eax, eax
jl 0x100c978b
push 1
mov ecx, dword [ebp - 0xc]
push ecx
lea edx, [ebp - 0x10]
push edx
mov ecx, dword [ebp - 0x14]
sub ecx, 0x20
call fcn.100cb600
mov ecx, eax
call fcn.10004cb0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jne 0x100c9797
xor eax, eax
jmp 0x100c9799
xor eax, eax
mov esp, ebp
pop ebp
ret 4
Function at 0x100e10b0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101ad55f
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x1022c684]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x18]
call fcn.10020e50
mov dword [ebp - 4], 0
push 0
push 0
push 0x2001f
push 0
push 0
lea eax, [ebp - 0x24]
push eax
call fcn.100adf40
add esp, 4
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
call fcn.10004390
push eax
push SysReAllocString
lea ecx, [ebp - 0x18]
call fcn.10021020
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x1d], al
lea ecx, [ebp - 0x24]
call fcn.10005e00
movzx ecx, byte [ebp - 0x1d]
test ecx, ecx
je 0x100e1143
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.10020e80
jmp 0x100e124e
push 0
lea edx, [ebp - 0x1c]
push edx
call fcn.100e14d0
add esp, 8
mov byte [ebp - 4], 1
mov ecx, 0x1022ede0
call fcn.100043a0
push eax
mov ecx, 0x1022ee4c
call fcn.10004390
push eax
call fcn.1016f1ec
add esp, 8
test eax, eax
jne 0x100e11df
movzx eax, byte [0x1022ee0c]
test eax, eax
jne 0x100e11df
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push 0x101d0120
call fcn.10005d80
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.100043a0
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.10005d80
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x44], edx
mov byte [ebp - 4], 3
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0x101d0124
call fcn.10005d80
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 1
call fcn.100e0b60
add esp, 0xc
push 0x101d0140
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x10]
push ecx
call fcn.10090bb0
add esp, 0xc
mov byte [ebp - 4], 4
push 0
lea ecx, [ebp - 0x10]
call fcn.100043a0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x101d0160
lea ecx, [ebp - 0x1c]
call fcn.10025620
push 0
lea ecx, [ebp - 0x1c]
call fcn.100043a0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.10005e00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.10005e00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.10020e80
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret
Function at 0x100ee7e0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 0
je 0x100ee7fa
mov eax, dword [ebp - 0x40]
sub eax, 0x58
mov dword [ebp - 0x44], eax
jmp 0x100ee801
mov dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 8], ecx
mov dword [ebp - 4], 1
cmp dword [ebp + 0x14], 0
je 0x100ee88d
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 8]
add ecx, 4
call fcn.1001d280
mov ecx, eax
call fcn.10004cb0
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], 0xffffffff
mov edx, dword [ebp - 0xc]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.100be360
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x100ee87c
mov eax, dword [ebp - 0xc]
add eax, 1
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [ebp - 0x14], eax
push 0xffffffffffffffff
mov ecx, dword [ebp + 0xc]
call fcn.10005e80
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xc]
jge 0x100ee88b
mov dword [ebp - 4], 0
jmp 0x100ee8a8
mov ecx, dword [ebp + 0xc]
call fcn.10004390
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 8]
add ecx, 4
call fcn.100eef30
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x100ee8c3
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
add ecx, 0x58
call fcn.100eecb0
jmp 0x100ee926
cmp dword [ebp + 0x14], 0
je 0x100ee926
cmp dword [ebp + 0x18], 0
je 0x100ee926
mov ecx, dword [ebp + 0xc]
call fcn.10005e60
cmp eax, dword [ebp + 0x1c]
jle 0x100ee926
mov dword [ebp - 0x38], 1
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp + 0xc]
call fcn.10005e60
mov dword [ebp - 0x30], eax
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x2c], edx
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 8]
add ecx, 0x58
call fcn.100eed10
mov dword [ebp - 4], 0
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 0x18
Function at 0x100ef600
Capabilities:
Create process memory minidump

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101aeba5
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x1022c684]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
lea ecx, [ebp + 0xc]
call fcn.100043a0
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x100ef6d0
cmp dword [ebp - 0x10], 0xffffffff
je 0x100ef6d0
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0
push 0
push 0
mov ecx, dword [ebp + 8]
neg ecx
sbb ecx, ecx
lea edx, [ebp - 0x20]
and ecx, edx
push ecx
mov eax, dword [0x1022edec]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call sub.dbghelp.dll_MiniDumpWriteDump
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x100ef6c4
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005e00
mov eax, dword [ebp - 0x24]
jmp 0x100ef704
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100ef6eb
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005e00
mov eax, dword [ebp - 0x28]
jmp 0x100ef704
mov dword [ebp - 0x2c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.10005e00
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret
Function at 0x100f1e50
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x1022c684]
xor eax, ebp
mov dword [ebp - 8], eax
push 0x104
lea eax, [ebp - 0x210]
push eax
mov ecx, 0x1022ee50
call fcn.100aa6e0
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edx, dword [str.uninstall.exe]
push edx
push 1
lea eax, [ebp - 0x214]
push eax
call fcn.100e14d0
add esp, 8
push eax
lea ecx, [ebp - 4]
push ecx
call fcn.10090bb0
add esp, 0xc
lea ecx, [ebp - 0x214]
call fcn.10005e00
push 5
push 1
lea edx, [ebp - 0x218]
push edx
call fcn.100e14d0
add esp, 8
mov ecx, eax
call fcn.100043a0
push eax
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 4]
call fcn.10004390
push eax
push 0x101d5068
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x218]
call fcn.10005e00
mov dword [ebp - 0x21c], 0
lea ecx, [ebp - 4]
call fcn.10005e00
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1016f6a2
mov esp, ebp
pop ebp
ret

Function at 0x100f2140
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101aed9c
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x1022c684]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
push 0x44
push 0
lea eax, [ebp - 0x64]
push eax
call fcn.1016f6c0
add esp, 0xc
mov dword [ebp - 0x64], 0x44
push 0x10
push 0
lea ecx, [ebp - 0x1c]
push ecx
call fcn.1016f6c0
add esp, 0xc
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x64]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp + 8]
call fcn.100043a0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.10005e00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret
Function at 0x100f2380
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101aee3a
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x1022c684]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 1
lea eax, [ebp - 0x18]
push eax
call fcn.100e14d0
add esp, 8
mov dword [ebp - 4], 0
push str.TbCommonUtils.dll
lea ecx, [ebp - 0x14]
call fcn.10005d80
mov byte [ebp - 4], 1
push 0x101d5158
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x18]
push edx
push 0x101d515c
lea eax, [ebp - 0x20]
push eax
call fcn.1001a4e0
add esp, 0xc
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x30]
push edx
lea eax, [ebp - 0x24]
push eax
call fcn.100042a0
add esp, 0xc
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x38]
push edx
lea eax, [ebp - 0x10]
push eax
call fcn.10090bb0
add esp, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24]
call fcn.10005e00
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x20]
call fcn.10005e00
push 5
push 0
push 0
lea ecx, [ebp - 0x10]
call fcn.10005e40
push eax
push str.regsvr32
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push str.TbHelper2.exe
lea ecx, [ebp - 0x1c]
call fcn.10005d80
mov byte [ebp - 4], 7
push 5
push 0
push str._UnregServer
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0x28]
push eax
call fcn.100042a0
add esp, 0xc
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
call fcn.10004390
push eax
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x28]
call fcn.10005e00
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1c]
call fcn.10005e00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
call fcn.10005e00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.10005e00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.10005e00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret
Function at 0x10105a90
Capabilities:
Delete file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x14]
call fcn.10005d80
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 4]
call fcn.10005d80
lea ecx, [ebp - 0x14]
call fcn.10004400
movzx edx, al
test edx, edx
je 0x10105adc
mov dword [ebp - 0x18], 1
lea ecx, [ebp - 4]
call fcn.10005e00
lea ecx, [ebp - 0x14]
call fcn.10005e00
mov eax, dword [ebp - 0x18]
jmp 0x10105c38
push 4
call fcn.1017072e
add esp, 4
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x10105afc
mov ecx, dword [ebp - 0x1c]
call fcn.1010c140
mov dword [ebp - 0x30], eax
jmp 0x10105b03
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0x14]
call fcn.10005e60
lea ecx, [eax + eax + 2]
push ecx
push 0
lea ecx, [ebp - 0x14]
call fcn.10005e40
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc]
mov edx, dword [eax]
call edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc]
mov eax, dword [edx + 8]
call eax
cmp dword [ebp - 0x10], 0
jne 0x10105b62
mov dword [ebp - 0x20], 1
lea ecx, [ebp - 4]
call fcn.10005e00
lea ecx, [ebp - 0x14]
call fcn.10005e00
mov eax, dword [ebp - 0x20]
jmp 0x10105c38
lea ecx, [ebp - 4]
call fcn.10004400
movzx ecx, al
test ecx, ecx
je 0x10105ba6
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x10]
push eax
call fcn.10170e80
add esp, 4
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 4]
call fcn.10005e00
lea ecx, [ebp - 0x14]
call fcn.10005e00
mov eax, dword [ebp - 0x24]
jmp 0x10105c38
mov dword [ebp - 8], 0
push 0x101d8b94
mov ecx, dword [ebp - 0x10]
push ecx
lea edx, [ebp - 8]
push edx
call fcn.101755ae
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
call fcn.10170e80
add esp, 4
cmp dword [ebp - 8], 0
jne 0x10105bf0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 4]
call fcn.10005e00
lea ecx, [ebp - 0x14]
call fcn.10005e00
mov eax, dword [ebp - 0x28]
jmp 0x10105c38
mov ecx, dword [ebp - 8]
push ecx
push 2
lea ecx, [ebp - 4]
call fcn.10005e60
push eax
push 0
lea ecx, [ebp - 4]
call fcn.10005e40
push eax
call fcn.1017707f
add esp, 0x10
mov edx, dword [ebp - 8]
push edx
call fcn.10175394
add esp, 4
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 4]
call fcn.10005e00
lea ecx, [ebp - 0x14]
call fcn.10005e00
mov eax, dword [ebp - 0x2c]
mov esp, ebp
pop ebp
ret 0xc
Function at 0x10107180
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101af6e0
mov eax, dword fs:[0]
push eax
sub esp, 0x274
mov eax, dword [0x1022c684]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 1
lea eax, [ebp - 0x18]
push eax
call fcn.100e14d0
add esp, 8
mov dword [ebp - 4], 0
push 0x101d8f90
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0x10]
push edx
call fcn.10090bb0
add esp, 0xc
mov byte [ebp - 4], 1
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x10]
call fcn.100043a0
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
je 0x10107319
lea ecx, [ebp - 0x240]
push ecx
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0x27c]
push eax
call fcn.10090bb0
add esp, 0xc
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
call fcn.10004390
push eax
call fcn.100aa6f0
mov dword [ebp - 0x274], eax
lea ecx, [ebp - 0x27c]
call fcn.10005e00
cmp dword [ebp - 0x274], 0
jne 0x1010724c
jmp 0x10107300
push 0x101d8fac
mov ecx, dword [ebp - 0x274]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0
jne 0x1010727f
mov edx, dword [ebp - 0x274]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x10107300
call dword [ebp - 0x270]
movzx eax, al
test eax, eax
jne 0x1010729b
mov ecx, dword [ebp - 0x274]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x10107300
cmp dword [ebp + 8], 0
je 0x101072bb
push 0x101d8fb8
mov edx, dword [ebp - 0x274]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x278], eax
jmp 0x101072d3
push 0x101d8fcc
mov eax, dword [ebp - 0x274]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0
jne 0x101072eb
mov ecx, dword [ebp - 0x274]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x10107300
call dword [ebp - 0x278]
mov edx, dword [ebp - 0x274]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x10107319
lea eax, [ebp - 0x26c]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x101071fc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.10005e00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.10005e00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.1016f6a2
mov esp, ebp
pop ebp
ret
Function at 0x10107780
Capabilities:
Get token membership

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x1022c684]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 8], 0
mov byte [ebp - 0x18], 0
mov byte [ebp - 0x17], 0
mov byte [ebp - 0x16], 0
mov byte [ebp - 0x15], 0
mov byte [ebp - 0x14], 0
mov byte [ebp - 0x13], 5
lea eax, [ebp - 4]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0x220
push 0x20
push 2
lea ecx, [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0xc]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push 0x223
push 0x20
push 2
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], 0
je 0x1010782d
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 4]
push edx
push 0
call dword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
test eax, eax
jne 0x10107823
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [ebp - 8], 0
je 0x10107858
lea ecx, [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
push 0
call dword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
test eax, eax
jne 0x1010784e
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [ebp - 0x1c], 0
jne 0x1010786d
cmp dword [ebp - 8], 0
jne 0x1010786d
mov dword [ebp - 0x20], 0
jmp 0x10107874
mov dword [ebp - 0x20], 1
mov al, byte [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1016f6a2
mov esp, ebp
pop ebp
ret