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

Disassembly:
push 8
mov eax, 0x1000c041
call fcn.1000be6e
cmp byte [0x10011fb4], 0
je 0x1000a3cf
mov eax, dword [0x10011fb8]
jmp 0x1000a4a5
lea eax, [ebp - 0x10]
xor esi, esi
push eax
push 0x20019
push esi
push str.SoftwarePoliciesMicrosoftSecurity
mov dword [ebp - 4], esi
push SysReAllocString
mov dword [ebp - 0x10], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1000a41f
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 4
push eax
push 0x10011fb8
push esi
push esi
push str.CLSIDInterfaceTest
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1000a41f
cmp dword [ebp - 0x14], 4
je 0x1000a478
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], esi
test eax, eax
je 0x1000a430
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x10]
push eax
push 0x20019
push esi
push str.SoftwareMicrosoftSecurity
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1000a480
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 4
push eax
push 0x10011fb8
push esi
push esi
push str.CLSIDInterfaceTest
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1000a480
cmp dword [ebp - 0x14], 4
jne 0x1000a480
mov esi, dword [0x10011fb8]
jmp 0x1000a486
mov dword [0x10011fb8], esi
mov byte [0x10011fb4], 1
mov dword [ebp - 4], 3
cmp dword [ebp - 0x10], 0
je 0x1000a4a3
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
call fcn.1000be4c
ret

Function at 0x1000bc07
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
pushal
call 0x1000bc16
pop dword [ebp - 0xc]
mov eax, 0x1000bc16
sub dword [ebp - 0xc], eax
push 0x40
push 0x1000
push 0x3770e
push 0
mov eax, 0x42dba1e1
add eax, 0xcd252efb
add eax, dword [ebp - 0xc]
call dword [eax]
mov ecx, 0x44ec
mov esi, eax
mov edi, 0x9b73c622
sub edi, 0x8b727422
add edi, dword [ebp - 0xc]
mov edx, 0x916b180a
add edx, 0x11b29cd3
add dword [ebp - 8], esi
mov ebx, dword [edi]
xor dword [ebp - 4], 0x39218a9c
sub ebx, edx
xor dword [ebp - 4], edi
mov dword [esi], ebx
sub dword [ebp - 8], eax
add esi, 0x30052029
add esi, 0xcffadfdb
add edi, 4
loop 0x1000bc6a
add eax, 0xb76234be
sub eax, 0xb7612e3b
mov ebx, eax
add eax, 5
mov ecx, 0xad7ca224
add ecx, 0x62835ddc
add ecx, dword [ebp - 0xc]
call ebx
leave
ret
Function at 0x401fb2
Capabilities:
Delete file
Move file

Disassembly:
mov ecx, 0x404f28
jmp fcn.0040170c

Function at 0x401ff6
Capabilities:
Check if file exists
Delete directory
Get file attributes

Disassembly:
push esi
mov esi, 0x404f28
push esi
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x402013
push esi
call dword [sym.imp.kernel32.dll_RemoveDirectoryW]
test eax, eax
je 0x402018
push 1
pop eax
pop esi
ret
call fcn.00401fb2
pop esi
ret

Function at 0x40a5b0
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x7000]
push edi
jmp 0x40a5ca
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x40a5d1
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x40a5c0
mov eax, 1
add ebx, ebx
jne 0x40a5e3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x40a5d8
jne 0x40a5f4
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x40a5d8
xor ecx, ecx
sub eax, 3
jb 0x40a608
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x40a67a
mov ebp, eax
add ebx, ebx
jne 0x40a613
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x40a620
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x40a644
inc ecx
add ebx, ebx
jne 0x40a630
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x40a625
jne 0x40a641
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x40a625
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x40a664
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x40a655
jmp 0x40a5c6
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x40a664
add edi, ecx
jmp 0x40a5c6
pop esi
mov edi, esi
mov ecx, 0x23
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x40a682
cmp byte [edi], 1
jne 0x40a682
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x40a687
lea edi, [esi + 0x8000]
mov eax, dword [edi]
or eax, eax
je 0x40a6ff
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0xbfe4]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0xc03c]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x40a6b4
mov ecx, edi
jns 0x40a6e3
movzx eax, word [edi]
inc edi
push eax
inc edi
mov ecx, 0xaef24857
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0xc044]
or eax, eax
je 0x40a6f9
mov dword [ebx], eax
add ebx, 4
jmp 0x40a6d1
call dword [esi + 0xc040]
mov ebp, dword [esi + 0xc048]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x20f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x40a733
sub esp, 0xffffff80
jmp 0x402640
Function at 0x4afce4
Capabilities:
Allocate or change rwx memory
Get system information on windows

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffb4
mov dword [esp], eax
lea esi, [esp + 0x30]
lea eax, [esp + 0xc]
push eax
call sub.kernel32.dll_GetSystemInfo
mov edi, dword [esp]
push 0x1c
push esi
push edi
call sub.kernel32.dll_VirtualQuery
test eax, eax
je 0x4afdaf
jmp 0x4afda3
cmp dword [esi + 0x10], 0x1000
jne 0x4afd8f
test byte [esi + 0x15], 1
jne 0x4afd8f
mov byte [esp + 4], 0
mov ebp, dword [esi + 0x14]
cmp ebp, 1
je 0x4afd40
cmp ebp, 2
je 0x4afd40
cmp ebp, 0x10
je 0x4afd40
cmp ebp, 0x20
jne 0x4afd5c
lea eax, [esp + 8]
push eax
push 0x40
mov eax, dword [esi + 0xc]
push eax
mov eax, dword [esi]
push eax
call sub.kernel32.dll_VirtualProtect
test eax, eax
je 0x4afd5c
mov byte [esp + 4], 1
xor ebx, ebx
jmp 0x4afd6d
mov eax, dword [esi]
add eax, ebx
call fcn.004afcdc
add ebx, dword [esp + 0x10]
cmp ebx, dword [esi + 0xc]
jb 0x4afd60
cmp byte [esp + 4], 0
je 0x4afd8f
lea eax, [esp + 8]
push eax
mov eax, dword [esp + 0xc]
push eax
mov eax, dword [esi + 0xc]
push eax
mov eax, dword [esi]
push eax
call sub.kernel32.dll_VirtualProtect
mov eax, dword [esi]
add eax, dword [esi + 0xc]
mov edi, eax
push 0x1c
push esi
push edi
call sub.kernel32.dll_VirtualQuery
test eax, eax
je 0x4afdaf
mov eax, dword [esi + 4]
cmp eax, dword [esp]
je 0x4afd15
add esp, 0x4c
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x432004
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
mov eax, section..rsrc
push 4
nop
nop
nop
nop
pop edi
nop
nop
nop
nop
nop
cmp eax, 0
nop
nop
nop
nop
nop
nop
nop
je 0x432072
mov ebx, 0x40c7d0
nop
nop
mov ecx, ebx
nop
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
xor edx, edx
nop
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
div edi
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
pop eax
nop
nop
nop
mov esi, 0x568b208b
nop
xor dword [eax], esi
nop
nop
nop
add eax, edi
nop
nop
nop
nop
loop 0x432060
nop
nop
nop
nop
nop
mov eax, section..data
nop
nop
nop
cmp eax, 0
nop
je 0x4320d2
nop
nop
nop
mov ebx, 0x42f314
nop
mov ecx, ebx
nop
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
push eax
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
xchg ecx, eax
nop
nop
nop
nop
pop eax
nop
nop
nop
nop
nop
nop
mov esi, 0x4535e86
nop
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
nop
nop
loop 0x4320c0
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x431219
Function at 0x1001058d
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
pushal
call 0x1001059c
pop dword [ebp - 4]
mov eax, 0x1001059c
sub dword [ebp - 4], eax
push 0x40
push 0x1000
push 0x38819
push 0
mov eax, sym.imp.kernel32.dll_VirtualAlloc
add eax, dword [ebp - 4]
call dword [eax]
mov ecx, 0x45c1
xor ebx, ebx
add ebx, eax
mov edx, 0x10036a00
add edx, dword [ebp - 4]
mov edi, 0x340431df
mov esi, dword [edx]
xor esi, edi
mov dword [ebx], esi
add ebx, 0x545c63d1
sub ebx, 0x545c63cd
add edx, 0x4bcf7b4a
add edx, 0xb43084ba
loop 0x100105e1
add eax, 0x109d7
xor ebx, ebx
add ebx, eax
add eax, 5
mov ecx, 0x643431ad
sub ecx, 0x543431ad
add ecx, dword [ebp - 4]
call ebx
leave
ret

Function at 0x10011126
Capabilities:
Hide graphical window

Disassembly:
push esi
test ecx, ecx
je 0x10011130
lea esi, [ecx - 0x78]
jmp 0x10011132
xor esi, esi
lea eax, [esi + 0x84]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
mov esi, dword [esi + 0x50]
test esi, esi
je 0x1001114e
push 0
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
pop esi
ret 8

Function at 0x10011201
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x1c
test eax, eax
je 0x10011213
add eax, 0xffffff84
jmp 0x10011215
xor eax, eax
and dword [ebp + 8], 0
push esi
mov esi, dword [ebp + 0xc]
push edi
push 7
pop ecx
lea edi, [ebp - 0x1c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp + 8]
push ecx
push 0x1002244c
lea ecx, [eax + 4]
call fcn.1000d84d
test eax, eax
js 0x1001127e
cmp dword [ebp + 8], 0
je 0x1001127b
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x10
xor edi, edi
call esi
test ax, ax
jns 0x10011253
inc edi
push 0x11
call esi
test ax, ax
jns 0x1001125f
add edi, 2
push 0x12
call esi
test ax, ax
jns 0x1001126b
add edi, 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push edi
lea edx, [ebp - 0x1c]
push edx
push eax
call dword [ecx + 0x1c]
jmp 0x1001127e
xor eax, eax
inc eax
xor ecx, ecx
test eax, eax
mov eax, dword [ebp + 8]
setne cl
mov esi, ecx
test eax, eax
je 0x10011294
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
pop edi
mov eax, esi
pop esi
leave
ret 8
Function at 0x1000cd10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
pushal
call 0x1000cd1f
pop dword [ebp - 0xc]
mov eax, 0x1000cd1f
sub dword [ebp - 0xc], eax
mov dword [ebp - 0x1c], 0xd6b70320
sub dword [ebp - 0x1c], 0x8864bdd5
mov dword [ebp - 0x18], 0x9cd0bca3
sub dword [ebp - 0x18], 0x6a9d705e
mov dword [ebp - 0x14], 0x8ced1b3c
sub dword [ebp - 0x14], 0x40a0d70e
mov dword [ebp - 0x10], 0x2c53ea5e
add dword [ebp - 0x10], 0xd3ac15a2
lea eax, [ebp - 0x1c]
push eax
mov eax, 0xf5d23b33
add eax, 0x1a2dd64d
add eax, dword [ebp - 0xc]
call dword [eax]
mov dword [ebp - 0x1c], 0xd65718b0
add dword [ebp - 0x1c], 0x9e1b50a6
mov dword [ebp - 0x18], 0x1a34562
add dword [ebp - 0x18], 0x3fc91c13
mov dword [ebp - 0x14], 0x3a95e503
add dword [ebp - 0x14], 0x28d98769
mov dword [ebp - 0x10], 0x2d544197
sub dword [ebp - 0x10], 0x2d544197
lea ebx, [ebp - 0x1c]
push ebx
push eax
mov eax, 0xc55e57ae
sub eax, 0xb55e4636
add eax, dword [ebp - 0xc]
call dword [eax]
push 0x40
push 0x1000
push 0x3f5ea
push 0
call eax
mov ecx, 0x5396aa5b
sub ecx, 0x53965b01
xor ebx, ebx
add ebx, eax
mov edx, 0x1001ce00
add edx, dword [ebp - 0xc]
mov edi, 0x497b88dc
sub edi, 0x4ab0865a
add dword [ebp - 8], 0x42d4b907
mov esi, dword [edx]
xor dword [ebp - 8], eax
xor esi, edi
mov dword [ebx], esi
xor dword [ebp - 4], 0x25820752
add ebx, 0x2e19acca
add ebx, 0xd1e6533a
add edx, 0x99e277f7
add edx, 0x661d880d
loop 0x1000ce38
add eax, 0x3dec3926
sub eax, 0x3deb08eb
mov ebx, eax
add eax, 0x6b767a98
add eax, 0x9489856d
mov ecx, 0xff5cd2f7
sub ecx, 0xef5cd2f7
add ecx, dword [ebp - 0xc]
call ebx
leave
ret

Function at 0x1000ef53
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x1000ef60]
jne 0x10017e82
ret
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x328
mov dword [0x1001a2f8], eax
mov dword [0x1001a2f4], ecx
mov dword [0x1001a2f0], edx
mov dword [0x1001a2ec], ebx
mov dword [0x1001a2e8], esi
mov dword [0x1001a2e4], edi
mov word [0x1001a310], ss
mov word [0x1001a304], cs
mov word [0x1001a2e0], ds
mov word [0x1001a2dc], es
mov word [0x1001a2d8], fs
mov word [0x1001a2d4], gs
pushfd
pop dword [0x1001a308]
mov eax, dword [ebp]
mov dword [0x1001a2fc], eax
mov eax, dword [ebp + 4]
mov dword [0x1001a300], eax
lea eax, [ebp + 8]
mov dword [0x1001a30c], eax
mov eax, dword [ebp - 0x320]
mov dword [0x1001a248], 0x10001
mov eax, dword [0x1001a300]
mov dword [0x1001a1fc], eax
mov dword [0x1001a1f0], 0xc0000409
mov dword [0x1001a1f4], 1
mov eax, dword [0x1000ef60]
mov dword [ebp - 0x328], eax
mov eax, dword [0x1001a044]
mov dword [ebp - 0x324], eax
call dword [sym.imp.kernel32.dll_IsDebuggerPresent]
mov dword [0x1001a240], eax
push 1
call sub.msvcr100.dll__crt_debugger_hook
pop ecx
push 0
call dword [sym.imp.kernel32.dll_SetUnhandledExceptionFilter]
push 0x10017f84
call dword [sym.imp.kernel32.dll_UnhandledExceptionFilter]
cmp dword [0x1001a240], 0
jne 0x10017f6e
push 1
call sub.msvcr100.dll__crt_debugger_hook
pop ecx
push 0xc0000409
call dword [sym.imp.kernel32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.kernel32.dll_TerminateProcess]
leave
ret
Function at 0x10006c70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
pushal
call 0x10006c7f
pop dword [ebp - 8]
mov eax, 0x9f9d7926
sub eax, 0x8f9d0ca7
sub dword [ebp - 8], eax
mov dword [ebp - 0x18], 0xb973456c
sub dword [ebp - 0x18], 0x6b210021
mov dword [ebp - 0x14], 0x6dd5386e
sub dword [ebp - 0x14], 0x3ba1ec29
mov dword [ebp - 0x10], 0xe2c45c6f
add dword [ebp - 0x10], 0x6987e7bf
mov dword [ebp - 0xc], 0x891f5a4d
sub dword [ebp - 0xc], 0x891f5a4d
lea eax, [ebp - 0x18]
push eax
mov eax, 0xe218f742
add eax, 0x2ded38d6
add eax, dword [ebp - 8]
call dword [eax]
mov dword [ebp - 0x18], 0xe3d8df21
add dword [ebp - 0x18], 0x90998a35
mov dword [ebp - 0x14], 0x1b7df7d4
add dword [ebp - 0x14], 0x25ee69a1
mov dword [ebp - 0x10], 0x6903564d
add dword [ebp - 0x10], 0xfa6c161f
mov dword [ebp - 0xc], 0x80569e44
sub dword [ebp - 0xc], 0x80569e44
lea ebx, [ebp - 0x18]
push ebx
push eax
mov eax, 0x47cbc8d1
add eax, 0xc83a674f
add eax, dword [ebp - 8]
call dword [eax]
push 0x40
push 0x1000
push 0x548c3
push 0
call eax
mov ecx, 0x49e8
mov esi, eax
mov edx, 0x5b532411
add edx, 0xb4b661ef
add edx, dword [ebp - 8]
mov edi, 0x1540ac2a
sub edi, 0x3d3a23ca
sub dword [ebp - 4], ecx
mov ebx, dword [edx]
xor ebx, edi
add dword [ebp - 4], eax
mov dword [esi], ebx
xor dword [ebp - 4], ecx
add esi, 0x89252876
sub esi, 0x89252872
add edx, 0x2ae868cf
sub edx, 0x2ae868cb
loop 0x10006d9b
add eax, 0x63a02ef7
sub eax, 0x639f1484
mov ebx, eax
add eax, 0xe7dac0d
sub eax, 0xe7dac08
mov ecx, 0xd5b0d126
add ecx, 0x3a4f2eda
add ecx, dword [ebp - 8]
call ebx
leave
ret
Function at 0x1000db20
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005d6e6
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x1008ab18]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 4]
cmp dword [eax + 0x16], 0
je 0x1000dc4f
push dword [ebp + 8]
lea ecx, [ebp - 0x10]
call sym.ScCore.dll_public:_static_class_ScCore::TypeInfo____cdecl_ScCore::TypeInfo::parse_class_ScCore::String_const___int__class_ScCore::String___class_ScCore::String___class_ScCore::String___class_ScCore::TypeInfo___
mov edi, dword [esi + 4]
mov dword [ebp - 4], 0
call sym.ScCore.dll_public:_static_class_ScCore::Encoder_const____cdecl_ScCore::Encoder::getBinary_void_
cmp dword [edi + 0x12], eax
mov eax, edi
setne cl
cmp byte [ebp + 0xc], 0
je 0x1000db90
test cl, cl
je 0x1000db90
push dword [edi + 0x26]
lea ecx, [ebp - 0x10]
call sym.ScCore.dll_public:_static_class_ScCore::TypeInfo____cdecl_ScCore::TypeInfo::parse_class_ScCore::String_const___int__class_ScCore::String___class_ScCore::String___class_ScCore::String___class_ScCore::TypeInfo___
mov eax, dword [esi + 4]
push dword [eax + 0x12]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x10]
call sym.ScCore.dll_public:_static_class_ScCore::TypeInfo____cdecl_ScCore::TypeInfo::parse_class_ScCore::String_const___int__class_ScCore::String___class_ScCore::String___class_ScCore::String___class_ScCore::TypeInfo___
mov edi, eax
test edi, edi
jne 0x1000dbd0
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x1000dbd0
mov eax, dword [esi + 4]
push dword [eax + 0x16]
push 1
push ecx
push dword [ebp - 0x18]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
mov ecx, 0x34
cmp eax, 1
cmovne edi, ecx
mov eax, dword [esi + 4]
push dword [eax + 0x16]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ferror]
add esp, 4
test eax, eax
mov eax, dword [esi + 4]
push dword [eax + 0x16]
je 0x1000dc14
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_clearerr]
add esp, 4
lea ecx, [ebp - 0x10]
mov edi, 0x34
call sym.ScCore.dll_public:_static_class_ScCore::TypeInfo____cdecl_ScCore::TypeInfo::parse_class_ScCore::String_const___int__class_ScCore::String___class_ScCore::String___class_ScCore::String___class_ScCore::TypeInfo___
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__ftelli64]
mov ecx, dword [esi + 4]
add esp, 4
cmp edx, dword [ecx + 0x1e]
jl 0x1000dc32
jg 0x1000dc2c
cmp eax, dword [ecx + 0x1a]
jbe 0x1000dc32
mov dword [ecx + 0x1a], eax
mov dword [ecx + 0x1e], edx
lea ecx, [ebp - 0x10]
call sym.ScCore.dll_public:_static_class_ScCore::TypeInfo____cdecl_ScCore::TypeInfo::parse_class_ScCore::String_const___int__class_ScCore::String___class_ScCore::String___class_ScCore::String___class_ScCore::TypeInfo___
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
mov eax, 0x32
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
Function at 0x10010020
Capabilities:
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
mov ecx, esi
push 0
push 0
call sym.ScCore.dll_public:_static_class_ScCore::TypeInfo____cdecl_ScCore::TypeInfo::parse_class_ScCore::String_const___int__class_ScCore::String___class_ScCore::String___class_ScCore::String___class_ScCore::TypeInfo___
cwde
test eax, eax
je 0x10010052
mov ecx, dword [esi]
and al, 3
pop esi
cmp al, 2
jne 0x10010049
mov dword [ebp + 8], ecx
pop ebp
jmp fcn.10033360
mov dword [ebp + 8], ecx
pop ebp
jmp fcn.10033590
mov eax, 0x30
pop esi
pop ebp
ret
Function at 0x10035360
Capabilities:
Get graphical window text
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18c
mov eax, dword [0x1008ab18]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
call sym.ScCore.dll_public:_static_class_ScCore::TypeInfo____cdecl_ScCore::TypeInfo::parse_class_ScCore::String_const___int__class_ScCore::String___class_ScCore::String___class_ScCore::String___class_ScCore::TypeInfo___
mov ebx, eax
test ebx, ebx
je 0x100354cc
push edi
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov edi, eax
test edi, edi
je 0x100353ac
push 4
push edi
call dword [sym.imp.USER32.dll_GetWindow]
test eax, eax
jne 0x100353a8
push edi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
je 0x100353ac
mov edi, eax
jmp 0x10035390
push 0x100
lea eax, [ebp - 0x184]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je 0x100354c4
push 0x80
lea eax, [ebp - 0x84]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClassNameA]
test eax, eax
je 0x100354c4
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x84]
push eax
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, edi
jne 0x100354c4
test edi, edi
je 0x100354c4
push esi
push 0xfffffffffffffffc
push edi
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0
push edi
mov esi, eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push 0
push ebx
mov edi, eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test esi, esi
mov dword [ebp - 0x188], eax
pop esi
je 0x100354c4
cmp eax, edi
je 0x100354c4
push 1
push edi
push eax
call dword [sym.imp.USER32.dll_AttachThreadInput]
test eax, eax
je 0x10035471
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0
push edi
push dword [ebp - 0x188]
call dword [sym.imp.USER32.dll_AttachThreadInput]
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1005a9e0
mov esp, ebp
pop ebp
ret
push 0
lea eax, [ebp - 0x18c]
push eax
push 0
push 0x2000
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push 2
lea eax, [ebp - 0x188]
mov dword [ebp - 0x188], 0
push eax
push 0
push 0x2001
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 2
lea eax, [ebp - 0x18c]
push eax
push 0
push 0x2001
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.1005a9e0
mov esp, ebp
pop ebp
ret
Function at 0x100354f0
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
call dword [sym.imp.kernel32.dll_GetCurrentProcessId]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov esi, eax
test esi, esi
jne 0x1003551b
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
push dword [ebp - 0xc]
push esi
call sym.ScCore.dll_public:_static_class_ScCore::TypeInfo____cdecl_ScCore::TypeInfo::parse_class_ScCore::String_const___int__class_ScCore::String___class_ScCore::String___class_ScCore::String___class_ScCore::TypeInfo___
add esp, 8
mov dword [ebp - 8], eax
test eax, eax
je 0x10035544
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov edx, dword [ebp - 8]
test eax, eax
cmove edx, esi
mov dword [ebp - 8], edx
test edx, edx
jne 0x1003555a
lea eax, [ebp - 0xc]
push eax
push 0x100355e0
call dword [sym.imp.USER32.dll_EnumWindows]
mov edx, dword [ebp - 8]
test edx, edx
je 0x100355a1
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1008baa8]
mov dword [ebp - 4], edx
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1008ba20]
cmp eax, dword [ecx + 4]
jg 0x100355a8
jmp 0x1003557e
mov edx, dword [ebp - 8]
lea eax, [ebp - 4]
push eax
push 0
push dword [0x1008ba1c]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 8]
test eax, eax
pop esi
cmovne ecx, dword [ebp - 4]
mov eax, ecx
mov esp, ebp
pop ebp
ret
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
push 0x1008ba20
call sym.ScCore.dll_public:_static_class_ScCore::TypeInfo____cdecl_ScCore::TypeInfo::parse_class_ScCore::String_const___int__class_ScCore::String___class_ScCore::String___class_ScCore::String___class_ScCore::TypeInfo___
add esp, 4
cmp dword [0x1008ba20], 0xffffffff
jne 0x1003557b
push str.adobe.sccore.get.dialog.owner
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
push 0x1008ba20
mov dword [0x1008ba1c], eax
call sym.ScCore.dll_public:_static_class_ScCore::TypeInfo____cdecl_ScCore::TypeInfo::parse_class_ScCore::String_const___int__class_ScCore::String___class_ScCore::String___class_ScCore::String___class_ScCore::TypeInfo___
add esp, 4
jmp 0x1003557b