joyce8/EMBER2024-capa huggingface dataset:
Function at 0x405770
Capabilities:
Get file attributes

Disassembly:
push ebx
mov ebx, eax
mov eax, ebx
call fcn.004036d0
push eax
call sub.kernel32.dll_GetFileAttributesA
inc eax
setne al
pop ebx
ret

Function at 0x4059f0
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
mov dword [ebp - 4], 0xffffffff
mov byte [ebp - 0x11], 0
push 0
mov eax, dword [0x4092d0]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetFileSize
mov ebx, eax
mov eax, dword [0x4092a4]
sub ebx, dword [eax]
cmp ebx, 0x10016
jbe 0x405a29
mov ebx, 0x10016
cmp ebx, 0x16
jbe 0x405af2
mov eax, ebx
call fcn.004027b4
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x405aeb
push dword fs:[eax]
mov dword fs:[eax], esp
mov dx, 1
xor eax, eax
call fcn.00405638
mov dword [ebp - 0x10], eax
mov eax, ebx
neg eax
mov dx, 2
call fcn.00405638
mov edi, eax
mov eax, dword [ebp - 0xc]
mov edx, ebx
call fcn.00405664
mov esi, eax
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.00405638
cmp ebx, esi
jne 0x405ad5
mov esi, ebx
sub esi, 0x16
test esi, esi
jb 0x405ad5
inc esi
xor ebx, ebx
mov eax, dword [ebp - 0xc]
add eax, ebx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, dword [0x4092b8]
cmp eax, dword [edx]
jne 0x405ad1
push 0
mov eax, dword [0x4092d0]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_GetFileSize
mov edx, dword [ebp - 8]
movzx edx, word [edx + 0x14]
add edx, edi
add edx, ebx
add edx, 0x16
cmp eax, edx
jne 0x405ad1
mov byte [ebp - 0x11], 1
lea eax, [ebx + edi]
mov dword [ebp - 4], eax
jmp 0x405ad5
inc ebx
dec esi
jne 0x405a8d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x405af2
mov eax, dword [ebp - 0xc]
call fcn.004027e4
ret
cmp byte [ebp - 0x11], 0
jne 0x405b02
mov eax, 0x405b14
call fcn.004078cc
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x406418
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push 0x406465
push dword fs:[eax]
mov dword fs:[eax], esp
push 5
lea eax, [ebp - 4]
mov ecx, ebx
mov edx, 0x40647c
call fcn.004035a8
mov eax, dword [ebp - 4]
call fcn.004036d0
push eax
call sub.kernel32.dll_WinExec
mov ebx, eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40646c
lea eax, [ebp - 4]
call fcn.004033d8
ret

Function at 0x406548
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
xor eax, eax
push ebp
push 0x406647
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [0x409294]
cmp byte [eax + 0xb], 0
jbe 0x40662c
lea edx, [ebp - 0x10]
mov eax, 1
call fcn.00406738
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 4]
call fcn.004064bc
lea edx, [ebp - 0x14]
mov eax, 2
call fcn.00406738
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 8]
call fcn.004064bc
lea eax, [ebp - 0xc]
call fcn.004079f4
mov eax, dword [0x4092ac]
mov eax, dword [eax]
call fcn.0040355c
test eax, eax
je 0x4065cb
mov eax, dword [0x4092ac]
mov eax, dword [eax]
call fcn.004028f4
call fcn.004028b8
mov eax, dword [ebp - 4]
call fcn.0040355c
cmp eax, 4
jle 0x40661f
mov eax, dword [ebp - 4]
call fcn.0040684c
test al, al
je 0x4065f0
mov eax, dword [ebp - 4]
call fcn.00406418
mov ebx, eax
jmp 0x40661f
push 5
mov eax, dword [0x4092ac]
mov eax, dword [eax]
call fcn.004036d0
push eax
mov eax, dword [ebp - 8]
call fcn.004036d0
push eax
mov eax, dword [ebp - 4]
call fcn.004036d0
push eax
push 0x406658
push 0
call sub.shell32.dll_ShellExecuteA
mov ebx, eax
mov eax, dword [ebp - 0xc]
call fcn.004028f4
call fcn.004028b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40664e
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.004033fc
ret

Function at 0x406ad4
Capabilities:
Hash data with crc32

Disassembly:
push ebx
xor ebx, ebx
mov ecx, dword [0x4092f8]
movzx eax, bx
mov dx, 0xfff8
test eax, 1
jbe 0x406af5
shr eax, 1
xor eax, 0xedb88320
jmp 0x406af7
shr eax, 1
inc dx
jne 0x406ae4
mov dword [ecx], eax
inc ebx
add ecx, 4
cmp bx, 0x100
jne 0x406add
pop ebx
ret

Function at 0x406b0c
Capabilities:
Generate random numbers using the delphi lcg

Disassembly:
push ebx
push esi
push edi
mov ebx, eax
mov esi, dword [0x409290]
mov edx, dword [esi]
mov eax, ebx
call fcn.004054fc
mov edi, eax
mov dword [esi], edi
and edi, 0xff
add dword [esi + 4], edi
imul ebx, dword [esi + 4], 0x8088405
inc ebx
mov dword [esi + 4], ebx
mov eax, ebx
call fcn.0040401c
call fcn.00404020
mov edx, dword [esi + 8]
call fcn.004054fc
mov dword [esi + 8], eax
pop edi
pop esi
pop ebx
ret
Function at 0x406c0c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, ecx
mov byte [ebp - 1], dl
mov esi, eax
mov ebx, dword [ebp + 8]
mov byte [ebp - 2], 0
test ebx, ebx
je 0x406ca9
mov eax, ebx
call fcn.00406b54
mov al, byte [ebp - 1]
dec eax
test al, al
jb 0x406c6c
inc eax
mov byte [ebp - 4], al
mov bl, 0
call fcn.00406be4
xor edx, edx
mov dl, bl
xor ecx, ecx
mov cl, byte [ebp - 1]
add edx, ecx
xor al, byte [esi + edx]
mov byte [ebp - 3], al
mov al, byte [ebp - 3]
call fcn.00406b0c
xor eax, eax
mov al, bl
mov dl, byte [ebp - 3]
mov byte [esi + eax], dl
inc ebx
dec byte [ebp - 4]
jne 0x406c3e
xor eax, eax
mov al, byte [ebp - 1]
mov bl, byte [esi + eax - 1]
and di, 8
cmp di, 8
je 0x406c96
mov eax, dword [ebp + 0x10]
call fcn.0040401c
call fcn.00404020
cmp bl, al
jne 0x406ca9
mov byte [ebp - 2], 1
jmp 0x406ca9
xor eax, eax
mov al, bl
movzx edx, word [ebp + 0xc]
shr edx, 8
cmp eax, edx
jne 0x406ca9
mov byte [ebp - 2], 1
mov al, byte [ebp - 2]
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 0xc

Function at 0x406dfc
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd6c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x194], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ecx
mov ebx, edx
lea edi, [ebp - 0x30]
xor edx, edx
push ebp
push 0x406f3e
push dword fs:[edx]
mov dword fs:[edx], esp
push 0x191
push eax
call sub.user32.dll_GetDlgItem
mov esi, eax
push 0x4011
push 0x160
lea eax, [ebp - 0x190]
push eax
push 0x80
lea edx, [ebp - 0x194]
mov eax, ebx
call fcn.00405710
mov eax, dword [ebp - 0x194]
call fcn.004036d0
push eax
call sub.shell32.dll_SHGetFileInfoA
mov dword [edi], 0xf
mov dword [edi + 4], 0x7fffffff
xor eax, eax
mov dword [edi + 8], eax
mov eax, dword [0x409294]
test byte [eax + 6], 2
jne 0x406e8e
xor eax, eax
mov dword [edi + 0xc], eax
jmp 0x406e95
mov dword [edi + 0xc], 2
mov dword [edi + 0x10], 2
mov eax, ebx
call fcn.004036d0
mov dword [edi + 0x14], eax
mov eax, ebx
call fcn.0040355c
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x18c]
mov dword [edi + 0x1c], eax
mov eax, dword [ebp + 8]
mov dword [edi + 0x20], eax
push edi
push 0
push 0x1007
push esi
call sub.user32.dll_SendMessageA
mov dword [edi], 1
mov dword [edi + 4], eax
mov dword [edi + 8], 1
lea edx, [ebp - 0x294]
mov eax, dword [ebp - 4]
call fcn.00402a3c
lea edx, [ebp - 0x294]
lea eax, [ebp - 8]
call fcn.00403538
mov eax, dword [ebp - 8]
call fcn.004036d0
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 8]
call fcn.0040355c
mov dword [edi + 0x18], eax
push edi
push 0
push 0x1006
push esi
call sub.user32.dll_SendMessageA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x406f45
lea eax, [ebp - 0x194]
call fcn.004033d8
lea eax, [ebp - 8]
call fcn.004033d8
ret

