joyce8/EMBER2024-capa huggingface dataset:
Function at 0x404370
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x41900c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x38], 0
je 0x404413
cmp byte [esi + 0x3d], 0
je 0x404413
mov eax, dword [esi]
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x4043c8
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet___char___char___char___const]
sub eax, 0
je 0x4043da
sub eax, 1
je 0x4043de
sub eax, 2
je 0x404413
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b60b
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x3d], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x4043fc
push dword [esi + 0x4c]
push edi
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x4043c8
cmp byte [esi + 0x3d], 0
pop edi
sete al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b60b
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
xor ecx, ebp
pop esi
call fcn.0040b60b
mov esp, ebp
pop ebp
ret

Function at 0x408920
Capabilities:
Access peb ldr_data
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x410cba
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x41900c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea esi, [eax + 0x18]
mov dword [ebp - 4], 0
lea eax, [ecx + 0x18]
push esi
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.00402bd0
push 0x10
mov byte [ebp - 4], 1
call fcn.0040b8de
mov edi, eax
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 2
mov esi, dword [esi + 0x18]
push 0x48
call fcn.0040b8de
add esp, 8
mov dword [edi + 4], eax
mov byte [ebp - 4], 3
mov ecx, edi
push esi
mov dword [edi + 0xc], 0
call fcn.00408bd0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x30], edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x40f690
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x411302
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x41900c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x14], edi
push dword [ebp + 8]
lea eax, [ebp + 0x10]
push eax
call fcn.0040f770
mov dword [edi], vtable.boost::filesystem::filesystem_error.0
mov dword [ebp - 4], 0
mov dword [edi + 0x18], 0
push 0x4c
mov byte [ebp - 4], 2
call fcn.0040b8de
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
push dword [ebp + 0xc]
lea ecx, [esi + 4]
mov byte [ebp - 4], 3
mov dword [esi], 0
mov dword [ebp - 0x18], ecx
call fcn.0040e3d0
mov dword [esi + 0x2c], 0
lea ecx, [edi + 0x18]
mov dword [esi + 0x30], 7
xor eax, eax
mov word [esi + 0x1c], ax
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 0xf
push esi
mov byte [esi + 0x34], al
mov byte [ebp - 4], 2
call fcn.0040fb50
jmp 0x40f74f
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
Function at 0x407010
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
push ebx
push esi
push edi
mov ecx, dword [eax + 0x3c]
add ecx, eax
movzx eax, word [ecx + 0x14]
movzx ebx, word [ecx + 6]
add eax, 0x18
add eax, ecx
test ebx, ebx
je 0x40704e
mov edi, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
cmp edi, esi
jb 0x407046
mov ecx, dword [eax + 8]
add ecx, esi
cmp edi, ecx
jb 0x407050
inc edx
add eax, 0x28
cmp edx, ebx
jb 0x407036
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x407120
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov eax, 0x5a4d
cmp word [ecx], ax
jne 0x407151
mov eax, dword [ecx + 0x3c]
add eax, ecx
cmp dword [eax], 0x4550
jne 0x407151
mov ecx, 0x10b
cmp word [eax + 0x18], cx
jne 0x407151
mov eax, 1
pop ebp
ret
xor eax, eax
pop ebp
ret

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

Disassembly:
pushal
nop
mov eax, section..text
mov ebx, 0x40c7d0
nop
nop
mov ecx, 0x3b026aa5
nop
nop
nop
nop
test eax, eax
nop
nop
je 0x43204e
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
inc eax
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x432024
nop
nop
nop
mov eax, section..data
nop
mov ebx, 0x42f314
nop
mov ecx, 0x5e602544
nop
nop
nop
nop
nop
test eax, eax
nop
nop
je 0x432084
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
add eax, 4
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x43206c
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x431219
Function at 0xcbc150
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x594000]
push edi
jmp 0xcbc16a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0xcbc171
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xcbc160
mov eax, 1
add ebx, ebx
jne 0xcbc183
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0xcbc194
jne 0xcbc1b3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xcbc1b3
dec eax
add ebx, ebx
jne 0xcbc1a0
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0xcbc178
add ebx, ebx
jne 0xcbc1af
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0xcbc205
xor ecx, ecx
sub eax, 3
jb 0xcbc1cb
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0xcbc23a
sar eax, 1
mov ebp, eax
jmp 0xcbc1d6
add ebx, ebx
jne 0xcbc1d6
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xcbc1a4
inc ecx
add ebx, ebx
jne 0xcbc1e4
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xcbc1a4
add ebx, ebx
jne 0xcbc1f1
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0xcbc1e6
jne 0xcbc202
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0xcbc1e6
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0xcbc224
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0xcbc216
jmp 0xcbc166
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0xcbc224
add edi, ecx
jmp 0xcbc166
pop esi
mov edi, esi
mov ecx, 0x188b1
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0xcbc242
cmp byte [edi], 0x90
jne 0xcbc242
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 0xcbc247
lea edi, [esi + 0x8b8000]
mov eax, dword [edi]
or eax, eax
je 0xcbc2bf
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x8d559c]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x8d56dc]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0xcbc274
mov ecx, edi
jns 0xcbc2a3
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 + 0x8d56e0]
or eax, eax
je 0xcbc2b9
mov dword [ebx], eax
add ebx, 4
jmp 0xcbc291
call dword [esi + 0x8d56f0]
mov ebp, dword [esi + 0x8d56e4]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x24f]
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 0xcbc2f3
sub esp, 0xffffff80
jmp 0x76d456
Function at 0x25807297
Capabilities:
Print debug messages

Disassembly:
push 0x1c
mov eax, 0x2581bb95
call fcn.2581acc1
mov eax, dword fs:[0x2c]
xor ebx, ebx
mov ecx, dword [0x25824498]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x25823cc0]
cmp eax, dword [ecx + 4]
jg 0x25807364
cmp byte [0x25823cbc], 0
je 0x2580735e
lea eax, [ebp + 0xc]
push eax
push ebx
push dword [ebp + 8]
call fcn.25811528
push 1
lea esi, [eax + 6]
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov edi, eax
add esp, 0x14
test edi, edi
je 0x2580735e
lea eax, [ebp + 0xc]
push eax
push ebx
push dword [ebp + 8]
push esi
push edi
call fcn.25811528
add esp, 0x14
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], bl
push str._nEFS:TMS:
call fcn.2580cd40
push edi
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 1
call fcn.2580cca0
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [ebp - 0x14]
pop ecx
cmp eax, 0x10
jb 0x2580735e
inc eax
push eax
push dword [ebp - 0x28]
call fcn.25811528
pop ecx
pop ecx
call fcn.2581acb0
ret
mov edi, 0x25823cc0
push edi
call fcn.25811528
cmp dword [0x25823cc0], 0xffffffff
pop ecx
jne 0x258072c5
mov eax, dword [0x25823df0]
mov dword [ebp - 4], ebx
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x2581d220]
call esi
test al, al
je 0x258073c2
mov eax, dword [0x258240cc]
push ebx
push str.enableTMSLogging
push 0x2581db80
mov esi, dword [eax + 0x5a8]
mov ecx, esi
call dword [0x2581d220]
call esi
add esp, 0xc
test ax, ax
mov al, 1
jne 0x258073c6
jmp 0x258073c2
mov al, bl
jmp 0x258073c6
or dword [ebp - 4], 0xffffffff
push edi
mov byte [0x25823cbc], al
call fcn.25811528
pop ecx
jmp 0x258072c5
Function at 0x4099ec
Capabilities:
Create process on windows
Create process suspended

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 4], ebx
mov edi, ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x409abf
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x409ad8
push ebx
push 0x409ae4
push esi
lea eax, [ebp - 4]
mov edx, 4
call fcn.004033b4
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x44
call fcn.0040277c
mov dword [ebp - 0x48], 0x44
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.00403414
push eax
push 0
call sub.kernel32.dll_CreateProcessA
test eax, eax
jne 0x409a6c
mov al, 0x6a
call fcn.00409648
mov eax, dword [ebp - 0x54]
push eax
call sub.kernel32.dll_CloseHandle_1
call fcn.004099c0
push 0xff
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x58]
push eax
push 1
call sub.user32.dll_MsgWaitForMultipleObjects
dec eax
je 0x409a75
call fcn.004099c0
push edi
mov eax, dword [ebp - 0x58]
push eax
call sub.kernel32.dll_GetExitCodeProcess
mov eax, dword [ebp - 0x58]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x409ac6
lea eax, [ebp - 4]
call fcn.00403198
ret

Function at 0x409b78
Capabilities:
Allocate or change rwx memory
Get system information on windows

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffbc
mov edi, eax
lea esi, [esp + 0x28]
lea eax, [esp + 4]
push eax
call sub.kernel32.dll_GetSystemInfo
mov ebx, edi
push 0x1c
push esi
push ebx
call sub.kernel32.dll_VirtualQuery
test eax, eax
je 0x409c2c
jmp 0x409c21
cmp dword [esi + 0x10], 0x1000
jne 0x409c0d
test byte [esi + 0x15], 1
jne 0x409c0d
xor ebx, ebx
mov eax, dword [esi + 0x14]
cmp eax, 1
je 0x409bcc
cmp eax, 2
je 0x409bcc
cmp eax, 0x10
je 0x409bcc
cmp eax, 0x20
jne 0x409be1
push esp
push 0x40
mov eax, dword [esi + 0xc]
push eax
mov eax, dword [esi]
push eax
call sub.kernel32.dll_VirtualProtect
test eax, eax
je 0x409be1
mov bl, 1
xor ebp, ebp
jmp 0x409bf2
mov eax, dword [esi]
add eax, ebp
call fcn.00409b70
add ebp, dword [esp + 8]
cmp ebp, dword [esi + 0xc]
jb 0x409be5
test bl, bl
je 0x409c0d
push esp
mov eax, dword [esp + 4]
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 ebx, eax
push 0x1c
push esi
push ebx
call sub.kernel32.dll_VirtualQuery
test eax, eax
je 0x409c2c
mov eax, dword [esi + 4]
cmp eax, edi
je 0x409ba4
add esp, 0x44
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x432000
Capabilities:
Encode data using xor

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43200c
nop
nop
nop
nop
pop eax
nop
nop
add eax, 0x40729f
sub eax, 0x407245
nop
nop
nop
nop
mov ebx, dword [eax]
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
xor dword [ebx], edx
nop
nop
add ebx, 4
nop
nop
nop
nop
nop
nop
cmp ebx, ecx
nop
jl 0x432030
nop
nop
nop
nop
nop
nop
add eax, 0xc
nop
nop
nop
cmp dword [eax], 0
nop
jne 0x43201e
nop
nop
nop
nop
nop
nop
nop
nop
popal
nop
jmp 0x431219
Function at 0x4153e0
Capabilities:
Encode data using xor

Disassembly:
salc
inc edi
adc ebp, dword [ebx - 0x7a]
xchg edi, eax
in al, dx
or edi, 0xffffff9e
jge 0x4153ee
test esi, esi
invalid
test bh, 0x75
lodsb al, byte es:[esi]
adc dword [ebp + 0x31], edi
cmpsb byte [esi], byte es:[edi]
inc ebp
pop es
jae 0x415403
xor dword [esi + 0x8730745], esp
push edx
cmp cl, dh
push esi
out 0x83, al
je 0x4153f5
or eax, 0xed4ecec8
invalid
Function at 0x4067c4
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
push esi
mov esi, 0x104
lea eax, [ebp - 0x23c]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp eax, esi
pop esi
jbe 0x4067e8
xor eax, eax
test eax, eax
je 0x4067fb
cmp word [ebp + eax*2 - 0x23e], 0x5c
je 0x4067fb
xor ecx, ecx
jmp 0x4067fe
xor ecx, ecx
inc ecx
push dword [ebp + 8]
lea ecx, [ecx*2 + 0x40a014]
lea eax, [ebp + eax*2 - 0x23c]
push ecx
push str._s_S.dll
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0x23c]
push 8
push 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
leave
ret 4

Function at 0x406927
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
cmp dword [0x45fdcc], 0
push esi
jne 0x40695e
xor ecx, ecx
push 8
mov eax, ecx
pop esi
mov edx, eax
and dl, 1
neg dl
sbb edx, edx
and edx, 0xedb88320
shr eax, 1
xor eax, edx
dec esi
jne 0x406938
mov dword [ecx*4 + 0x45fdc8], eax
inc ecx
cmp ecx, 0x100
jl 0x406933
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
test edx, edx
not eax
jbe 0x40698f
mov ecx, dword [esp + 0xc]
push edi
movzx edi, byte [ecx]
mov esi, eax
and esi, 0xff
xor esi, edi
shr eax, 8
mov esi, dword [esi*4 + 0x45fdc8]
xor eax, esi
inc ecx
dec edx
jne 0x406971
pop edi
not eax
pop esi
ret 0xc

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

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43300c
nop
nop
pop eax
nop
nop
nop
add eax, 0x40a063
nop
nop
sub eax, 0x40a009
nop
nop
nop
nop
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
nop
nop
nop
nop
nop
nop
mov edx, dword [eax + 8]
xor dword [ebx], edx
nop
nop
nop
nop
add ebx, 4
nop
nop
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
jl 0x433030
nop
nop
nop
nop
nop
nop
add eax, 0xc
nop
cmp dword [eax], 0
nop
nop
nop
jne 0x43301e
nop
nop
nop
nop
popal
nop
nop
nop
nop
jmp 0x431219
Function at 0x40452b
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x40a700]
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.0040348c
and dword [ebp - 0x14], 0
cmp dword [0x40b924], 0
mov dword [ebp - 0x18], eax
jne 0x4045de
push str.USER32.DLL
call dword [sym.imp.KERNEL32.DLL_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x404686
mov edi, dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push str.MessageBoxW
push ebx
call edi
test eax, eax
je 0x404686
mov esi, dword [sym.imp.KERNEL32.DLL_EncodePointer]
push eax
call esi
push str.GetActiveWindow
push ebx
mov dword [0x40b924], eax
call edi
push eax
call esi
push str.GetLastActivePopup
push ebx
mov dword [0x40b928], eax
call edi
push eax
call esi
push str.GetUserObjectInformationW
push ebx
mov dword [0x40b92c], eax
call edi
push eax
call esi
mov dword [0x40b934], eax
test eax, eax
je 0x4045de
push str.GetProcessWindowStation
push ebx
call edi
push eax
call esi
mov dword [0x40b930], eax
mov eax, dword [0x40b930]
mov ecx, dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.DLL_DecodePointer]
cmp eax, ecx
je 0x404637
cmp dword [0x40b934], ecx
je 0x404637
push eax
call esi
push dword [0x40b934]
mov edi, eax
call esi
mov ebx, eax
test edi, edi
je 0x404637
test ebx, ebx
je 0x404637
call edi
test eax, eax
je 0x40462e
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call ebx
test eax, eax
je 0x40462e
test byte [ebp - 8], 1
jne 0x404637
or dword [ebp + 0x10], 0x200000
jmp 0x40466a
mov eax, dword [0x40b928]
cmp eax, dword [ebp - 0x18]
je 0x40466a
push eax
call esi
test eax, eax
je 0x40466a
call eax
mov dword [ebp - 0x14], eax
test eax, eax
je 0x40466a
mov eax, dword [0x40b92c]
cmp eax, dword [ebp - 0x18]
je 0x40466a
push eax
call esi
test eax, eax
je 0x40466a
push dword [ebp - 0x14]
call eax
mov dword [ebp - 0x14], eax
push dword [0x40b924]
call esi
test eax, eax
je 0x404686
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
call eax
jmp 0x404688
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00404896
leave
ret

Function at 0x404896
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x40a700]
jne 0x4048a0
repz ret
jmp fcn.00405a36

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

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x40de38
nop
nop
mov ecx, 0x5cc607b0
nop
nop
nop
test eax, eax
nop
nop
nop
nop
nop
je 0x43304e
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x433024
mov eax, section..data
nop
mov ebx, 0x4304d8
nop
mov ecx, 0x12003151
nop
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x433084
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
add eax, 4
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x43306c
nop
nop
nop
nop
nop
popal
jmp 0x431219
Function at 0x52b7c0
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0xd7000]
push edi
jmp 0x52b7da
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x52b7e1
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x52b7d0
mov eax, 1
add ebx, ebx
jne 0x52b7f3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x52b804
jne 0x52b823
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x52b823
dec eax
add ebx, ebx
jne 0x52b810
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x52b7e8
add ebx, ebx
jne 0x52b81f
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x52b875
xor ecx, ecx
sub eax, 3
jb 0x52b83b
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x52b8aa
sar eax, 1
mov ebp, eax
jmp 0x52b846
add ebx, ebx
jne 0x52b846
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x52b814
inc ecx
add ebx, ebx
jne 0x52b854
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x52b814
add ebx, ebx
jne 0x52b861
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x52b856
jne 0x52b872
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x52b856
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x52b894
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x52b886
jmp 0x52b7d6
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x52b894
add edi, ecx
jmp 0x52b7d6
pop esi
mov edi, esi
mov ecx, 0x3ed9
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x52b8b2
cmp byte [edi], 0x11
jne 0x52b8b2
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 0x52b8b7
lea edi, [esi + 0x124000]
mov eax, dword [edi]
or eax, eax
je 0x52b92f
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x1801a0]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x18031c]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x52b8e4
mov ecx, edi
jns 0x52b913
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 + 0x180320]
or eax, eax
je 0x52b929
mov dword [ebx], eax
add ebx, 4
jmp 0x52b901
call dword [esi + 0x180330]
add edi, 4
lea ebx, [esi - 4]
xor eax, eax
mov al, byte [edi]
inc edi
or eax, eax
je 0x52b960
cmp al, 0xef
ja 0x52b953
add ebx, eax
mov eax, dword [ebx]
xchg ah, al
rol eax, 0x10
xchg ah, al
add eax, esi
mov dword [ebx], eax
jmp 0x52b935
and al, 0xf
shl eax, 0x10
mov ax, word [edi]
add edi, 2
jmp 0x52b942
mov ebp, dword [esi + 0x180324]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x227]
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 0x52b994
sub esp, 0xffffff80
jmp 0x425f74
Function at 0x431000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43100c
pop eax
nop
nop
nop
nop
nop
nop
add eax, 0x403e6a
sub eax, 0x403e10
nop
mov ebx, dword [eax]
nop
nop
nop
nop
nop
nop
mov ecx, dword [eax + 4]
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
nop
nop
nop
xor dword [ebx], edx
add ebx, 4
nop
nop
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
jl 0x431030
nop
nop
nop
nop
add eax, 0xc
nop
nop
cmp dword [eax], 0
nop
nop
nop
nop
nop
nop
jne 0x43101e
nop
nop
nop
nop
popal
nop
nop
jmp loc.00401219
Function at 0x404e4a
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x43ff3c]
jne 0x404e54
repz ret
jmp fcn.00408c42

Function at 0x40b6dc
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
call fcn.004068a4
and dword [ebp - 4], 0
cmp dword [0x441850], 0
mov ebx, eax
jne 0x40b78d
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x40b83e
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxA
push edi
call esi
test eax, eax
je 0x40b83e
push eax
call fcn.00406832
mov dword [esp], str.GetActiveWindow
push edi
mov dword [0x441850], eax
call esi
push eax
call fcn.00406832
mov dword [esp], str.GetLastActivePopup
push edi
mov dword [0x441854], eax
call esi
push eax
call fcn.00406832
mov dword [esp], str.GetUserObjectInformationA
push edi
mov dword [0x441858], eax
call esi
push eax
call fcn.00406832
pop ecx
mov dword [0x441860], eax
test eax, eax
je 0x40b78d
push str.GetProcessWindowStation
push edi
call esi
push eax
call fcn.00406832
pop ecx
mov dword [0x44185c], eax
mov eax, dword [0x44185c]
cmp eax, ebx
je 0x40b7e5
cmp dword [0x441860], ebx
je 0x40b7e5
push eax
call fcn.004068ad
push dword [0x441860]
mov esi, eax
call fcn.004068ad
pop ecx
pop ecx
mov edi, eax
test esi, esi
je 0x40b7e5
test edi, edi
je 0x40b7e5
call esi
test eax, eax
je 0x40b7dc
lea ecx, [ebp - 8]
push ecx
push 0xc
lea ecx, [ebp - 0x14]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x40b7dc
test byte [ebp - 0xc], 1
jne 0x40b7e5
or dword [ebp + 0x10], 0x200000
jmp 0x40b81e
mov eax, dword [0x441854]
cmp eax, ebx
je 0x40b81e
push eax
call fcn.004068ad
pop ecx
test eax, eax
je 0x40b81e
call eax
mov dword [ebp - 4], eax
test eax, eax
je 0x40b81e
mov eax, dword [0x441858]
cmp eax, ebx
je 0x40b81e
push eax
call fcn.004068ad
pop ecx
test eax, eax
je 0x40b81e
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x441850]
call fcn.004068ad
pop ecx
test eax, eax
je 0x40b83e
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x40b840
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret