joyce8/EMBER2024-capa huggingface dataset:
Function at 0x405975
Capabilities:
Delete file
Enumerate files on windows
Log keystrokes via polling

Disassembly:
push ebp
lea ebp, [esp - 0xd4]
sub esp, 0x154
mov eax, dword [0x45e32c]
xor eax, ebp
mov dword [ebp + 0xd0], eax
and dword [ebp - 0x74], 0
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push edi
push 0xa2
call esi
xor edi, edi
inc edi
test ax, ax
jge 0x4059af
mov dword [ebp - 0x74], edi
push 0x1b
call esi
test ax, ax
jge 0x4059be
mov dword [0x57d004], edi
push 3
push edi
call fcn.00401a3b
pop ecx
pop ecx
mov edi, eax
lea eax, [ebp - 0x70]
push eax
push str..itv
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x405a45
push 8
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.004034ba
mov esi, eax
push 4
lea eax, [ebp - 0x80]
push esi
push eax
call fcn.00426fb0
push 4
add esi, 4
lea eax, [ebp - 0x78]
push esi
push eax
call fcn.00426fb0
mov eax, edi
sub eax, dword [ebp - 0x78]
add esp, 0x24
cmp eax, 0x278d00
jge 0x405a25
cmp dword [ebp - 0x74], 0
je 0x405a2f
test eax, eax
jg 0x405a2f
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x70]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4059db
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp + 0xd0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00426f93
add ebp, 0xd4
leave
ret

Function at 0x4060c7
Capabilities:
Hide graphical window

Disassembly:
push esi
mov esi, dword [0x57d04c]
push edi
xor eax, eax
xor edi, edi
test esi, esi
je 0x406124
push ebx
mov ebx, dword [esp + 0x10]
cmp dword [esi + 4], ebx
jne 0x40610f
mov ecx, dword [esi]
test ecx, ecx
je 0x4060f7
test eax, eax
je 0x4060ef
mov dword [eax], ecx
jmp 0x4060f5
mov dword [0x57d04c], ecx
mov edi, esi
push 0
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x4601d0]
imul eax, eax, 6
add eax, dword [esp + 0x14]
mov dword [esi + 0x1c], eax
mov eax, esi
mov esi, dword [esi]
test esi, esi
jne 0x4060dc
test edi, edi
pop ebx
je 0x406124
cmp eax, edi
je 0x406124
mov dword [eax], edi
and dword [edi], esi
pop edi
xor eax, eax
pop esi
ret

Function at 0x4067e2
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [0x57d00c]
test eax, eax
je 0x40680b
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x57d024]
test eax, eax
je 0x406804
push eax
call fcn.00426076
pop ecx
and dword [0x57d024], 0
ret
Function at 0x40a74e
Capabilities:
Get common file path

Disassembly:
push ecx
push ecx
push ebx
mov ebx, dword [esp + 0x10]
push ebp
push esi
mov esi, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push edi
xor ebp, ebp
push ebp
push ebp
push 0x18b
mov edi, 0x407
push edi
push ebx
call esi
movzx eax, ax
cmp ax, bp
je 0x40a813
jle 0x40a7e2
movzx eax, ax
mov dword [esp + 0x14], eax
push 0
push ebp
push 0x199
push edi
push ebx
call esi
movzx eax, ax
movsx eax, ax
imul eax, eax, 0x48
mov eax, dword [eax + 0x45a9dc]
push 0
sar eax, 1
push ebp
dec eax
push 0x187
movzx eax, ax
push edi
push ebx
mov dword [esp + 0x24], eax
call esi
test eax, eax
movsx eax, word [esp + 0x10]
jne 0x40a7cd
shl eax, 5
lea eax, [eax + 0x576c14]
or dword [eax], 1
jmp 0x40a7d9
shl eax, 5
lea eax, [eax + 0x576c14]
and dword [eax], 0xfffffffe
inc ebp
dec dword [esp + 0x14]
jne 0x40a785
xor ebp, ebp
push ebp
push ebp
push ebx
call fcn.0040a6de
add esp, 0xc
push ebp
push ebp
push 0x147
push 0x425
push ebx
mov dword [0x45fea0], eax
call esi
pop edi
pop esi
pop ebp
mov word [0x45fea8], ax
pop ebx
add esp, 8
jmp fcn.00404187
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
ret

Function at 0x40e9f7
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x204
mov eax, dword [0x45e32c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
cmp esi, ebx
jne 0x40ea1c
xor eax, eax
jmp 0x40eaae
cmp dword [esi + 0x10], ebx
je 0x40ea15
push edi
lea eax, [ebp - 0x204]
push str.http:__www.imdb.com_find_sttq
push eax
call fcn.00426980
mov eax, dword [esi + 0x10]
push 0x4410b8
push eax
call fcn.00425ff0
mov edi, eax
add esp, 0x10
cmp edi, ebx
je 0x40ea6a
sub eax, dword [esi + 0x10]
cmp eax, 5
jg 0x40ea6a
push 0x441348
push edi
call fcn.00425ff0
cmp eax, ebx
pop ecx
pop ecx
je 0x40ea6a
sub eax, edi
cmp eax, 3
jge 0x40ea6e
xor eax, eax
jmp 0x40eaad
cmp dword [ebp + 0xc], ebx
jne 0x40eaaa
dec eax
push eax
inc edi
lea eax, [ebp - 0x204]
push edi
push eax
call fcn.004283e0
lea eax, [ebp - 0x204]
push 0x44e6c8
push eax
call fcn.0040449c
add esp, 0x14
push 1
push ebx
push ebx
lea eax, [ebp - 0x204]
push eax
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
xor eax, eax
inc eax
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.00426f93
leave
ret
Function at 0x40eba3
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x404
mov eax, dword [0x45e32c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
xor edi, edi
cmp esi, edi
je 0x40ec2c
cmp dword [esi + 0xc], edi
je 0x40ec2c
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.00426980
mov eax, dword [esi + 0xc]
push 0x4410b8
push eax
call fcn.00425ff0
add esp, 0x10
cmp eax, edi
mov ecx, 0xff
je 0x40ebf5
sub eax, dword [esi + 0xc]
mov ecx, eax
push ecx
push dword [esi + 0xc]
lea eax, [ebp - 0x404]
push eax
call fcn.004283e0
lea eax, [ebp - 0x404]
push 0x44e6c8
push eax
call fcn.0040449c
add esp, 0x14
push 1
push edi
push edi
lea eax, [ebp - 0x404]
push eax
push edi
push edi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00426f93
leave
ret

Function at 0x40ec3a
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
cmp dword [0x461704], 0
je 0x40ecc9
push esi
push edi
push dword [0x57d008]
call dword [sym.imp.USER32.dll_OpenClipboard]
call dword [sym.imp.USER32.dll_EmptyClipboard]
push dword [0x461704]
call fcn.004268f0
pop ecx
inc eax
push eax
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push 0x44ea00
push 0
push 0x43f692
push dword [0x461704]
mov edi, eax
call fcn.004268f0
pop ecx
push eax
push dword [0x461704]
call fcn.004268f0
pop ecx
push eax
push dword [0x461704]
push edi
call fcn.0040490a
add esp, 0x1c
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
pop edi
pop esi
jmp dword [sym.imp.USER32.dll_CloseClipboard]
ret
Function at 0x410bf6
Capabilities:
Create process on windows
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
mov eax, dword [0x45e32c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xor esi, esi
cmp dword [ebp + 8], esi
jne 0x410c2e
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.iTV.bak
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor al, al
jmp 0x410d05
push ebx
push edi
xor edi, edi
push esi
inc edi
push edi
push str.Kontrola_verze_iTV
call fcn.00406a11
push dword [ebp + 0xc]
push esi
call fcn.00410b54
add esp, 0x14
cmp eax, 0x30a
je 0x410cf2
push str.Stahuje_se_aktualizace._Pros
call fcn.00402856
push esi
push esi
push edi
lea eax, [ebp - 0x208]
push eax
push str.http:__www.kuma.cz_download_iTV.exe
push str.www.kuma.cz
call fcn.004050fe
push esi
push edi
push str.Aktualizuji_program_iTV
mov ebx, eax
call fcn.00406a11
add esp, 0x28
cmp ebx, esi
je 0x410cf2
cmp word [ebx], 0x5a4d
jne 0x410d01
push 0x200
lea eax, [ebp - 0x204]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_MoveFileExA]
push str.iTV.bak
lea eax, [ebp - 0x204]
push eax
call edi
push dword [ebp - 0x208]
push ebx
mov ebx, str.iTV.update
push ebx
call fcn.00403417
add esp, 0xc
push 1
push str.iTV.exe
push ebx
call edi
push esi
push esi
push esi
lea eax, [ebp - 0x204]
push eax
push esi
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov al, 1
jmp 0x410d03
push esi
push edi
push 0x4414bc
call fcn.00406a11
add esp, 0xc
xor al, al
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00426f93
leave
ret

Function at 0x411092
Capabilities:
Hide graphical window

Disassembly:
push esi
mov esi, dword [0x57d04c]
push edi
xor edi, edi
inc edi
test esi, esi
je 0x4110ed
mov eax, dword [esi + 0x18]
cmp eax, 0xe6
jge 0x4110d1
add eax, 2
mov dword [esi + 0x18], eax
push 2
movzx eax, al
push eax
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
push 8
push dword [esi + 4]
xor edi, edi
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4110e3
push 1
push 0xff
push dword [esi + 4]
call fcn.004066e7
add esp, 0xc
mov esi, dword [esi]
test esi, esi
jne 0x4110a1
test edi, edi
je 0x411102
push 0x14
push dword [0x57d008]
call dword [sym.imp.USER32.dll_KillTimer]
and dword [0x57d050], 0
pop edi
pop esi
ret

Function at 0x4116b9
Capabilities:
Get common file path

Disassembly:
mov eax, 0x461bf0
xor ecx, ecx
cmp dword [eax + 4], ecx
je 0x4116e0
cmp word [eax], 0xffff
jne 0x4116d4
mov dword [eax + 4], ecx
mov word [eax], cx
mov byte [eax + 0xc], cl
add eax, 0x8c
cmp eax, 0x576540
jl 0x4116c0
push 0xffffffffffffffff
call fcn.0040f0e5
pop ecx
jmp fcn.00404187

Function at 0x41341f
Capabilities:
Set registry value

Disassembly:
push 4
lea eax, [esp + 0xc]
push eax
push 4
push 0
push dword [esp + 0x14]
push dword [ecx]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
ret 8
Function at 0x413472
Capabilities:
Set registry value

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0x10]
test esi, esi
mov ebx, ecx
jne 0x413488
push 0x80004005
call fcn.00401157
push edi
xor edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
add esi, eax
add edi, eax
cmp eax, 1
jne 0x41348b
push edi
push dword [esp + 0x18]
push 7
push 0
push dword [esp + 0x20]
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
pop edi
pop esi
pop ebx
ret 8

Function at 0x4139c4
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
push ebp
lea ebp, [esp - 0x98]
sub esp, 0x118
mov eax, dword [0x45e32c]
xor eax, ebp
mov dword [ebp + 0x94], eax
mov eax, dword [ebp + 0xa0]
push ebx
push esi
push edi
push 0x2001f
mov ebx, ecx
push eax
push dword [ebx]
xor esi, esi
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x70], esi
call fcn.004133ea
mov edi, eax
cmp edi, esi
je 0x413a2c
lea ecx, [ebp - 0x70]
call fcn.00413385
mov eax, edi
mov ecx, dword [ebp + 0x94]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00426f93
add ebp, 0x98
leave
ret 4
mov edi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
jmp 0x413a44
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x70]
call fcn.004139c4
cmp eax, esi
jne 0x413a77
lea eax, [ebp - 0x80]
push eax
push esi
push esi
push esi
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x6c]
push eax
push esi
push dword [ebp - 0x70]
mov dword [ebp - 0x74], 0x100
call edi
test eax, eax
je 0x413a34
lea ecx, [ebp - 0x70]
call fcn.00413385
push dword [ebp - 0x78]
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea ecx, [ebp - 0x70]
mov esi, eax
call fcn.00413385
mov eax, esi
jmp 0x413a12

Function at 0x413e1d
Capabilities:
Terminate thread

Disassembly:
cmp dword [0x57cffc], 0
je 0x406fc9
push esi
xor esi, esi
mov eax, dword [0x57cffc]
mov eax, dword [esi + eax]
test eax, eax
je 0x406fb5
push eax
call fcn.00426076
add esi, 8
cmp esi, 0x13880
pop ecx
jl 0x406f97
push dword [0x57cffc]
call fcn.00426076
and dword [0x57cffc], 0
pop ecx
pop esi
ret
push ebx
push esi
push edi
call fcn.00404edd
push 0xf
xor edi, edi
mov esi, 0x460908
pop ebx
cmp dword [esi], 0
je 0x40e9a0
push edi
call fcn.0040e825
pop ecx
inc edi
add esi, 0xa0
dec ebx
jne 0x40e994
mov esi, 0x576c08
mov edi, 0x9e
mov eax, dword [esi]
test eax, eax
je 0x40e9c1
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
add esi, 0x20
dec edi
jne 0x40e9b4
call fcn.00406cbc
push 0x4616e0
call fcn.004080b6
pop ecx
call fcn.004015f0
push 1
push dword [0x57d008]
call dword [sym.imp.USER32.dll_KillTimer]
call fcn.00406745
pop edi
pop esi
pop ebx
jmp 0x406f8b
mov eax, dword [0x57d020]
test eax, eax
je 0x413e38
cmp byte [0x57d002], 0
je 0x413e38
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push 0x576548
push 2
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
push dword [0x46160c]
call sub.gdiplus.dll_GdiplusShutdown
jmp 0x40e982
Function at 0x4155e6
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp byte [0x57d002], bl
je 0x41560a
mov eax, dword [ebp + 8]
mov dword [0x576bf0], 1
mov dword [0x461608], eax
jmp 0x415672
mov eax, dword [0x57d020]
cmp eax, ebx
mov dword [ebp - 4], 1
je 0x415621
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 8]
mov dword [0x461608], eax
mov eax, dword [ebp + 0xc]
mov dword [0x57675c], eax
mov eax, dword [ebp + 0x10]
push ebx
mov dword [0x461550], eax
mov eax, dword [ebp + 0x14]
push 1
push 0x441d08
mov dword [0x576bf0], ebx
mov dword [0x57cdc4], eax
call fcn.00406a11
add esp, 0xc
lea eax, [ebp - 8]
push eax
push ebx
lea eax, [ebp - 4]
push eax
push 0x41551a
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x57d020], eax
pop ebx
leave
ret
Function at 0x41afb4
Capabilities:
Create process on windows

Disassembly:
push 0xc
mov eax, 0x43c41e
call fcn.00427d4f
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov ecx, dword [0x57d07c]
lea eax, [ebp - 0x10]
push eax
push 0x441f10
mov dword [ebp - 4], ebx
call fcn.004130aa
cmp eax, ebx
jge 0x41aff8
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x41aff1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
jmp 0x41b136
mov esi, dword [ebp - 0x10]
push str.D27CDB6E_AE6D_11CF_96B8_444553540000
lea ecx, [ebp - 0x14]
call fcn.0040e4f3
mov edx, dword [0x57d07c]
mov eax, dword [eax]
mov ecx, dword [esi]
push ebx
push dword [edx]
mov byte [ebp - 4], 1
push eax
push esi
call dword [ecx + 0xc]
push dword [ebp - 0x14]
mov esi, eax
mov byte [ebp - 4], bl
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, ebx
jge 0x41b07e
push 0x30
push str.iTV___Hl
push str.Pro_svoji_spr
push dword [0x57d008]
mov dword [0x582034], ebx
mov byte [0x57d090], bl
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
push ebx
push ebx
push str.http:__get.adobe.com_cz_flashplayer
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x41afe3
mov dword [ebp - 0x10], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x41afe0
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x41b08e
mov dword [ebp - 0x10], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, 0x582080
mov ecx, esi
call fcn.00413038
mov ecx, dword [0x57d07c]
push eax
push 0x44080c
call fcn.00413109
cmp eax, ebx
jl 0x41afe0
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.always
call fcn.0040e78b
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.0040e2fb
mov ecx, eax
mov byte [ebp - 4], bl
call fcn.0041ac8c
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.true
call fcn.0040e78b
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.0040e2fb
mov ecx, eax
mov byte [ebp - 4], bl
call fcn.0041acd8
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push str.opaque
call fcn.0040e78b
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.0040e2fb
mov ecx, eax
mov byte [ebp - 4], bl
call fcn.0041abf4
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x41b133
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
inc eax
call fcn.00427dee
ret
Function at 0x41fed2
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
sub esp, 0x404
lea ebp, [esp - 4]
mov eax, dword [0x45e32c]
xor eax, ebp
mov dword [ebp + 0x404], eax
push 0x20
mov eax, 0x43c7ac
call fcn.00427d82
mov edi, ecx
mov eax, dword [ebp + 0x414]
mov esi, dword [ebp + 0x410]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x418]
mov dword [ebp - 0x14], eax
call dword [0x45e268]
xor ebx, ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp], ebx
cmp esi, ebx
mov byte [ebp - 4], 1
je 0x41ff8c
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
push 2
push eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
call fcn.004010f3
add esp, 0xc
test eax, eax
jl 0x41ff8c
mov edi, dword [ebp - 0x24]
cmp edi, 0x400
jg 0x41ff74
push edi
call fcn.0040e39c
test al, al
pop ecx
je 0x41ff74
mov eax, edi
call fcn.00428830
mov dword [ebp - 0x10], esp
mov eax, esp
jmp 0x41ff7d
push edi
lea ecx, [ebp - 0x20]
call fcn.00413000
push dword [ebp - 0x1c]
push edi
push esi
push eax
call fcn.00413227
cmp eax, ebx
jne 0x41ffd1
lea eax, [ebp + 4]
cmp dword [ebp], eax
je 0x41ff9c
lea ecx, [ebp]
call fcn.00413970
lea ecx, [ebp - 0x20]
call fcn.0040e2bc
mov eax, 0x8007000e
lea esp, [ebp - 0x3c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x404]
xor ecx, ebp
call fcn.00426f93
add ebp, 0x408
leave
ret 0x10
push 2
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x1c], edi
jne 0x41fff0
call fcn.004132aa
mov esi, eax
jmp 0x4200b3
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
cmp esi, ebx
jne 0x42000d
call fcn.004132aa
jmp 0x4200a8
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x420003
push esi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
lea eax, [esi + 1]
cmp eax, esi
mov dword [ebp - 0x18], esi
jae 0x420054
lea eax, [ebp + 4]
cmp dword [ebp], eax
je 0x420040
lea ecx, [ebp]
call fcn.00413970
mov esi, 0x8007000e
lea ecx, [ebp - 0x20]
call fcn.0040e2bc
mov eax, esi
jmp 0x41ffa9
push eax
lea ecx, [ebp]
mov byte [ebp - 4], 2
call fcn.00418a85
mov dword [ebp - 4], 1
jmp 0x420075
cmp dword [ebp], ebx
jne 0x420081
mov esi, 0x8007000e
jmp 0x4200aa
push esi
push dword [ebp - 0x14]
push esi
push dword [ebp]
call fcn.004011a4
mov eax, dword [ebp]
add esp, 0x10
push dword [ebp + 0x41c]
mov byte [eax + esi], bl
push dword [ebp]
lea ecx, [ebp - 0x2c]
call fcn.0041a9be
mov esi, eax
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [ebp + 4]
cmp dword [ebp], eax
je 0x420045
lea ecx, [ebp]
call fcn.00413970
jmp 0x420045
Function at 0x4255db
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [sym.imp.USER32.dll_LoadStringA]
push edi
mov edi, 0x200
push edi
push 0x461348
push 0x67
push ebx
call esi
push edi
push 0x5769f0
push 0x6d
push ebx
call esi
push ebx
call fcn.00425212
push dword [ebp + 0x14]
push ebx
call fcn.004058e3
add esp, 0xc
test eax, eax
jne 0x425622
xor eax, eax
jmp 0x42568a
movzx eax, word [0x44eca4]
push 0x57ce38
push eax
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x42561e
push str.TaskbarCreated
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
push dword [ebp + 0x14]
mov dword [0x576bf4], eax
call fcn.004252a9
test al, al
pop ecx
je 0x425681
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
xor edi, edi
jmp 0x425674
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push edi
push edi
push edi
lea eax, [ebp - 0x1c]
push eax
call esi
test eax, eax
jne 0x425660
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
leave
ret 0x10

Function at 0x42596d
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
cmp dword [0x582334], 0
push esi
jne 0x4258e0
call fcn.0042580b
test eax, eax
je 0x425923
mov eax, dword [0x582334]
cmp eax, 1
jne 0x425901
push 0xd
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x425923
pop esi
ret
push eax
call dword [0x58233c]
test eax, eax
jne 0x42596b
push 0x40
mov eax, 0x1000
push eax
push eax
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov esi, eax
test esi, esi
jne 0x425927
xor eax, eax
pop esi
ret
mov eax, dword [esi]
push edi
push dword [0x582334]
call dword [0x58233c]
mov edi, eax
test edi, edi
je 0x42594e
push 0x8000
push 0
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, edi
jmp 0x42596a
lea edi, [esi + 0xff0]
push esi
push dword [0x582334]
call dword [0x582338]
add esi, 0x10
cmp esi, edi
jb 0x425954
mov eax, esi
pop edi
pop esi
ret
jmp 0x4258cd
Function at 0x425abe
Capabilities:
Check os version

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x98
mov eax, dword [0x45e32c]
xor eax, ebp
mov dword [ebp + 0x74], eax
push esi
mov esi, ecx
call fcn.00425a53
mov eax, 0x400000
push 0x94
mov dword [esi + 8], eax
mov dword [esi + 4], eax
lea eax, [ebp - 0x20]
push 0
push eax
mov dword [esi], 0x3c
mov byte [esi + 0xc], 0
call fcn.00426c50
add esp, 0xc
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x20], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x10], 2
jne 0x425b0d
cmp dword [ebp - 0x1c], 5
jb 0x425b25
jmp 0x425b21
cmp dword [ebp - 0x10], 1
jne 0x425b25
cmp dword [ebp - 0x1c], 4
ja 0x425b21
jne 0x425b25
cmp dword [ebp - 0x18], 0
jbe 0x425b25
mov byte [esi + 0xc], 1
lea ecx, [esi + 0x18]
mov dword [esi + 0x10], 0x800
mov dword [esi + 0x14], 0x446c44
call fcn.004011d7
test eax, eax
jge 0x425b46
mov byte [0x5820c0], 1
mov ecx, dword [ebp + 0x74]
mov eax, esi
xor ecx, ebp
pop esi
call fcn.00426f93
add ebp, 0x78
leave
ret

Function at 0x426f93
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x45e32c]
jne 0x426f9d
repz ret
jmp fcn.0042e9eb
Function at 0x436bd3
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
call fcn.004312a6
xor ebx, ebx
cmp dword [0x582e74], ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ebx
jne 0x436ca8
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
cmp edi, ebx
jne 0x436c13
xor eax, eax
jmp 0x436d6c
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x4491c0
push edi
call esi
cmp eax, ebx
je 0x436c0c
push eax
call fcn.00431243
mov dword [esp], str.GetActiveWindow
push edi
mov dword [0x582e74], eax
call esi
push eax
call fcn.00431243
mov dword [esp], str.GetLastActivePopup
push edi
mov dword [0x582e78], eax
call esi
push eax
call fcn.00431243
mov dword [0x582e7c], eax
lea eax, [ebp - 8]
push eax
call fcn.0042e0c1
test eax, eax
pop ecx
pop ecx
je 0x436c76
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0042d4f4
add esp, 0x14
cmp dword [ebp - 8], 2
jne 0x436ca8
push str.GetUserObjectInformationA
push edi
call esi
push eax
call fcn.00431243
cmp eax, ebx
pop ecx
mov dword [0x582e84], eax
je 0x436ca8
push str.GetProcessWindowStation
push edi
call esi
push eax
call fcn.00431243
pop ecx
mov dword [0x582e80], eax
mov eax, dword [0x582e80]
mov esi, dword [ebp - 0x10]
cmp eax, esi
je 0x436d21
cmp dword [0x582e84], esi
je 0x436d21
push eax
call fcn.004312af
pop ecx
call eax
cmp eax, ebx
je 0x436cee
lea ecx, [ebp - 0x14]
push ecx
push 0xc
lea ecx, [ebp - 0x20]
push ecx
push 1
push eax
push dword [0x582e84]
call fcn.004312af
pop ecx
call eax
test eax, eax
je 0x436cee
test byte [ebp - 0x18], 1
jne 0x436d21
lea eax, [ebp - 0xc]
push eax
call fcn.0042e0f8
test eax, eax
pop ecx
je 0x436d09
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.0042d4f4
add esp, 0x14
cmp dword [ebp - 0xc], 4
jb 0x436d18
or dword [ebp + 0x10], 0x200000
jmp 0x436d52
or dword [ebp + 0x10], 0x40000
jmp 0x436d52
mov eax, dword [0x582e78]
cmp eax, esi
je 0x436d52
push eax
call fcn.004312af
pop ecx
call eax
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x436d52
mov eax, dword [0x582e7c]
cmp eax, esi
je 0x436d52
push dword [ebp - 4]
push eax
call fcn.004312af
pop ecx
call eax
mov dword [ebp - 4], eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
push dword [0x582e74]
call fcn.004312af
pop ecx
call eax
pop edi
pop esi
pop ebx
leave
ret