Function at 0x4079f4
Capabilities:
Get common file path

Disassembly:
push ebx
add esp, 0xfffffef8
mov ebx, eax
push esp
push 0x104
call sub.kernel32.dll_GetCurrentDirectoryA
mov ecx, eax
mov edx, esp
mov eax, ebx
call fcn.004034c8
add esp, 0x108
pop ebx
ret
Function at 0x408a5c
Capabilities:
Get file system object information
Set environment variable

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeec
xor eax, eax
mov dword [ebp - 0x114], eax
mov eax, 0x4089e4
call fcn.00403da8
xor eax, eax
push ebp
push 0x408bb4
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetTickCount
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x110]
call fcn.00403a24
lea edx, [ebp - 0x110]
mov eax, 0x40aee0
call fcn.00403538
mov eax, dword [0x40aee0]
call fcn.004036d0
push eax
push 0x408bc0
call sub.kernel32.dll_SetEnvironmentVariableA
call sub.comctl32.dll_InitCommonControls
push 0x105
push 0x40add8
push 0
call sub.kernel32.dll_GetModuleFileNameA
mov ecx, eax
mov edx, 0x40add8
mov eax, dword [0x4092ec]
call fcn.004034c8
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov eax, dword [0x4092ec]
mov eax, dword [eax]
call fcn.004036d0
push eax
call sub.kernel32.dll_CreateFileA
mov edx, dword [0x4092d0]
mov dword [edx], eax
mov eax, dword [0x4092d0]
cmp dword [eax], 0xffffffff
jne 0x408b3f
lea eax, [ebp - 0x114]
push eax
mov edx, dword [0x4092ec]
xor ecx, ecx
mov eax, 0x408bd0
call fcn.00406660
mov eax, dword [ebp - 0x114]
call fcn.004078cc
call fcn.00406ad4
call fcn.004060bc
mov eax, 0x40ac78
xor ecx, ecx
mov edx, 0x160
call fcn.004029bc
push 0x4001
push 0x160
push 0x40ac78
push 0
mov eax, dword [0x4092ec]
mov eax, dword [eax]
call fcn.004036d0
push eax
call sub.shell32.dll_SHGetFileInfoA
mov edx, dword [0x4092e4]
mov dword [edx], eax
push 0x407f28
mov edx, 0x408bec
xor ecx, ecx
mov eax, dword [0x40a650]
call fcn.00404028
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x408bbb
lea eax, [ebp - 0x114]
call fcn.004033d8
ret
Function at 0x401080
Capabilities:
Create process on windows

Disassembly:
mov eax, dword [0x52fe14]
push 1
push 0
push 0
push str.https:__www.paypal.com_cgi_bin_webscr_cmd_s_xclickhosted_button_id3LV8XTRBK9K4E
push str.open
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x4010b5
push 0
push 0
push 0
push eax
push str.ShellExecute_failed
call fcn.004263e0
add esp, 0x14
ret

Function at 0x4010c0
Capabilities:
Create process on windows

Disassembly:
mov eax, dword [0x52fe14]
push 1
push 0
push 0
push str.http:__flattr.com_thing_2002773_Maximus5ConEmu_on_GitHub
push str.open
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x4010f5
push 0
push 0
push 0
push eax
push str.ShellExecute_failed
call fcn.004263e0
add esp, 0x14
ret

Function at 0x401180
Capabilities:
Create process on windows

Disassembly:
mov eax, dword [0x510188]
mov ecx, dword [0x52fe14]
push 1
push 0
push 0
push eax
push str.open
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x4011b7
push 0
push 0
push 0
push eax
push str.ShellExecute_failed
call fcn.004263e0
add esp, 0x14
ret

Function at 0x4011c0
Capabilities:
Create process on windows

Disassembly:
mov eax, dword [str.http:__www.fosshub.com_ConEmu.html]
mov ecx, dword [0x52fe14]
push 1
push 0
push 0
push eax
push str.open
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x4011f7
push 0
push 0
push 0
push eax
push str.ShellExecute_failed
call fcn.004263e0
add esp, 0x14
ret

Function at 0x401200
Capabilities:
Create process on windows

Disassembly:
mov eax, dword [str.http:__code.google.com_p_conemu_maximus5_issues_entry]
mov ecx, dword [0x52fe14]
push 1
push 0
push 0
push eax
push str.open
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x401237
push 0
push 0
push 0
push eax
push str.ShellExecute_failed
call fcn.004263e0
add esp, 0x14
ret

Function at 0x401240
Capabilities:
Check for time delay via gettickcount
Create process on windows

Disassembly:
push ebp
mov ebp, esp
cmp dword [0x5128e8], 0
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x401262
call edi
sub eax, dword [0x5128e8]
cmp eax, 0xea60
jb 0x4012d4
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x401272
cmp word [esi], 0
jne 0x401272
xor esi, esi
mov eax, dword [str.http:__code.google.com_p_conemu_maximus5_issues_entry]
mov ecx, dword [0x52fe14]
push 1
push 0
push 0
push eax
push str.open
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x4012b4
push 0
push 0
push 0
push eax
push str.ShellExecute_failed
call fcn.004263e0
add esp, 0x14
call edi
pop esi
mov dword [0x5128e8], eax
pop edi
pop ebp
ret
test esi, esi
je 0x4012cc
push 1
push 0xffffffffffffffff
push 0
push 0x1030
push esi
call fcn.004262f0
add esp, 0x14
call edi
mov dword [0x5128e8], eax
pop esi
pop edi
pop ebp
ret
Function at 0x401860
Capabilities:
Create process on windows

Disassembly:
push 1
push 0xffffffffffffffff
push 0
push 0x44
push str.You_can_show_your_appreciation_and_support_future_development_by_donating._n_nOpen_PayPal_website_
call fcn.004262f0
add esp, 0x14
cmp eax, 6
jne 0x4018af
mov eax, dword [0x52fe14]
push 1
push 0
push 0
push str.https:__www.paypal.com_cgi_bin_webscr_cmd_s_xclickhosted_button_id3LV8XTRBK9K4E
push str.open
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
ja 0x4018af
push 0
push 0
push 0
push eax
push str.ShellExecute_failed
call fcn.004263e0
add esp, 0x14
ret

