joyce8/EMBER2024-capa huggingface dataset:
Function at 0x42e5d0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x43ac15
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x4c3740]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 8], esi
mov dword [esi], vtable.CPicAndTextPanel.1.0
mov dword [esi + 8], vtable.CPicAndTextPanel.0
lea ecx, [esi + 0x30]
mov dword [esp + 0x14], 1
call fcn.0042e1c0
lea ecx, [esi + 0x1c]
mov byte [esp + 0x14], 0
call dword [sym.imp.QtGui4.dll_public_virtual:_void___thiscall_QPixmap::destructor_void_]
mov ecx, esi
mov dword [esp + 0x14], 0xffffffff
call dword [sym.imp.QtGui4.dll_public_virtual:_void___thiscall_QWidget::destructor_void_]
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x10
ret

Function at 0x42e7d0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x43ac38
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push esi
mov eax, dword [0x4c3740]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esp + 8]
call fcn.0042d3a0
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0xc]
mov dword [esp + 0x24], 0
call dword [sym.imp.QtCore4.dll_public:_class_QString____thiscall_QString::operator_class_QString_const__]
mov ecx, dword [esp + 0x2c]
push ecx
lea ecx, [esp + 0x18]
call dword [sym.imp.QtGui4.dll_public:_class_QPen____thiscall_QPen::operator_class_QPen_const__]
mov edx, dword [esp + 0x30]
push edx
lea ecx, [esp + 0x10]
call dword [sym.imp.QtGui4.dll_public:_class_QFont____thiscall_QFont::operator_class_QFont_const__]
lea eax, [esp + 8]
push eax
lea ecx, [esi + 0x30]
call fcn.0042e740
lea ecx, [esp + 8]
mov dword [esp + 0x20], 0xffffffff
call fcn.0042d320
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x1c
ret 0xc
Function at 0x42ecb0
Capabilities:
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x43ad69
mov eax, dword fs:[0]
push eax
push ebx
push esi
push edi
mov eax, dword [0x4c3740]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, dword [esp + 0x3c]
mov ebx, ecx
mov edi, dword [esp + 0x40]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x42ed17
test edi, edi
je 0x42ed17
cmp dword [esp + 0x38], 8
mov eax, dword [esp + 0x24]
jae 0x42ecfc
lea eax, [esp + 0x24]
push edi
push esi
push 3
push 0
push eax
mov eax, dword [ebx]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x42ed40
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
xor al, al
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0xc
ret 0x24
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
mov al, 1
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0xc
ret 0x24
Function at 0x4312b0
Capabilities:
Query or enumerate registry key

Disassembly:
push 0xffffffffffffffff
push 0x43b07c
mov eax, dword fs:[0]
push eax
sub esp, 0x430
mov eax, dword [0x4c3740]
xor eax, esp
mov dword [esp + 0x42c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c3740]
xor eax, esp
push eax
lea eax, [esp + 0x444]
mov dword fs:[0], eax
mov esi, dword [esp + 0x454]
mov edi, dword [esi + 8]
cmp dword [esi + 4], edi
mov ebx, ecx
jbe 0x431302
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ebp, dword [esi + 4]
cmp ebp, dword [esi + 8]
jbe 0x431310
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push edi
push esi
push ebp
push esi
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
call fcn.00430dc0
mov edx, dword [ebx]
xor ebp, ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea ecx, [esp + 0x30]
push ecx
push ebp
push ebp
push ebp
push edx
mov dword [esp + 0x44], ebp
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
cmp eax, ebp
je 0x431350
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor al, al
jmp 0x4313de
xor edi, edi
cmp dword [esp + 0x14], ebp
jbe 0x4313dc
lea esp, [esp]
push 0x3fe
lea eax, [esp + 0x46]
push ebp
push eax
mov word [esp + 0x4c], bp
call sub.MSVCR80.dll_memset
mov eax, dword [ebx]
add esp, 0xc
push ebp
push ebp
push ebp
push ebp
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x54]
push edx
push edi
push eax
mov dword [esp + 0x38], 0x400
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x4313d3
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x28]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const__]
lea edx, [esp + 0x24]
push edx
mov ecx, esi
mov dword [esp + 0x450], ebp
call fcn.00431110
lea ecx, [esp + 0x24]
mov dword [esp + 0x44c], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
add edi, 1
cmp edi, dword [esp + 0x14]
jb 0x431360
mov al, 1
mov ecx, dword [esp + 0x444]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x42c]
xor ecx, esp
call fcn.00437634
add esp, 0x43c
ret 4
Function at 0x435050
Capabilities:
Create udp socket

Disassembly:
sub esp, 8
push esi
push edi
push 0
push 0
push 0
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4350a1
call sub.Comn.dll_GetObjectLogPXE
mov edi, eax
mov esi, dword [edi]
push 0x15
mov ecx, str...homeserverLocalNet.cpp
add esi, 0xc
call fcn.004347f0
push eax
mov eax, dword [esi]
push str._s:_Create_Socket_Error
push edi
call eax
add esp, 0x10
pop edi
mov eax, 0x138a
pop esi
add esp, 8
ret 4
push ebx
push ebp
push edi
push str.Get_IP_socket_create__d__n
call dword [sym.imp.MSVCR80.dll_printf]
push 0x4c0
call fcn.00437526
add esp, 0xc
push 0
push 0
lea ecx, [esp + 0x18]
push ecx
push 0x4c0
mov ebp, eax
push ebp
push 0
push 0
push 0x4004747f
push edi
mov dword [esp + 0x34], 0
call dword [sym.imp.WS2_32.dll_WSAIoctl]
cmp eax, 0xffffffff
jne 0x435157
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x271e
jne 0x435106
pop ebp
pop ebx
pop edi
mov eax, 0x1389
pop esi
add esp, 8
ret 4
call sub.Comn.dll_GetObjectLogPXE
mov ebx, eax
mov esi, dword [ebx]
push 0x23
mov ecx, str...homeserverLocalNet.cpp
add esi, 0xc
call fcn.004347f0
mov edx, dword [esi]
push eax
push str._s:_WSAIoctl_Error
push ebx
call edx
add esp, 0x10
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
push ebp
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
push edi
push str.Get_IP_socket_close__d__n
call dword [sym.imp.MSVCR80.dll_printf]
add esp, 0xc
pop ebp
pop ebx
pop edi
mov eax, 0x138a
pop esi
add esp, 8
ret 4
mov ecx, dword [esp + 0x10]
mov eax, 0xaf286bcb
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
test ecx, ecx
jle 0x43519a
mov esi, ebp
mov ebx, ecx
mov eax, dword [esi]
test al, 1
je 0x435192
test al, 0xc
jne 0x435192
mov eax, dword [esi + 8]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], eax
call fcn.00434fe0
add esi, 0x4c
sub ebx, 1
jne 0x435173
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
push ebp
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
push edi
push str.Get_IP_socket_close__d__n
call dword [sym.imp.MSVCR80.dll_printf]
add esp, 0xc
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 8
ret 4
Function at 0x437634
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x4c3740]
jne 0x43763e
repz ret
jmp fcn.00437cda

Function at 0x4387e0
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x10
lea eax, [esp + 4]
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.QtCore4.dll_public:_static_class_QString___cdecl_QString::fromWCharArray_unsigned_short_int_const___int_]
add esp, 0xc
mov ecx, eax
call dword [sym.imp.QtCore4.dll_public:_class_QByteArray___thiscall_QString::toLocal8Bit_void_]
mov edx, dword [esp + 8]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x438822
mov ecx, dword [esp + 8]
push ecx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
push 8
lea ecx, [esp + 4]
mov dword [esp + 0x10], 0
call fcn.00438700
lea ecx, [esp + 4]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QByteArray::detach_void_]
mov ecx, dword [esp + 0x20]
lea edx, [esp]
push edx
mov edx, dword [esp + 8]
lea eax, [esp + 0x10]
push eax
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x24]
push eax
push ecx
push edx
call sub.QtCore4.dll_void___cdecl_qWinMain_struct_HINSTANCE_____struct_HINSTANCE_____char___int__int___class_QVector_char____
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
add esp, 0x18
cmp ecx, 1
je 0x438886
mov eax, dword [esp]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
push edx
push eax
lea ecx, [esp + 8]
call fcn.00438530
mov eax, dword [esp]
mov ecx, dword [esp + 0xc]
push esi
add eax, 0x10
push eax
push ecx
call fcn.0041ea30
mov esi, eax
mov eax, dword [esp + 0xc]
add esp, 8
test eax, eax
je 0x4388be
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x4388be
mov eax, dword [esp + 4]
push 4
push eax
call dword [sym.imp.QtCore4.dll_public:_static_void___cdecl_QVectorData::free_struct_QVectorData___int_]
add esp, 8
mov ecx, dword [esp + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x4388d9
mov eax, dword [esp + 8]
push eax
call dword [sym.imp.QtCore4.dll_void___cdecl_qFree_void__]
add esp, 4
mov eax, esi
pop esi
add esp, 0x10
ret 0x10
Function at 0x40167e
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x2d0c974]
sub esp, 0x400
push esi
mov esi, eax
shr esi, 3
push edi
mov edi, dword [0x2d0c36c]
test esi, esi
je 0x4016c9
cmp eax, 0x959
jne 0x4016b5
push 0
lea eax, [ebp - 0x400]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov ecx, edi
call fcn.00401481
add edi, 8
dec esi
je 0x4016c9
mov eax, dword [0x2d0c974]
jmp 0x40169d
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x40d7a6
Capabilities:
Link many functions at runtime
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x419458]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_EncodePointer]
push esi
push edi
mov dword [ebp - 0x1c], eax
xor esi, esi
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x20], eax
call ebx
mov edi, eax
mov dword [ebp - 0x18], edi
call fcn.00404d65
mov dword [ebp - 0x14], eax
cmp dword [0x433a88], esi
jne 0x40d899
push 0x800
push esi
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
jne 0x40d826
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
jne 0x40d979
push esi
push esi
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
je 0x40d979
push str.MessageBoxW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40d979
push eax
call ebx
push str.GetActiveWindow
push edi
mov dword [0x433a88], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetLastActivePopup
push edi
mov dword [0x433a8c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetUserObjectInformationW
push edi
mov dword [0x433a90], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0x433a98], eax
test eax, eax
je 0x40d896
push str.GetProcessWindowStation
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0x433a94], eax
mov edi, dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x40d8be
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x40d8b1
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp - 0x14], esi
je 0x40d8d3
push 4
pop eax
jmp 0x40d97b
cmp dword [ebp - 0x14], esi
je 0x40d8d3
push dword [0x433a88]
call dword [sym.imp.KERNEL32.dll_DecodePointer]
push 3
jmp 0x40d8b8
mov eax, dword [0x433a94]
mov ebx, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, edi
je 0x40d931
cmp dword [0x433a98], edi
je 0x40d931
push eax
call ebx
push dword [0x433a98]
mov dword [ebp - 0x14], eax
call ebx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x40d931
test eax, eax
je 0x40d931
call ecx
test eax, eax
je 0x40d926
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call dword [ebp - 0x18]
test eax, eax
je 0x40d926
test byte [ebp - 8], 1
jne 0x40d931
mov edi, dword [ebp + 0x10]
or edi, 0x200000
jmp 0x40d961
mov eax, dword [0x433a8c]
cmp eax, edi
je 0x40d95e
push eax
call ebx
test eax, eax
je 0x40d95e
call eax
mov esi, eax
test esi, esi
je 0x40d95e
mov eax, dword [0x433a90]
cmp eax, edi
je 0x40d95e
push eax
call ebx
test eax, eax
je 0x40d95e
push esi
call eax
mov esi, eax
mov edi, dword [ebp + 0x10]
push dword [0x433a88]
call ebx
test eax, eax
je 0x40d979
push edi
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push esi
call eax
jmp 0x40d97b
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00403fd7
mov esp, ebp
pop ebp
ret
Function at 0x40cc1e
Capabilities:
Link many functions at runtime
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x418528]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_EncodePointer]
push esi
push edi
mov dword [ebp - 0x1c], eax
xor esi, esi
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x20], eax
call ebx
mov edi, eax
mov dword [ebp - 0x18], edi
call fcn.00408c66
mov dword [ebp - 0x14], eax
cmp dword [0x455698], esi
jne 0x40cd11
push 0x800
push esi
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
jne 0x40cc9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
jne 0x40cdf1
push esi
push esi
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
je 0x40cdf1
push str.MessageBoxW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40cdf1
push eax
call ebx
push str.GetActiveWindow
push edi
mov dword [0x455698], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetLastActivePopup
push edi
mov dword [0x45569c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetUserObjectInformationW
push edi
mov dword [0x4556a0], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0x4556a8], eax
test eax, eax
je 0x40cd0e
push str.GetProcessWindowStation
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0x4556a4], eax
mov edi, dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x40cd36
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x40cd29
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp - 0x14], esi
je 0x40cd4b
push 4
pop eax
jmp 0x40cdf3
cmp dword [ebp - 0x14], esi
je 0x40cd4b
push dword [0x455698]
call dword [sym.imp.KERNEL32.dll_DecodePointer]
push 3
jmp 0x40cd30
mov eax, dword [0x4556a4]
mov ebx, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, edi
je 0x40cda9
cmp dword [0x4556a8], edi
je 0x40cda9
push eax
call ebx
push dword [0x4556a8]
mov dword [ebp - 0x14], eax
call ebx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x40cda9
test eax, eax
je 0x40cda9
call ecx
test eax, eax
je 0x40cd9e
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call dword [ebp - 0x18]
test eax, eax
je 0x40cd9e
test byte [ebp - 8], 1
jne 0x40cda9
mov edi, dword [ebp + 0x10]
or edi, 0x200000
jmp 0x40cdd9
mov eax, dword [0x45569c]
cmp eax, edi
je 0x40cdd6
push eax
call ebx
test eax, eax
je 0x40cdd6
call eax
mov esi, eax
test esi, esi
je 0x40cdd6
mov eax, dword [0x4556a0]
cmp eax, edi
je 0x40cdd6
push eax
call ebx
test eax, eax
je 0x40cdd6
push esi
call eax
mov esi, eax
mov edi, dword [ebp + 0x10]
push dword [0x455698]
call ebx
test eax, eax
je 0x40cdf1
push edi
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push esi
call eax
jmp 0x40cdf3
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004040f0
mov esp, ebp
pop ebp
ret
Function at 0x4afce4
Capabilities:
Allocate or change rwx memory
Get system information on windows

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffb4
mov dword [esp], eax
lea esi, [esp + 0x30]
lea eax, [esp + 0xc]
push eax
call sub.kernel32.dll_GetSystemInfo
mov edi, dword [esp]
push 0x1c
push esi
push edi
call sub.kernel32.dll_VirtualQuery
test eax, eax
je 0x4afdaf
jmp 0x4afda3
cmp dword [esi + 0x10], 0x1000
jne 0x4afd8f
test byte [esi + 0x15], 1
jne 0x4afd8f
mov byte [esp + 4], 0
mov ebp, dword [esi + 0x14]
cmp ebp, 1
je 0x4afd40
cmp ebp, 2
je 0x4afd40
cmp ebp, 0x10
je 0x4afd40
cmp ebp, 0x20
jne 0x4afd5c
lea eax, [esp + 8]
push eax
push 0x40
mov eax, dword [esi + 0xc]
push eax
mov eax, dword [esi]
push eax
call sub.kernel32.dll_VirtualProtect
test eax, eax
je 0x4afd5c
mov byte [esp + 4], 1
xor ebx, ebx
jmp 0x4afd6d
mov eax, dword [esi]
add eax, ebx
call fcn.004afcdc
add ebx, dword [esp + 0x10]
cmp ebx, dword [esi + 0xc]
jb 0x4afd60
cmp byte [esp + 4], 0
je 0x4afd8f
lea eax, [esp + 8]
push eax
mov eax, dword [esp + 0xc]
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 edi, eax
push 0x1c
push esi
push edi
call sub.kernel32.dll_VirtualQuery
test eax, eax
je 0x4afdaf
mov eax, dword [esi + 4]
cmp eax, dword [esp]
je 0x4afd15
add esp, 0x4c
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x41d062
Capabilities:
Decompress data using aplib

Disassembly:
pushal
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
cld
mov dl, 0x80
xor ebx, ebx
movsb byte es:[edi], byte [esi]
mov bl, 2
call fcn.0041d0e5
jae 0x41d070
xor ecx, ecx
call fcn.0041d0e5
jae 0x41d09f
xor eax, eax
call fcn.0041d0e5
jae 0x41d0af
mov bl, 2
inc ecx
mov al, 0x10
call fcn.0041d0e5
adc al, al
jae 0x41d091
jne 0x41d0db
stosb byte es:[edi], al
jmp 0x41d073
call fcn.0041d0f1
sub ecx, ebx
jne 0x41d0b8
call fcn.0041d0ef
jmp 0x41d0d7
lodsb al, byte [esi]
shr eax, 1
je 0x41d101
adc ecx, ecx
jmp 0x41d0d4
xchg ecx, eax
dec eax
shl eax, 8
lodsb al, byte [esi]
call fcn.0041d0ef
cmp eax, 0x7d00
jae 0x41d0d4
cmp ah, 5
jae 0x41d0d5
cmp eax, 0x7f
ja 0x41d0d6
inc ecx
inc ecx
xchg ebp, eax
mov eax, ebp
mov bl, 1
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41d073
and byte [esp + 0x28], bh
mov dword [esp + 0x1c], edi
popal
ret
Function at 0xae2aab
Capabilities:
Encrypt data using rc4 prga

Disassembly:
movsx ax, cl
movzx ax, dl
mov byte [edi - 1], 0
not al
lea eax, [ecx - 0x51033097]
pushfd
lahf
mov dword [esp], ebx
bswap eax
jmp 0xaf540f
jmp 0xa76c40
push dword [edi]
pop dword [esp]
pushfd
stc
cmp cl, dh
cmp edi, ebx
pushfd
push ebp
push dword [esp]
lea esp, [esp + 0x10]
ja 0xa7af1c
rcr al, cl
sub ebx, edi
setb al
movsx edi, dl
movsx di, bl
movzx di, cl
add ebx, esp
cmc
add di, 0x787d
cmp dh, dh
mov edi, ebx
xor al, ah
shl al, 6
mov al, 0x2e
bt cx, 5
repne scasb al, byte es:[edi]
pushal
lea esp, [esp + 0x20]
jne 0xadf09d
jmp 0xada8a7
movzx ax, cl

Function at 0xe02133
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[eax]
mov dword [esp + 0x10], 0x501affa
mov dword [ebp], eax
push dword [esp + 0xc]
push 0xacb3ddd7
lea esp, [esp + 0x30]
jmp 0xe0231b
jmp 0xe020d5
Function at 0x406520
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40b1d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
mov dword [ebp - 0x1c], ecx
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x44
call fcn.00406a60
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x1c]
add ecx, 0x54
call fcn.00406a60
mov byte [ebp - 4], 1
lea edx, [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x1c]
add ecx, 0x64
call fcn.00406a60
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 4], 0
push 0x28
push 0
mov edx, dword [ebp - 0x1c]
add edx, 8
push edx
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0x14
push 0
mov eax, dword [ebp - 0x1c]
add eax, 0x30
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret

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

Disassembly:
pushal
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x40de38
mov ecx, 0x1f636298
nop
test eax, eax
nop
nop
nop
nop
je 0x43304e
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
jne 0x433024
nop
nop
nop
nop
mov eax, section..data
nop
nop
mov ebx, 0x4304d8
mov ecx, 0x18d87b8f
nop
nop
nop
test eax, eax
nop
nop
nop
nop
nop
je 0x433084
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
add eax, 4
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x43306c
nop
nop
nop
nop
nop
nop
nop
popal
nop
jmp 0x431219

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

Disassembly:
pushal
nop
nop
nop
call 0x43000c
nop
nop
nop
pop eax
nop
nop
add eax, 0x403d6f
nop
sub eax, 0x403d15
nop
nop
nop
nop
mov ebx, dword [eax]
nop
nop
mov ecx, dword [eax + 4]
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
nop
nop
nop
xor dword [ebx], edx
nop
add ebx, 4
nop
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
nop
jl 0x430030
nop
nop
nop
add eax, 0xc
nop
cmp dword [eax], 0
nop
nop
nop
nop
jne 0x43001e
nop
nop
nop
nop
nop
nop
popal
nop
nop
jmp loc.00401219
Function at 0x425f93
Capabilities:
Encode data using xor

Disassembly:
adc eax, 0xf0fc82d
cmp byte [ebx - 0x30], ch
pop edi
push 0xa3ca1ea7
test byte [edx], al
cli
pop ebp
dec ebp
cdq
xor byte [ecx + 0x59165d26], ch
lea ecx, [ecx + 0x1e8ac66d]
insd dword es:[edi], dx
pop es
imul ecx, dword [ebx], 0xe
push cs
or ch, byte [edi + 0x5c]
cmp eax, 0xa4c37588
push ebx
mov edi, 0xeaa1e56b
salc
pop ebx
jg 0x425f37
push es
dec ecx
invalid
test al, 0x95
pop esi
push es
xchg edi, eax
imul edi, dword [edi], 0x5b
and al, 0xc5
shr byte [edx + 0x64], cl
mov esi, 0x3cc0b195
in eax, dx
in al, dx
pop ss
sbb dword [edi + 0x57], 0x2a
add eax, 0xc74c0c97
jns 0x425f5b
pop ds
dec edx
fidivr dword [ecx + 0x21]
and ch, byte [ecx]
sub eax, 0x22ba95c6
adc al, 0x36
dec edx
sbb ah, dl
mov al, byte [0xbeb799d4]
retf

Function at 0x4298d3
Capabilities:
Encode data using xor

Disassembly:
lodsb al, byte cs:[esi]
sbb al, 0x2e
fld qword [eax + 0x79]
cmp al, 0x24
sbb dword [0xffff9065], edx
cmp al, 0xc6
std
ror byte [esi], cl
inc ebx
xor dword [eax], eax
add edi, dword [esi]
pop es
push esp
aam 0x14
mov esi, 0x6626bc39
cmp al, 0xdb
or dword [eax - 0x3a], ebp
jbe 0x4298da
invalid
Function at 0x452913
Capabilities:
Encode data using xor

Disassembly:
stosb byte es:[edi], al
adc al, 0xa8
cmp edi, dword [edi]
push eax
sub al, 0xb7
sub dl, byte [edi - 0x5fa2dd45]
add ebp, dword [edi - 0x51cc51ee]
push eax
sub eax, 0x2c912cb0
mov dh, 0x2b
push esi
stosb byte es:[edi], al
aaa
stosb byte es:[edi], al
adc al, 0xa9
xor al, 0xa8
push ebp
sub byte [edx - 0x46da65d9], bh
and ebx, dword [esi - 0x5d]
aas
mov byte [0xa03da11c], al
bound ebp, qword [edi]
mov dl, 0x2d
nop
sub al, 0xb1
sub edx, dword [esi - 0x56]
aaa
stosb byte es:[edi], al
adc al, 0xa9
xor eax, 0xba2755a8
daa
wait
mov eax, 0x3ea35e24
mov byte [0xae324f1f], al
push ebx
sub eax, 0xc6912db0
jl 0x452931
wait
inc ecx
cli
inc eax
fiadd dword [ebx - 7]
inc edx
cwde
ret 0xcd77