joyce8/EMBER2024-capa huggingface dataset:
Function at 0x5ae000
Capabilities:
Get file version info

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0xc]
push ebp
push esi
lea eax, [esp + 0xc]
push edi
push eax
push ebx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov esi, eax
test esi, esi
je 0x5ae131
push esi
call fcn.005b1145
add esp, 4
mov edi, eax
push edi
push esi
push 0
push ebx
call sub.VERSION.dll_GetFileVersionInfoW
push 0
push 0x80
push 3
push 0
push 0
push 0xc0000000
push ebx
call fcn.005a0080
mov ebp, eax
add esp, 0x1c
cmp ebp, 0xffffffff
je 0x5ae131
push 0
push ebp
call fcn.005a03a0
push 0
push 0
push 0
push 4
push 0
push ebp
mov ebx, eax
call fcn.005a0260
add esp, 0x20
mov dword [esp + 0x18], eax
test eax, eax
jne 0x5ae08b
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
push 0
push 0
push 0
push 6
push eax
call fcn.005a02f0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x5ae121
push 0x5c6918
push edi
call fcn.005af3f0
push eax
push ebx
push esi
call fcn.005adf60
push 0x5c68f8
push edi
call fcn.005af3f0
push eax
push ebx
push esi
call fcn.005adf60
push 0x5c68d8
push edi
call fcn.005af3f0
push eax
push ebx
push esi
call fcn.005adf60
push 0x5c68c0
push edi
call fcn.005af3f0
add esp, 0x44
push eax
push ebx
push esi
call fcn.005adf60
push 0x5c68a0
push edi
call fcn.005af3f0
push eax
push ebx
push esi
call fcn.005adf60
push 0x5c6888
push edi
call fcn.005af3f0
push eax
push ebx
push esi
call fcn.005adf60
add esp, 0x34
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov ecx, dword [esp + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
call esi
push ebp
call esi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
Function at 0x5af1b0
Capabilities:
Acquire debug privileges

Disassembly:
push ecx
lea eax, [esp]
mov dword [esp], 0
push eax
push 0x20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp]
push 1
push str.SeBackupPrivilege
push ecx
call fcn.005af140
mov edx, dword [esp + 0xc]
push 1
push str.SeDebugPrivilege
push edx
call fcn.005af140
mov eax, dword [esp + 0x18]
push 1
push str.SeRestorePrivilege
push eax
call fcn.005af140
mov ecx, dword [esp + 0x24]
push 1
push str.SeSecurityPrivilege
push ecx
call fcn.005af140
mov edx, dword [esp + 0x30]
add esp, 0x30
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
pop ecx
ret

Function at 0x5afbfa
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push esi
lea eax, [ebp - 4]
push eax
push 0x20019
xor esi, esi
push esi
push str.CLSIDADB880A6_D8FF_11CF_9377_00AA003B7A11InprocServer32
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x5afc50
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
mov dword [ebp - 8], 0x104
push esi
push esi
push 0x5c187c
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x5afc43
inc esi
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
jmp 0x5afc52
xor eax, eax
pop esi
leave
ret 4
Function at 0x5adab1
Capabilities:
Encode data using xor

Disassembly:
mov edi, 0x8f82b3b6
loopne 0x5adaf6
adc dword [edx - 0x4e], eax
cli
pop esp
push es
invalid
jnp 0x5adb18
ja 0x5adb63
mov eax, dword [edx]
mov eax, dword [0x69f6e142]
mov byte [0x2ee35723], al
cmpsb byte [esi], byte es:[edi]
mov edi, 0x8d66ec48
pop edx
aam 0x2f
inc edx
loope 0x5adaef
imul esp, dword [edx + 0x2ee35723], 0xec48bfa6
lea bx, [edx - 0x2c]
das
out 0x61, eax
mov byte [0x50ecddc1], ch
outsb dx, byte [esi]
mov byte [0xd2b7ab8e], al
lea ebx, [edx]
push 0x34a9155f
jge 0x5adab6
sbb ch, byte [eax + 0x5f]
adc eax, 0x967d34a9
push ebp
dec ebx
jae 0x5adb7b
invalid
fld dword [ebx + 0x38a5242]
mov bl, 0x6c
adc edi, ebp
lea esi, [esi + 0x51c9e0a6]
jb 0x5adbbf
cmp dl, 0xf2
movntps xmmword [eax - 0x179fa967], xmm2
in al, 0xb9
mov eax, 0x920a1cb6
pop ebx
mov esi, 0x9889047a
adc byte [ecx + 0xe], dh
pop ss
call 0xb914c05a
mov dh, 0x1c
or dl, byte [edx + 0x47abe5b]
mov dword [eax + 0x170e7110], ebx
pop ds
je 0x5adbd8
jmp 0x5adb77
mov byte [0x4bbb8bd6], al
les ebx, [eax - 0x71f9ffa9]
fist dword [esp + ebx - 0x54dc35c0]
mov edi, 0x8c14aebf
aam 0x8e
or dword [ebx + ebp*4 + 0x75], edi
jo 0x5adb48
sub al, 0xbb
mov ah, 0x12
test al, 0xdc
pop edi
dec ecx
mul dh
mov bl, 0xe6
mov esi, 0xc8b73bf9
mov dl, 0x88
outsd dx, dword cs:[esi]
dec ecx
mov dl, 0x13
bound esi, qword [eax + 0x798b29a1]
mov ch, 0x15
sal al, cl
jo 0x5adc1b
ret
and eax, 0x77766348
pop ds
jl 0x5adbbb
push ebx
ret 0xa770
push es
or dl, byte [0x5ae750f5]
dec edx
daa
insb byte es:[edi], dx
push esp
add al, 0x13
lahf
xchg esi, eax
nop
sbb bh, ch
dec edi
mov eax, 0x240ef7c2
sub esp, edi
cmp eax, 0x32bf0467
pop ss
add edx, dword [ebx + 0x22ae0892]
adc al, 0x66
add dword [edx + 0x1f], ecx
popal
out dx, al
mov edx, ebx
xchg edi, eax
add dword [ebx - 0x51c55afb], 0x98661fa
pushal
xchg ecx, eax
xchg byte [esi + 0x2196f165], bh
dec edi
popal
cdq
dec esi
jmp 0x5adcdb
push edi
fsub st(5)
pop edx
inc eax
mov ch, 0xa6
sub dword [eax], ebx
cmp dword [edx], ecx
add eax, 0x3821db4f
lodsd eax, dword [esi]
pop es
adc esi, ebp
sub bl, dl
or eax, dword [eax + 0x2c]
sub edx, dword fs:[esi]
cmpsb byte [esi], byte es:[edi]
iretd
jno 0x5adc7d
jae 0x5adc6d
les ebp, es:[esi + 0x6a]
outsb dx, byte [esi]
cmp al, 0x20
mov byte [ebp + 0x41ff4a3f], cl
test dword [ecx], esp
dec eax
xor dword [edi - 0x43], esp
ret
xchg ebx, eax
jle 0x5adcbe
xchg ebx, eax
push 0xc886fc7b
popal
sub eax, 0x5162e286
mov esp, 0x4044f425
xor ebp, esp
imul esp, dword [ecx + 0x597148ce], 0xe3f8ffba
jecxz 0x5adcdf
ret
retf 0xca1d
Function at 0x64f9b0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, 8
pxor mm7, mm7
push ecx
movd mm6, ebx
mov ebx, 0x80008000
push edx
punpckldq mm6, mm6
movd mm5, ebx
push edi
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
punpckldq mm5, mm5
movq mm0, qword [edx]
movq mm2, qword [edx + 8]
movq mm4, qword [edx + 0x10]
movq mm1, mm2
psrlq mm2, 0x20
punpckldq mm2, mm4
paddd mm0, mm2
movq mm3, mm4
psrlq mm4, 0x20
sub eax, 4
jl 0x64fab9
jmp 0x64fa10
pxor mm5, qword [ecx]
add edi, 8
add ecx, 8
movq mm2, qword [edx + 0x18]
punpckldq mm4, mm2
paddd mm0, mm2
paddd mm1, mm4
movq mm4, mm5
punpcklwd mm5, mm7
punpckhwd mm4, mm7
pcmpeqd mm7, mm7
psubd mm0, mm5
pslld mm7, 0x12
psubd mm1, mm4
pslld mm5, 4
pslld mm4, 4
psubd mm5, mm0
movq mm0, mm6
paddd mm5, mm7
paddd mm4, mm7
psrld mm7, 0x1e
pand mm0, mm5
paddd mm5, mm7
psrld mm0, 3
paddd mm5, mm0
movq mm0, qword [edx + 0x20]
psrad mm5, 3
paddd mm1, mm0
add edx, 0x10
psubd mm4, mm1
movq mm1, mm6
sub eax, 4
pand mm1, mm4
paddd mm4, mm7
psrld mm1, 3
paddd mm4, mm1
movq mm1, mm2
psrad mm4, 3
psrlq mm2, 0x20
packssdw mm5, mm4
movq mm4, mm0
movq mm0, mm3
punpckldq mm2, mm4
movq mm3, mm4
psrlq mm4, 0x20
movq qword [edi - 8], mm5
movd mm5, ebx
paddd mm0, mm2
punpckldq mm5, mm5
pxor mm7, mm7
jge 0x64fa10
add eax, 4
jle 0x64fb43
pxor mm5, qword [ecx]
movq mm2, qword [edx + 0x18]
punpckldq mm4, mm2
paddd mm0, mm2
paddd mm1, mm4
movq mm4, mm5
punpcklwd mm5, mm7
punpckhwd mm4, mm7
pcmpeqd mm7, mm7
psubd mm0, mm5
pslld mm7, 0x12
pslld mm5, 4
psubd mm1, mm4
psubd mm5, mm0
paddd mm1, qword [edx + 0x20]
pslld mm4, 4
paddd mm5, mm7
psubd mm4, mm1
movq mm2, mm6
paddd mm4, mm7
psrld mm7, 0x1e
pand mm2, mm5
paddd mm5, mm7
psrld mm2, 3
pand mm6, mm4
paddd mm4, mm7
psrld mm6, 3
paddd mm5, mm2
paddd mm4, mm6
psrad mm5, 3
psrad mm4, 3
packssdw mm5, mm4
cmp eax, 2
jl 0x64fb3d
movd dword [edi], mm5
je 0x64fb43
psrlq mm5, 0x20
add edi, 4
movd edx, mm5
mov word [edi], dx
pop edi
pop edx
pop ecx
pop ebx
ret

Function at 0x6d94f1
Capabilities:
Encode data using xor

Disassembly:
push cs
imul esp, eax, 0xffffffd7
xor ebx, eax
mov edi, 0x230c0e22
mov edx, dword [edx + 0x68]
and dh, dl
Function at 0x40165b
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
push ebx
push edi
push esi
mov esi, dword [esp + 0x14]
mov eax, dword fs:[0x30]
mov edi, dword [eax + 0xc]
mov ebx, dword [edi + 0x14]
add edi, 0x14
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push esi
push dword [ebx + 0x10]
call ebp
test eax, eax
jne 0x40168a
mov ebx, dword [ebx]
cmp ebx, edi
jne 0x401678
xor eax, eax
pop esi
pop edi
pop ebx
pop ebp
ret 4

Function at 0x401692
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x21c
mov esi, ecx
lea edi, [esp + 0x14]
push 0x208
push 0
push edi
call fcn.0040e060
add esp, 0xc
movaps xmm0, xmmword [str.tQAXLVzTRZ]
movups xmmword [esp], xmm0
mov word [esp + 0x10], 0x1326
mov byte [esp + 0x12], 0
mov byte [esp], 0x47
xor eax, eax
inc eax
mov dl, 0xcb
mov ecx, eax
mov bh, byte [esp + eax]
mov ah, dl
mov bl, dl
and bl, 1
mov dh, cl
mov ebp, ecx
add dh, 0x33
mov dl, dh
and dl, 0xa6
or dl, bl
xor dl, 0xa6
mov bl, dh
xor bl, 0xa7
and bl, dh
mov ch, dl
and ch, bl
xor dl, bl
or dl, ch
not bl
and bl, 0x58
and dl, 0xa7
or dl, bl
mov bl, bh
not bl
mov ecx, ebx
and cl, 0x32
mov ch, bh
and ch, 0xcd
or ch, cl
xor ch, 0xcd
not dl
mov cl, ch
and cl, dl
xor dl, ch
or dl, cl
mov ecx, edx
not cl
and cl, 0x6d
and dl, 0x92
or dl, cl
mov ch, dl
xor ch, 0x92
mov cl, bl
and cl, 0x24
and bl, bh
and bh, 0xdb
or bh, cl
xor bh, 0xdb
mov cl, bh
and cl, bl
xor bh, bl
or bh, cl
mov cl, bh
not cl
mov bl, ah
and bl, 0x1d
and dh, 0xe2
or dh, bl
and bh, 0x1d
and cl, 0xe2
or cl, bh
xor cl, dh
mov dh, cl
xor dh, ah
and dh, cl
mov cl, dl
xor cl, 0x6d
mov bh, cl
and bh, 0xef
xor dl, 0x79
and dl, ch
mov bl, ch
and bl, 0x10
or bl, bh
mov ch, dh
mov bh, dh
xor bh, 0xeb
and bh, dh
not dh
and cl, 0xeb
or ch, 0x14
mov al, cl
and al, dl
xor dl, cl
or dl, al
mov al, ch
and al, 0xa3
mov cl, dh
and cl, 0x48
or cl, al
mov al, bh
not al
or ch, al
and al, 0xa3
and bh, 0x5c
or bh, al
xor bh, cl
not ch
or ch, bh
mov al, dl
not al
and al, ch
not ch
and ch, dl
xor bl, 0x10
or ch, al
mov al, bl
and al, dh
xor dh, bl
mov dl, ah
or dh, al
mov al, ch
not al
mov cl, al
and cl, 0xb9
and ch, 0x46
or ch, cl
mov cl, dh
not cl
or al, dh
and dh, 0xb9
and cl, 0x46
or cl, dh
xor cl, ch
not al
or al, cl
mov ecx, ebp
mov byte [esp + ebp], al
inc ecx
dec dl
mov eax, ecx
cmp ecx, 0x12
jne 0x4016d2
mov eax, esp
mov byte [eax + 0x12], 0
push eax
call fcn.0040165b
push 0x208
push edi
push 0
call eax
push 0x5c
push edi
call fcn.0040e1ba
add esp, 8
test eax, eax
je 0x401831
mov word [eax + 2], 0
mov ecx, esi
push edi
call fcn.0040184e
mov ecx, esi
push edi
call fcn.00403f3e
xor eax, eax
add esp, 0x21c
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0xd68b7c
Capabilities:
Encode data using xor

Disassembly:
push 0xd68886
pop ebx
and edx, edi
call fcn.00d68bbf
add edi, edi
mov edi, edx
sub edx, 0xe4e87d9d
xor dword [esi], ebx
add edi, 0xa5be609d
add esi, 2
mov edx, 0x6a11ebe
sub edi, edi
cmp esi, eax
jl fcn.00d68b7c
add edi, 0xaca7cc59
ret
Function at 0x408e1c
Capabilities:
Hash data with crc32

Disassembly:
push ebp
cmp dword [0x441d64], 0
mov ebp, esp
push esi
mov edx, dword [ebp + 0xc]
push ebx
jne 0x408e59
xor ecx, ecx
mov eax, ecx
mov ebx, 8
mov esi, eax
shr esi, 1
and eax, 1
je 0x408e44
mov eax, 0xedb88320
xor eax, esi
dec ebx
jne 0x408e36
mov dword [ecx*4 + 0x441d60], eax
inc ecx
cmp ecx, 0x100
jne 0x408e2f
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x10]
not eax
add ebx, edx
cmp edx, ebx
je 0x408e7b
mov cl, byte [edx]
inc edx
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x441d60]
jmp 0x408e63
pop ebx
not eax
pop esi
pop ebp
ret 0xc

Function at 0x424640
Capabilities:
Encode data using xor

Disassembly:
rcr dword [edi - 5], 0xd4
push edx
adc byte [edx], bl
xchg ecx, eax
cmp edx, ebx
outsb dx, byte [esi]
mov ah, 0x3a
inc esp
insd dword es:[edi], dx
lcall 0xd601, 0x8212a6d8
pop ecx
insb byte es:[edi], dx
sub ecx, edi
push cs
push es
sbb ebp, dword [esi]
mov cl, 0xe
les edi, [edx - 0x6056ebf5]
invalid
Function at 0x403d19
Capabilities:
Create process on windows
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x20030
call fcn.0042f8a0
push ebx
push esi
push edi
lea ecx, [ebp - 0x2c]
call fcn.0040d7f7
lea eax, [ebp - 0x1002c]
push eax
xor ebx, ebx
push 0x7fff
mov byte [ebp - 6], bl
mov byte [ebp - 5], bl
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryW]
lea eax, [ebp - 7]
push eax
push dword [ebp + 8]
call fcn.004061ca
call dword [sym.imp.KERNEL32.DLL_IsDebuggerPresent]
test eax, eax
jne 0x471cc1
mov eax, dword [0x4c1130]
test eax, eax
je 0x403e5d
xor edi, edi
inc edi
mov esi, 0x4c2100
cmp eax, edi
je 0x471cd9
lea eax, [ebp - 6]
push eax
push ecx
push 0x4c1130
push 0x4c1148
mov ecx, esi
call fcn.004040e5
test al, al
je 0x403e66
mov al, byte [0x4c2100]
mov byte [0x4c1134], al
mov al, byte [0x4c2101]
mov byte [ebp - 5], al
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x2002c]
push eax
push 0x7fff
push dword [0x4c1148]
call dword [sym.imp.KERNEL32.DLL_GetFullPathNameW]
push dword [ebp - 0xc]
mov ecx, 0x4c1120
call fcn.00406a63
mov bl, byte [ebp - 6]
push dword [0x4c1130]
push 0x4c1148
call fcn.00406430
test eax, eax
jne 0x471cf8
cmp byte [ebp - 5], 1
je 0x471d17
call fcn.00403e6e
call fcn.004036b8
cmp byte [0x4c1134], 0
mov ebx, 0x4c1708
jne 0x403e1f
mov ecx, ebx
call fcn.00404ffc
push edi
mov ecx, 0x4c1160
call fcn.0040e8d0
cmp byte [0x4c1134], 0
jne 0x403e3a
mov ecx, ebx
call fcn.00403847
mov ecx, esi
call fcn.004052b5
lea eax, [ebp - 0x1002c]
push eax
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryW]
lea ecx, [ebp - 0x2c]
call fcn.0040cb37
pop edi
pop esi
pop ebx
leave
ret 4
or dword [0x4c10bc], 0xffffffff
jmp 0x403e41
mov dword [0x4c10bc], edi
jmp 0x403e41
push 0x10
push 0x4b28f4
push str.This_is_a_third_party_compiled_AutoIt_script.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x403e4e
push 0xffffffffffffffff
push dword [0x4c1138]
mov ecx, esi
push edi
call fcn.0041c682
mov al, byte [0x4c10c2]
mov byte [0x4c2102], al
jmp 0x403dde
mov ecx, esi
call fcn.004052b5
lea eax, [ebp - 0x1002c]
push eax
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryW]
mov dword [0x4c10bc], edi
jmp 0x403e4e
call fcn.004471fa
test al, al
jne 0x403e00
cmp byte [ebp - 7], al
jne 0x403e00
lea ecx, [ebp - 0x2c]
call fcn.00405374
push 0x49dab4
lea ecx, [ebp - 0x1c]
call fcn.0040ce19
lea ecx, [ebp - 0x1c]
test bl, bl
je 0x471d6e
mov edi, 0x4b2928
push edi
call fcn.0040518c
push 0x4c1148
lea ecx, [ebp - 0x1c]
call fcn.0040510d
push edi
lea ecx, [ebp - 0x1c]
call fcn.0040518c
push 1
jmp 0x471d77
push dword [ebp + 8]
call fcn.0040518c
push edi
lea eax, [ebp - 0x1002c]
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x2c]
push 0x4b292c
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x1c]
call fcn.0040cb37
jmp 0x403e3a
Function at 0x40406b
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
lea ebx, [esi + 0x10]
push ebx
push 1
push 0
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
test eax, eax
js 0x4040a3
push edi
push 0
push 0x4aeefc
push 0xa
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.DLL_FindResourceExW]
mov edi, eax
test edi, edi
jne 0x474f16
pop edi
pop esi
pop ebx
leave
ret
push edi
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.DLL_LoadResource]
mov dword [ebp - 4], eax
test eax, eax
je 0x4040a2
push edi
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.DLL_SizeofResource]
mov edi, eax
test edi, edi
je 0x4040a2
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.DLL_LockResource]
test eax, eax
je 0x4040a2
mov ecx, dword [ebx]
push 0
mov edx, dword [ecx]
push edi
push eax
push ecx
call dword [edx + 0x10]
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [eax]
push edx
push edx
push edx
push edx
push eax
call dword [ecx + 0x14]
mov byte [esi + 0x14], 1
jmp 0x4040a2

Function at 0x4044ed
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
and dword [ebp - 4], 0
cmp byte [ecx + 0x14], 0
jne 0x474fc0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0042381e
add esp, 0x10
leave
ret 0x10
mov ecx, dword [ecx + 0x10]
lea eax, [ebp - 4]
mov edx, dword [ecx]
push eax
mov eax, dword [ebp + 0xc]
imul eax, dword [ebp + 0x10]
push eax
push dword [ebp + 8]
push ecx
call dword [edx + 0xc]
mov eax, dword [ebp - 4]
jmp 0x404513

Function at 0x4049fb
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
sub esp, 0x10
push ebx
call fcn.0040bcce
lea eax, [ebp - 8]
push eax
push 1
xor ebx, ebx
push ebx
push str.SoftwareAutoIt_v3AutoIt
push reloc.WSOCK32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x4741cc
xor al, al
pop ebx
leave
ret
lea eax, [ebp - 4]
push eax
push ebx
push ebx
push ebx
push str.Include
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x474246
mov eax, dword [ebp - 4]
push esi
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041f4ea
pop ecx
push eax
lea ecx, [ebp - 0x10]
call fcn.004047b7
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 4]
push eax
push esi
push ebx
push ebx
push str.Include
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x47423d
mov eax, dword [ebp - 4]
shr eax, 1
xor ecx, ecx
mov dword [ebp - 4], eax
mov word [esi + eax*2], cx
mov ecx, dword [ebp + 0xc]
push esi
call fcn.00406a63
mov bl, 1
lea ecx, [ebp - 0x10]
call fcn.004047e2
pop esi
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, bl
jmp 0x404a2d
Function at 0x40c2e0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, ecx
push edi
cmp dword [esi + 8], 0
je 0x40c354
mov ebx, dword [ebp + 0xc]
xor edi, edi
test ebx, ebx
je 0x40c317
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
je 0x40c327
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0xc]
inc edi
mov al, byte [ecx + eax]
mov ecx, dword [ebp + 8]
mov byte [edi + ecx - 1], al
inc dword [esi + 0xc]
cmp edi, ebx
jb 0x40c2f7
add dword [esi + 0x10], edi
mov eax, edi
pop edi
adc dword [esi + 0x14], 0
pop esi
pop ebx
pop ebp
ret 8
push 0
lea eax, [ebp + 0xc]
push eax
push 0x10000
push dword [esi + 4]
push dword [esi]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
test eax, eax
je 0x40c317
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x40c317
mov dword [esi + 8], eax
mov dword [esi + 0xc], 0
jmp 0x40c2ff
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
call fcn.004045a6
jmp 0x40c2ee
Function at 0x41e593
Capabilities:
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov al, byte [0x4c10c1]
push ebx
push esi
push edi
mov esi, ecx
push 0x8000
push esi
mov edi, edx
mov byte [ebp - 1], al
call fcn.00422933
pop ecx
push eax
call fcn.00422765
pop ecx
pop ecx
push 0xb
mov ecx, edi
mov ebx, eax
call fcn.0040d5e4
test al, al
jne 0x474256
lea ecx, [ebp - 0x18]
call fcn.0041e63a
mov ecx, edi
call fcn.0040936c
lea eax, [ebp - 0x18]
push eax
push dword [edi + 8]
call fcn.0041e65e
push dword [ebp - 0x18]
push 0x4aec6c
push esi
call fcn.00422b2c
add esp, 0xc
cmp byte [ebp - 1], 0
mov dword [ebp - 8], eax
jne 0x474276
lea ecx, [ebp - 0x18]
call fcn.0040cb37
mov edi, dword [ebp - 8]
push esi
call fcn.00422cf1
pop ecx
cmp ebx, 0xffffffff
je 0x47428d
push ebx
push esi
call fcn.00422933
pop ecx
push eax
call fcn.00422765
pop ecx
pop ecx
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret
push esi
mov ecx, edi
call fcn.0044b59e
push eax
push 1
call fcn.0044b55b
push eax
call fcn.00422aae
add esp, 0x10
mov edi, eax
jmp 0x41e613
mov ecx, edi
call fcn.0040936c
mov eax, dword [edi + 8]
push dword [eax]
call dword [sym.imp.KERNEL32.DLL_OutputDebugStringW]
jmp 0x41e608
push 0x4000
jmp 0x41e624
Function at 0x41eb42
Capabilities:
Find taskbar
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ebx, dword [ebp + 8]
mov esi, eax
cmp ebx, esi
jne 0x473add
xor eax, eax
inc eax
pop esi
pop ebx
leave
ret 4
push edi
xor edi, edi
test esi, esi
jne 0x473af2
push edi
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
push ebx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x473b06
push 9
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
mov dword [ebp - 0xc], edi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
test eax, eax
jne 0x473be1
push edi
push esi
mov esi, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call esi
mov edi, eax
mov dword [ebp - 8], edi
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
push 0
push ebx
mov dword [ebp + 8], eax
call esi
mov esi, dword [sym.imp.USER32.dll_AttachThreadInput]
push 1
push eax
push dword [ebp + 8]
mov dword [ebp - 4], eax
call esi
push 1
push edi
push dword [ebp + 8]
call esi
push 1
push dword [ebp - 4]
push edi
call esi
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
test eax, eax
jne 0x473bbd
mov edi, dword [sym.imp.USER32.dll_MapVirtualKeyW]
push eax
push eax
push eax
push 0x12
call edi
mov esi, dword [sym.imp.USER32.dll_keybd_event]
push eax
push 0x12
call esi
push 0
push 2
push 0
push 0x12
call edi
push eax
push 0x12
call esi
xor eax, eax
push eax
push eax
push eax
push 0x12
call edi
push eax
push 0x12
call esi
push 0
push 2
push 0
push 0x12
call edi
push eax
push 0x12
call esi
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov esi, dword [sym.imp.USER32.dll_AttachThreadInput]
mov edi, dword [ebp - 8]
test eax, eax
je 0x473bc2
push 4
jmp 0x473bbf
push 3
pop ebx
jmp 0x473bc5
mov ebx, dword [ebp - 0xc]
push 0
push dword [ebp - 4]
push dword [ebp + 8]
call esi
push 0
push edi
push dword [ebp + 8]
call esi
push 0
push dword [ebp - 4]
push edi
call esi
jmp 0x473be4
push 2
pop ebx
mov eax, ebx
pop edi
jmp 0x41eb60