Function at 0x401b00
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a8
cmp byte [ebp + 8], 0
push esi
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
je 0x401b7b
mov eax, dword [0x52fe2c]
add eax, 0x5c8
push eax
lea ecx, [ebp - 0x2a8]
push ecx
call fcn.00401a60
add esp, 8
push str.WhatsNew_ConEmu.txt
push 0x154
lea edx, [ebp - 0x2a8]
push edx
call fcn.004017b0
lea eax, [ebp - 0x2a8]
push 0
push eax
call fcn.004c5850
add esp, 8
test al, al
je 0x401b7b
mov edx, dword [0x52fe14]
push 1
push 0
push 0
lea ecx, [ebp - 0x2a8]
push ecx
push str.open
push edx
call esi
cmp eax, 0x20
jge 0x401bc3
mov eax, dword [str.http:__code.google.com_p_conemu_maximus5_wiki_Whats_New]
push eax
lea ecx, [ebp - 0x2a8]
push ecx
call fcn.00401a60
mov eax, dword [0x52fe14]
add esp, 8
push 1
push 0
push 0
lea edx, [ebp - 0x2a8]
push edx
push str.open
push eax
call esi
cmp eax, 0x20
jge 0x401bc3
push 0
push 0
push 0
push eax
push str.File_WhatsNew_ConEmu.txt_not_found__go_to_web_page_failed
call fcn.004263e0
add esp, 0x14
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x402700
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
push edi
push 9
mov esi, ecx
push str.SoftwareMicrosoftWindows_NTCurrentVersionPerflib_03X
xor edi, edi
push esi
mov dword [esi + 0x808], edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 8]
push eax
push 0x20019
push edi
push esi
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 8], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4028e0
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea edx, [ebp - 4]
push edx
push edi
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
push edi
mov word [esi], cx
mov ecx, dword [ebp - 8]
push str.Counters
push ecx
call ebx
test eax, eax
jne 0x402821
mov edx, dword [ebp - 4]
lea eax, [edx*4]
push eax
call fcn.0044c4d0
mov edi, eax
add esp, 4
mov dword [ebp - 0x10], edi
test edi, edi
je 0x40281f
mov eax, dword [ebp - 8]
lea ecx, [ebp - 4]
push ecx
push edi
lea edx, [ebp - 0xc]
push edx
push 0
push str.Counters
push eax
call ebx
test eax, eax
jne 0x402816
cmp word [edi], ax
je 0x402816
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str.Process
push edi
call ebx
test eax, eax
jne 0x4027d6
push edi
call fcn.004026b0
push eax
push 0x4e4a24
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
jmp 0x4027fa
cmp dword [esi + 0x808], 0
jne 0x4027fa
push str.ID_Process
push edi
call ebx
test eax, eax
jne 0x4027fa
push edi
call fcn.004026b0
add esp, 4
mov dword [esi + 0x808], eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp word [edi + eax*2 + 2], 0
lea edi, [edi + eax*2 + 2]
jne 0x4027b2
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edi, dword [ebp - 0x10]
push edi
call fcn.0044c4f0
add esp, 4
xor edi, edi
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp word [esi], di
je 0x4028df
cmp dword [esi + 0x800], edi
jne 0x402860
push 0x7d000
mov dword [esi + 0x804], 0x7d000
call fcn.0044c4d0
add esp, 4
mov dword [esi + 0x800], eax
lea esp, [esp]
mov edx, dword [esi + 0x804]
mov dword [ebp - 4], edx
lea esp, [esp]
mov ecx, dword [esi + 0x800]
lea eax, [ebp - 4]
push eax
push ecx
lea edx, [ebp - 0xc]
push edx
push edi
push esi
push reloc.OLEAUT32.dll_SysReAllocStringLen
call ebx
cmp eax, 0xa7
je 0x402870
cmp eax, edi
je 0x4028e6
cmp eax, 0xea
jne 0x4028c3
mov eax, dword [ebp - 4]
add eax, 0x3e800
push eax
mov dword [ebp - 4], eax
call fcn.0044c4d0
add esp, 4
cmp eax, edi
je 0x40290c
mov dword [esi + 0x800], eax
mov eax, dword [ebp - 4]
mov dword [esi + 0x804], eax
jmp 0x402860
cmp eax, 0x100000
jge 0x402860
mov edx, dword [esi + 0x800]
push edx
call fcn.0044c4f0
mov dword [esi + 0x800], edi
add esp, 4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x800]
mov eax, str.PERF
mov ecx, 8
sub edx, eax
cmp ecx, 4
jb 0x4028df
mov ebx, dword [edx + eax]
cmp ebx, dword [eax]
jne 0x4028ca
sub ecx, 4
add eax, 4
jmp 0x4028f8
mov ecx, dword [esi + 0x800]
push ecx
jmp 0x4028d1
Function at 0x405390
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x52fe30]
sub esp, 0x250
push ebx
xor bl, bl
push esi
mov esi, ecx
cmp byte [eax + 0xf41], bl
je 0x405462
cmp word [esi + 8], 0
push edi
lea edi, [esi + 8]
je 0x405461
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x218]
cmp eax, 0x1388
jbe 0x405461
push 0x4e50d8
push edi
call fcn.004c9bf0
add esp, 8
test eax, eax
je 0x405461
push 0x24c
lea ecx, [ebp - 0x24c]
push 0
push ecx
mov dword [ebp - 0x250], 0
call fcn.004c9b50
mov eax, dword [0x52fe30]
add esp, 0xc
lea edx, [ebp - 0x250]
push edx
add eax, 0xf42
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x405461
mov ecx, dword [ebp - 0x238]
cmp ecx, dword [esi + 0x214]
jne 0x405443
mov edx, dword [ebp - 0x23c]
cmp edx, dword [esi + 0x210]
je 0x40545a
push 0
mov ecx, esi
call fcn.00404790
mov bl, al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x218], eax
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4070a0
Capabilities:
Set environment variable

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x14], 0
je 0x4070c2
mov eax, dword [esi + 4]
test eax, eax
je 0x4070c2
cmp word [eax], 0
je 0x4070c2
push eax
push str.PATH
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov eax, dword [esi + 4]
test eax, eax
je 0x4070d9
push eax
call fcn.0044c4f0
add esp, 4
mov dword [esi + 4], 0
pop esi
ret
Function at 0x4086c0
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
test si, si
jne 0x40872f
test ebx, ebx
jne 0x40872f
test di, di
je 0x40872f
push edi
call dword [sym.imp.USER32.dll_VkKeyScanW]
movzx eax, ax
mov dword [ebp + 0xc], eax
test ax, ax
je 0x40872f
mov ecx, 0xffff
cmp ax, cx
je 0x40872f
movzx esi, al
shr ax, 8
mov dl, al
and dl, 7
mov word [ebp + 0xc], ax
cmp dl, 6
jne 0x408718
mov ebx, 0x10
jmp 0x40872f
test al, 1
je 0x408721
mov ebx, 0x10
test al, 2
je 0x408728
or ebx, 8
test al, 4
je 0x40872f
or ebx, 2
mov eax, dword [ebp + 0x14]
cmp eax, 0xffffffff
jne 0x408743
movzx eax, si
push 0
push eax
call dword [sym.imp.USER32.dll_MapVirtualKeyW]
mov ecx, 1
mov word [ebp - 0x14], cx
xor ecx, ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], ecx
mov ecx, 1
mov edx, ecx
mov word [ebp - 8], ax
mov eax, dword [ebp + 0x18]
mov word [ebp - 0xc], dx
mov edx, dword [ebp - 0x14]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov word [ebp - 0xa], si
mov ecx, dword [ebp - 0xc]
mov dword [eax + 8], ecx
mov word [ebp - 6], di
mov esi, dword [ebp - 8]
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ebx
mov eax, dword [ebp + 0x1c]
mov dword [eax], edx
xor edi, edi
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
pop edi
mov dword [eax + 0xc], esi
pop esi
mov dword [eax + 0x10], ebx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4088d0
Capabilities:
Check mutex on windows
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6f4
push ebx
push esi
xor eax, eax
push edi
push 0x40
push eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x58]
push eax
or esi, 0xffffffff
mov dword [ebp - 0x5c], 0x44
call fcn.004c9b50
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0x18]
push ebx
push str.ConEmuDefTermProc._u
lea edx, [ebp - 0xdc]
push 0x40
push edx
mov dword [ecx], 0
call fcn.0044cff0
add esp, 0x1c
lea eax, [ebp - 0xdc]
push eax
push 1
call fcn.0044cf40
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x40894a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
jmp 0x408951
mov dword [ebp - 4], 0
mov edi, dword [ebp + 0xc]
cmp dword [edi], 0
jne 0x40897d
push ebx
push 0
push 0x100400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [edi], eax
test eax, eax
jne 0x40897d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
jmp 0x408a97
cmp dword [ebp - 4], 0xb7
jne 0x408994
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x90
jmp 0x408a95
mov eax, dword [edi]
push eax
push ebx
call fcn.004c6160
add esp, 8
cmp eax, 0x20
je 0x4089e3
cmp eax, 0x40
je 0x4089c6
mov eax, dword [edi]
xor ecx, ecx
push eax
mov word [ebp - 0x6f4], cx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 0xfffffffe
jmp 0x408a97
mov edx, dword [ebp + 0x14]
push ebx
push str.ConEmuC64.exe
push edx
push str.__s_s___DEFTRM_u
push 0x30c
lea eax, [ebp - 0x6f4]
push eax
jmp 0x4089fe
mov ecx, dword [ebp + 0x14]
push ebx
push str.ConEmuC.exe
push ecx
push str.__s_s___DEFTRM_u
push 0x30c
lea edx, [ebp - 0x6f4]
push edx
call fcn.0044cff0
add esp, 0x18
cmp word [ebp - 0x6f4], 0
jne 0x408a20
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 0xfffffffe
jmp 0x408a97
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x5c]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x6f4]
push eax
push 0
mov dword [ebp - 0x30], 1
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x408a69
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
mov edx, dword [edi]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 0xfffffffd
jmp 0x408a97
mov eax, dword [ebp - 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x14]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov ecx, dword [ebp - 0x14]
push ecx
call esi
xor esi, esi
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x408aa5
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret