joyce8/EMBER2024-capa huggingface dataset:
Function at 0x419140
Capabilities:
Access peb ldr_data
Persist via run registry key

Disassembly:
push 0xffffffffffffffff
push 0x41e987
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x14], 0
lea ecx, [esp + 8]
call sub.MFC42.DLL_CString::CString_2
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerShell_Folders
lea eax, [esp + 0xc]
push 0x80000001
push eax
push str.Desktop
mov ecx, esi
mov dword [esp + 0x30], 1
call fcn.00418f20
push 1
push 0x5c
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x10]
push 1
push ecx
lea ecx, [esp + 0x10]
mov byte [esp + 0x28], 2
call sub.MFC42.DLL_CString::Right
mov edx, dword [esp + 0xc]
mov eax, dword [eax]
push edx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov byte [esp + 0x20], 1
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4191ee
push 0x5c
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator_1
mov esi, dword [esp + 0x28]
lea eax, [esp + 8]
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::CString_3
mov dword [esp + 0x14], 1
lea ecx, [esp + 8]
mov byte [esp + 0x20], 0
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x18]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c
ret 4

Function at 0x419230
Capabilities:
Access peb ldr_data
Persist via run registry key

Disassembly:
push 0xffffffffffffffff
push 0x41e9c7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x14], 0
lea ecx, [esp + 8]
call sub.MFC42.DLL_CString::CString_2
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerShell_Folders
lea eax, [esp + 0xc]
push 0x80000001
push eax
push str.Programs
mov ecx, esi
mov dword [esp + 0x30], 1
call fcn.00418f20
push 1
push 0x5c
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x10]
push 1
push ecx
lea ecx, [esp + 0x10]
mov byte [esp + 0x28], 2
call sub.MFC42.DLL_CString::Right
mov edx, dword [esp + 0xc]
mov eax, dword [eax]
push edx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov byte [esp + 0x20], 1
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4192de
push 0x5c
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator_1
mov esi, dword [esp + 0x28]
lea eax, [esp + 8]
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::CString_3
mov dword [esp + 0x14], 1
lea ecx, [esp + 8]
mov byte [esp + 0x20], 0
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x18]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
Function at 0x419320
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x41ea07
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x14], 0
lea ecx, [esp + 8]
call sub.MFC42.DLL_CString::CString_2
push str.SOFTWAREMicrosoftWindowsCurrentVersion
lea eax, [esp + 0xc]
push 0x80000002
push eax
push str.ProgramFilesDir
mov ecx, esi
mov dword [esp + 0x30], 1
call fcn.00418f20
push 1
push 0x5c
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x10]
push 1
push ecx
lea ecx, [esp + 0x10]
mov byte [esp + 0x28], 2
call sub.MFC42.DLL_CString::Right
mov edx, dword [esp + 0xc]
mov eax, dword [eax]
push edx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov byte [esp + 0x20], 1
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4193ce
push 0x5c
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator_1
mov esi, dword [esp + 0x28]
lea eax, [esp + 8]
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::CString_3
mov dword [esp + 0x14], 1
lea ecx, [esp + 8]
mov byte [esp + 0x20], 0
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x18]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c
ret 4

Function at 0x4194f0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov eax, dword [esp + 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x419505
xor eax, eax
ret 4
and eax, 0xff
shr eax, 4
and eax, 1
ret 4

Function at 0x419520
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov eax, dword [esp + 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x419535
xor eax, eax
ret 4
not al
and eax, 0xff
shr eax, 4
and eax, 1
ret 4
Function at 0x419550
Capabilities:
Create directory

Disassembly:
push 0xffffffffffffffff
push 0x41ea50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], 0
push eax
call fcn.00419410
test eax, eax
jne 0x4195a2
lea ecx, [esp + 0x18]
mov dword [esp + 0x10], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
mov ecx, dword [esp + 8]
mov dword fs:[0], ecx
add esp, 0x14
ret 4
push ebx
push 1
push 0x5c
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 8]
push 1
push ecx
lea ecx, [esp + 0x24]
mov byte [esp + 0x1c], 1
call sub.MFC42.DLL_CString::Right
mov edx, dword [esp + 4]
mov eax, dword [eax]
push edx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
lea ecx, [esp + 8]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 4]
mov byte [esp + 0x14], 0
call sub.MFC42.DLL_CString::CString
test bl, bl
pop ebx
je 0x419602
push 0x5c
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::operator_1
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push esi
push edi
mov esi, 2
lea eax, [esp + 0x10]
push esi
push eax
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push 0
push eax
call ebp
lea ecx, [esp + 0x10]
mov edi, eax
call sub.MFC42.DLL_CString::CString
inc esi
lea ecx, [esp + 0x24]
push esi
push 0x5c
call sub.MFC42.DLL_CString::Find_1
mov esi, eax
cmp esi, 0xffffffff
jne 0x419610
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], eax
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
mov eax, edi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x14
ret 4
Function at 0x419670
Capabilities:
Create shortcut via ishelllink

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x41ea76
push eax
mov dword fs:[0], esp
sub esp, 0x218
push ebx
push esi
push edi
mov edi, dword [esp + 0x234]
mov ebx, ecx
push edi
call fcn.00419520
test eax, eax
je 0x4197fb
mov esi, dword [esp + 0x238]
mov ecx, ebx
push esi
call fcn.00419410
test eax, eax
je 0x4197fb
xor ebx, ebx
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [esp + 0xc]
push eax
push 0x422878
push 1
push ebx
push 0x422868
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jge 0x4196e8
xor eax, eax
jmp 0x4197fb
mov eax, dword [esp + 0xc]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x23c]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x2c]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x240]
push ecx
push eax
mov edx, dword [eax]
call dword [edx + 0x1c]
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x14]
push ecx
push 0x422888
mov edx, dword [eax]
push eax
call dword [edx]
cmp eax, ebx
jge 0x419735
xor eax, eax
jmp 0x4197fb
lea edx, [esp + 0x1c]
push 0x104
push edx
push 0xffffffffffffffff
push esi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x1c]
push 2
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
mov eax, dword [esp + 0x14]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0xc]
push eax
mov edx, dword [eax]
call dword [edx + 8]
push esi
lea ecx, [esp + 0x14]
call fcn.0041befe
push 0x5c
lea ecx, [esp + 0x14]
mov dword [esp + 0x230], ebx
call sub.MFC42.DLL_CString::ReverseFind
push eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x230], 1
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x18]
mov byte [esp + 0x22c], bl
call sub.MFC42.DLL_CString::CString
push ebx
push esi
mov esi, dword [sym.imp.SHELL32.dll_SHChangeNotify]
push 0x1001
push 0x80000002
call esi
mov ecx, dword [esp + 0x10]
push ebx
push ecx
push 0x1001
push 0x80001000
call esi
lea ecx, [esp + 0x10]
mov dword [esp + 0x22c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x224]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x224
ret 0x10
Function at 0x41bce0
Capabilities:
Query or enumerate registry value

Disassembly:
push ecx
mov edx, dword [esp + 0xc]
lea eax, [esp]
push eax
lea eax, [esp + 0x10]
push edx
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [ecx]
push 0
push edx
push eax
mov dword [esp + 0x18], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
neg eax
sbb eax, eax
inc eax
pop ecx
ret 8

Function at 0x41bd20
Capabilities:
Query or enumerate registry value

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0xc]
push ebp
push esi
mov ebp, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov esi, ecx
lea eax, [esp + 0x14]
lea ecx, [esp + 0xc]
mov edx, dword [esi]
push eax
push 0
push ecx
push 0
push ebx
push edx
call ebp
test eax, eax
jne 0x41bd82
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x14]
push edi
mov edi, dword [esp + 0x1c]
push eax
push ecx
mov ecx, edi
call sub.MFC42.DLL_CString::GetBuffer
lea edx, [esp + 0x14]
push eax
mov eax, dword [esi]
push edx
push 0
push ebx
push eax
call ebp
push 0xffffffffffffffff
mov ecx, edi
call sub.MFC42.DLL_CString::ReleaseBuffer
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
pop ecx
ret 8
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret 8

Function at 0x41bdc0
Capabilities:
Set registry value

Disassembly:
mov edx, dword [esp + 8]
sub esp, 0x100
cmp edx, 0xcccccccc
push esi
push edi
mov esi, ecx
je 0x41be69
mov eax, dword [esp + 0x114]
cmp eax, 1
jne 0x41be03
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esi]
push edx
push 1
push eax
mov eax, dword [esp + 0x11c]
push eax
push ecx
jmp 0x41be4f
cmp eax, 7
jne 0x41be69
push 0xfd
push edx
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.MSVCRT.dll__mbsnbcpy]
lea edi, [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 8]
mov edx, dword [esi]
mov byte [esp + ecx + 9], al
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
inc ecx
lea eax, [esp + 8]
push ecx
mov ecx, dword [esp + 0x110]
push eax
push 7
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x41be69
pop edi
mov eax, 1
pop esi
add esp, 0x100
ret 0xc
pop edi
xor eax, eax
pop esi
add esp, 0x100
ret 0xc
Function at 0x404b14
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x134
and dword [esp + 4], 0
push ebx
push esi
push edi
pushal
xor eax, eax
dec eax
xor ebx, eax
mov dword [esp + 0x30], ebx
popal
push str.V3.5_n
call dword [sym.imp.MSVCR90.dll_printf]
cmp dword [0x4093a8], 0
pop ecx
jne 0x404b4d
call fcn.0040435c
cmp dword [0x4093a4], 0
jne 0x404b5b
call fcn.0040429c
call fcn.0040459d
mov esi, dword [ebp + 0xc]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x10]
push eax
push dword [esi]
call fcn.00404144
lea eax, [esp + 0x14]
push eax
call fcn.00403faf
mov dword [0x4093ac], eax
lea eax, [esp + 0x38]
push eax
call fcn.00403f65
push dword [esp + 0xc]
push dword [esi]
call fcn.00404033
push eax
mov dword [0x4093b0], eax
call dword [sym.imp.MSVCR90.dll__msize]
pop ecx
mov esi, eax
push esi
call fcn.00403fe4
mov eax, esi
imul eax, eax, 3
push eax
mov dword [esp + 0x10], eax
call dword [sym.imp.MSVCR90.dll_malloc]
pop ecx
mov edi, eax
push esi
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0040327f
test edi, edi
je 0x404bf3
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x10]
push edi
call fcn.004043b2
lea eax, [esp + 0x38]
push eax
call dword [0x409398]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00404267
int3

Function at 0x40158f
Capabilities:
Enumerate pe sections
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
push esi
push edi
call sub.KERNEL32.dll_GetTickCount
lea eax, [ebp - 0x104]
push eax
push 0x104
call sub.KERNEL32.dll_GetTempPathA

Function at 0x4015b0
Capabilities:
Enumerate pe sections

Disassembly:
cmp byte [ebp - 0x104], 0
jne 0x4016ff
movzx eax, word [ecx + 0x14]
push ebx
push esi
movzx esi, word [ecx + 6]
xor edx, edx
rcl byte [edi - 0x73], cl
inc esp
or byte [eax], bl
cmp byte [ebp - 0x104], 0
jne 0x40188e
add byte [eax], al
add byte [ebx - 0x3ca2e73c], al
int3
push 0
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.dll_GetFileAttributesExA
call sub.KERNEL32.dll_GetLastError
mov esi, eax
mov ecx, dword [0x42373f]
inc ecx
cdq
idiv ecx
mov edi, eax
and edi, 0xffffffa8
mov dword [ebp - 0x108], edi
or esi, esi
jne 0x4019d7
or ebp, dword [eax]
add dword [eax], eax
add bh, bh
jne 0x4018dc
push edx
jmp 0x4018e6
pop ss
push 0x100
push dword [ebp + 0xc]
push ecx
push dword [0x662b2010]
call dword [0x662b1034]
jmp 0x4018fc
pop esi
pop ebp
ret 8
mov eax, dword [ebp - 0x108]
pop edi
pop esi
leave
ret
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, 0x266e0144
nop
nop
test eax, eax
nop
nop
nop
nop
je 0x43304e
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x433024
nop
nop
mov eax, section..data
nop
mov ebx, 0x4304d8
nop
mov ecx, 0x10617d21
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x433084
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
add eax, 4
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x43306c
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x431219
Function at 0x1002aadf
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
pushal
call 0x1002aaee
pop dword [ebp - 0x28]
mov eax, 0x1002aaee
sub dword [ebp - 0x28], eax
mov dword [ebp - 0x38], 0x65265d1d
sub dword [ebp - 0x38], 0x16d417d2
mov dword [ebp - 0x34], 0xb268b872
add dword [ebp - 0x34], 0x7fca93d3
mov dword [ebp - 0x30], 0x658748fa
sub dword [ebp - 0x30], 0x193b04cc
mov dword [ebp - 0x2c], 0xc58e3f58
sub dword [ebp - 0x2c], 0xc58e3f58
lea eax, [ebp - 0x38]
push eax
mov eax, 0xb7359d6f
sub eax, 0xa732dd37
add eax, dword [ebp - 0x28]
call dword [eax]
mov dword [ebp - 0x38], 0x15dbfe0c
add dword [ebp - 0x38], 0x5e966b4a
mov dword [ebp - 0x34], 0xc8e963fa
sub dword [ebp - 0x34], 0x877d0285
mov dword [ebp - 0x30], 0xad395040
add dword [ebp - 0x30], 0xb6361c2c
mov dword [ebp - 0x2c], 0xa4c4024f
add dword [ebp - 0x2c], 0x5b3bfdb1
lea ebx, [ebp - 0x38]
push ebx
push eax
mov eax, 0x50fc85b3
add eax, 0xbf063a75
add eax, dword [ebp - 0x28]
call dword [eax]
push 0x40
push 0x1000
push 0x37bfc
push 0
call eax
mov ecx, 0xed684842
sub ecx, 0xed67fb22
xor esi, esi
add esi, eax
mov edx, 0x16af6ed0
add edx, 0xf9542730
add edx, dword [ebp - 0x28]
mov ebx, 0xd2887581
add dword [ebp - 0xc], 0x2d2197a9
mov edi, dword [edx]
add dword [ebp - 0x18], 0xd3eafa10
xor edi, ebx
add dword [ebp - 0xc], 0x14017ef9
mov dword [esi], edi
xor dword [ebp - 4], 0x8fd7f6bf
add esi, 0xa0e203b
add esi, 0xf5f1dfc9
add edx, 0x4835cd0f
sub edx, 0x4835cd0b
loop 0x1002ac07
add eax, 0x845b994
add eax, 0xf7bb6dbf
mov ebx, eax
add eax, 5
mov ecx, 0x6e5c0e6d
sub ecx, 0x5e5c0e6d
add ecx, dword [ebp - 0x28]
call ebx
leave
ret
Function at 0x408180
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x6000]
push edi
or ebp, 0xffffffff
jmp 0x4081a2
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x4081a9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x408198
mov eax, 1
add ebx, ebx
jne 0x4081bb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x4081b0
jne 0x4081cc
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x4081b0
xor ecx, ecx
sub eax, 3
jb 0x4081e0
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x408252
mov ebp, eax
add ebx, ebx
jne 0x4081eb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x4081f8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x40821c
inc ecx
add ebx, ebx
jne 0x408208
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x4081fd
jne 0x408219
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x4081fd
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x40823c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x40822d
jmp 0x40819e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x40823c
add edi, ecx
jmp 0x40819e
pop esi
mov edi, esi
mov ecx, 0x41
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x40825a
cmp byte [edi], 0
jne 0x40825a
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 0x40825f
lea edi, [esi + 0x6000]
mov eax, dword [edi]
or eax, eax
je 0x4082ce
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x8980]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x89d8]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x40828c
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x89e0]
or eax, eax
je 0x4082c8
mov dword [ebx], eax
add ebx, 4
jmp 0x4082a9
call dword [esi + 0x89dc]
add edi, 4
lea ebx, [esi - 4]
xor eax, eax
mov al, byte [edi]
inc edi
or eax, eax
je 0x4082ff
cmp al, 0xef
ja 0x4082f2
add ebx, eax
mov eax, dword [ebx]
xchg ah, al
rol eax, 0x10
xchg ah, al
add eax, esi
mov dword [ebx], eax
jmp 0x4082d4
and al, 0xf
shl eax, 0x10
mov ax, word [edi]
add edi, 2
jmp 0x4082e1
mov ebp, dword [esi + 0x89e4]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x20f]
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 0x408333
sub esp, 0xffffff80
jmp 0x401b8f
Function at 0x4282c0
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, 0x418015
lea edi, [esi - 0x17015]
push edi
jmp 0x4282da
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x4282e1
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4282d0
mov eax, 1
add ebx, ebx
jne 0x4282f3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x4282e8
jne 0x428304
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x4282e8
xor ecx, ecx
sub eax, 3
jb 0x428318
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x42838a
mov ebp, eax
add ebx, ebx
jne 0x428323
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x428330
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x428354
inc ecx
add ebx, ebx
jne 0x428340
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x428335
jne 0x428351
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x428335
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x428374
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x428365
jmp 0x4282d6
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x428374
add edi, ecx
jmp 0x4282d6
pop esi
mov edi, esi
mov ecx, 0x98e
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x428392
cmp byte [edi], 9
jne 0x428392
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 0x428397
lea edi, [esi + 0x26000]
mov eax, dword [edi]
or eax, eax
je 0x428406
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x28000]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x2806c]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x4283c4
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x28074]
or eax, eax
je 0x428400
mov dword [ebx], eax
add ebx, 4
jmp 0x4283e1
call dword [esi + 0x28070]
mov ebp, dword [esi + 0x28078]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x19f]
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 0x42843a
sub esp, 0xffffff80
jmp 0x401130
Function at 0x427b60
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x21000]
push edi
or ebp, 0xffffffff
jmp 0x427b82
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x427b89
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x427b78
mov eax, 1
add ebx, ebx
jne 0x427b9b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x427b90
jne 0x427bac
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x427b90
xor ecx, ecx
sub eax, 3
jb 0x427bc0
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x427c32
mov ebp, eax
add ebx, ebx
jne 0x427bcb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x427bd8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x427bfc
inc ecx
add ebx, ebx
jne 0x427be8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x427bdd
jne 0x427bf9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x427bdd
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x427c1c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x427c0d
jmp 0x427b7e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x427c1c
add edi, ecx
jmp 0x427b7e
pop esi
mov edi, esi
mov ecx, 0x43b
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x427c3a
cmp byte [edi], 0
jne 0x427c3a
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 0x427c3f
lea edi, [esi + 0x25000]

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

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