joyce8/EMBER2024-capa huggingface dataset:
Function at 0x406fc8
Capabilities:
Access peb ldr_data
Create thread
Get kernel32 base address

Disassembly:
push ebx
push esi
push edi
mov eax, 0x1a1
cmp eax, 0x24
ja 0x406fd7
call 0x8566fb2
jo 0x40701e
call dword [sym.imp.KERNEL32.dll_FreeConsole]
mov edi, dword fs:[0x30]
add byte [ebx + ecx*4 + 0x3d], ah
xor byte [eax], al
add byte [eax], al
mov edi, dword [edi + 0xc]
mov esi, dword [edi + 0xc]
mov eax, dword [esi]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [0x459e0c], eax
sub eax, eax
je 0x406ffc
call 0xa97b58cf
invalid
call 0x40193b
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_DeleteAce]
push 8
call fcn.00409abb
push 4
mov esi, eax
call fcn.00409abb
lea edi, [esi + 4]
push edi
push ebx
push eax
push 0x407952
push ebx
push ebx
mov dword [eax], 0x406d8b
call fcn.0040e511
add esp, 0x20
mov dword [esi], eax
test eax, eax
je 0x407072
cmp dword [edi], ebx
jne 0x407044
push 1
jmp 0x407076
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [edi], eax
jne 0x407051
push 5
jmp 0x407076
push ebx
push dword [esi + 4]
push dword [esi]
call fcn.004095b1
add esp, 0xc
test eax, eax
je 0x407067
push 2
jmp 0x407076
pop edi
mov dword [esi], ebx
xor eax, eax
mov dword [esi + 4], ebx
pop esi
pop ebx
ret
mov dword [edi], ebx
push 6
call fcn.00407abf
int3

Function at 0x408b4f
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, ecx
push edi
mov edi, dword [ebp + 0xc]
test eax, eax
jg 0x408b70
jl 0x408b67
test edi, edi
jne 0x408b70
xor eax, eax
xor edx, edx
jmp 0x408c31
cmp dword [ebx + 0x38], 0
je 0x408b85
push eax
push edi
push dword [ebp + 8]
call fcn.00408c37
jmp 0x408c31
mov eax, dword [ebx + 0x1c]
push esi
mov esi, edi
mov ecx, dword [eax]
test ecx, ecx
je 0x408bcc
mov eax, dword [ebx + 0x2c]
mov eax, dword [eax]
mov dword [ebp - 4], eax
test eax, eax
je 0x408bcc
cmp eax, edi
jb 0x408ba6
mov eax, edi
mov dword [ebp - 4], edi
push eax
push ecx
push dword [ebp + 8]
call fcn.0040a920
mov ecx, dword [ebp - 4]
add esp, 0xc
mov eax, dword [ebp + 8]
sub esi, ecx
add eax, ecx
mov dword [ebp - 4], eax
mov eax, dword [ebx + 0x2c]
sub dword [eax], ecx
mov eax, dword [ebx + 0x1c]
add dword [eax], ecx
jmp 0x408bd2
mov eax, dword [ebp + 8]
mov dword [ebp - 4], eax
cmp dword [ebx + 0x4c], 0
je 0x408c26
mov ecx, ebx
call fcn.004083b7
mov ecx, dword [ebp - 4]
mov edx, esi
mov eax, 0xfff
cmp esi, eax
jbe 0x408c11
push dword [ebx + 0x4c]
push eax
push 1
push ecx
call fcn.0041119d
mov ecx, dword [ebp - 4]
sub esi, eax
add ecx, eax
add esp, 0x10
mov dword [ebp - 4], ecx
mov edx, esi
cmp eax, 0xfff
jne 0x408c26
jmp 0x408be4
test edx, edx
je 0x408c26
push dword [ebx + 0x4c]
push esi
push 1
push ecx
call fcn.0041119d
add esp, 0x10
sub esi, eax
mov edx, dword [ebp + 0x10]
sub edi, esi
mov eax, edi
sbb edx, 0
pop esi
pop edi
pop ebx
leave
ret 0xc
Function at 0x41edbd
Capabilities:
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov esi, eax
test esi, esi
je 0x41ee5a
push ebx
push esi
call fcn.0041ed86
xor ebx, ebx
sub eax, esi
push ebx
push ebx
push ebx
push ebx
sar eax, 1
push eax
push esi
push ebx
push ebx
mov dword [ebp - 8], eax
call fcn.0041da0b
add esp, 0x24
mov dword [ebp - 4], eax
test eax, eax
jne 0x41ee07
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x41ee59
push edi
push eax
call fcn.004175b7
mov edi, eax
pop ecx
push ebx
test edi, edi
jne 0x41ee27
call fcn.004163cf
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x41ee58
push ebx
push dword [ebp - 4]
push edi
push dword [ebp - 8]
push esi
push ebx
push ebx
call fcn.0041da0b
add esp, 0x20
test eax, eax
jne 0x41ee46
push edi
call fcn.004163cf
jmp 0x41ee4e
push ebx
call fcn.004163cf
mov ebx, edi
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, ebx
pop edi
pop ebx
pop esi
leave
ret

Function at 0x425d30
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x425d5d
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x425d5d
mov edx, 0x10b
xor eax, eax
cmp word [ecx + 0x18], dx
sete al
pop ebp
ret
xor eax, eax
pop ebp
ret

Function at 0x40892d
Capabilities:
Encode data using xor

Disassembly:
push 0x4085d8
mov ebx, dword [esp]
add esp, 4
dec eax
add eax, 0x731ca639
call fcn.0040895a
xor dword [ecx], ebx
and eax, edx
sub edx, 0x8ad33f32
inc ecx
mov eax, eax
cmp ecx, esi
jne fcn.0040892d
mov eax, eax
or eax, edx
ret
Function at 0x403e28
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov ebx, dword [ebp + 8]
mov ecx, 0x55087f58
mov eax, ecx
sub eax, ecx
mov ecx, eax
inc dword [0x42b474]
mov esi, ebx
and dword [0x409004], 0
mov eax, 0x1f89
mul ecx
mov dword [ebp - 4], eax
mov ecx, eax
and dword [0x419f18], 0
and dword [0x419f38], 0
and dword [0x409008], 0
mov dword [0x419dec], 4
add ecx, 0xcd5
mov dword [0x419944], 4
mov eax, esi
inc esi
mov al, byte [eax]
mov byte [0x419940], al
movzx eax, byte [0x419940]
or eax, eax
jl 0x404128
cmp eax, 0xff
jg 0x404128
jmp dword [eax*4 + 0x42b490]
inc dword [0x42b474]
test byte [0x419f18], 0x40
je 0x404202
mov eax, esi
inc esi
mov al, byte [eax]
mov byte [0x42a170], al
mov eax, ecx
mul ecx
mov dword [ebp - 0x10], eax
mov ecx, eax
movzx eax, byte [0x42a170]
and eax, 0xc0
mov byte [ebp - 9], al
movzx eax, byte [0x42a170]
and eax, 7
mov byte [ebp - 0xa], al
movzx eax, byte [ebp - 9]
cmp eax, 0xc0
je 0x404202
cmp byte [ebp - 9], 0x40
jne 0x404185
inc dword [0x409008]
mov eax, 0x7f0e
mul ecx
mov dword [ebp - 0x14], eax
mov ecx, eax
movzx eax, byte [ebp - 9]
cmp eax, 0x80
jne 0x4041a7
mov eax, dword [0x419944]
add dword [0x409008], eax
cmp dword [0x419944], 2
jne 0x4041c5
cmp byte [ebp - 9], 0
jne 0x404202
cmp byte [ebp - 0xa], 6
jne 0x404202
add dword [0x409008], 2
jmp 0x404202
cmp byte [ebp - 0xa], 4
jne 0x4041ef
or byte [0x419f18], 0x80
mov eax, ecx
add eax, ecx
mov ecx, eax
mov eax, esi
inc esi
mov al, byte [eax]
mov byte [0x419de4], al
movzx eax, byte [0x419de4]
and eax, 7
mov byte [ebp - 0xa], al
cmp byte [ebp - 0xa], 5
jne 0x404202
cmp byte [ebp - 9], 0
jne 0x404202
add dword [0x409008], 4
and dword [0x40900c], 0
jmp 0x404223
mov eax, esi
inc esi
mov edx, dword [0x40900c]
mov al, byte [eax]
mov byte [edx + 0x419938], al
inc dword [0x40900c]
mov eax, dword [0x409008]
cmp dword [0x40900c], eax
jb 0x40420b
xor ecx, 0x3c7f
and dword [0x40900c], 0
jmp 0x404257
mov eax, esi
inc esi
mov edx, dword [0x40900c]
mov al, byte [eax]
mov byte [edx + 0x42a3a8], al
inc dword [0x40900c]
mov eax, dword [0x419f38]
cmp dword [0x40900c], eax
jb 0x40423f
inc dword [0x42b474]
mov eax, esi
sub eax, ebx
mov dword [0x409004], eax
xor eax, eax
inc eax
jmp 0x40427e
pop esi
pop ebx
leave
ret
Function at 0x4056a3
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov word [ebp + 0xc], ax
mov dword [ebp - 4], 0x7f83677c
sub dword [ebp - 4], 0x1715
xor esi, esi
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mul dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], eax
mov word [ebp - 0x10], 0
jmp 0x4057c4
mov eax, ebx
add eax, esi
push eax
call fcn.00404e3c
pop ecx
mov edx, eax
mov byte [ebp - 5], dl
mov eax, dword [ebp - 4]
mov edx, eax
add edx, eax
mov dword [ebp - 4], edx
cmp byte [ebp - 5], 0
jne 0x405709
mov byte [ebp - 6], 0
jmp 0x405733
call 0x40a700
mov dword [ebp - 0x20], eax
mov eax, 0x7fff
mov edi, 7
movzx edx, byte [ebp - 5]
mov ecx, edi
sub ecx, edx
cdq
idiv ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
cdq
idiv ecx
mov edx, eax
mov byte [ebp - 6], dl
mov al, byte [esi + ebx]
cmp al, 0x70
jb 0x40574e
cmp al, 0x7f
ja 0x40574e
mov eax, ebx
add eax, esi
inc eax
movzx edx, byte [eax]
movzx ecx, byte [ebp - 6]
sub edx, ecx
mov byte [eax], dl
movzx eax, byte [esi + ebx]
cmp eax, 0xe2
jne 0x405769
mov eax, ebx
add eax, esi
inc eax
movzx edx, byte [eax]
movzx ecx, byte [ebp - 6]
sub edx, ecx
mov byte [eax], dl
mov eax, 0x3e96
mul dword [ebp - 4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], eax
push 8
push 0x90
lea eax, [ebp - 0xe]
push eax
call 0x40a6dc
movzx eax, byte [ebp - 5]
push eax
mov eax, ebx
add eax, esi
push eax
lea eax, [ebp - 0xe]
movzx edx, byte [ebp - 6]
add eax, edx
push eax
call 0x40a6d0
push 6
lea eax, [ebp - 0xe]
push eax
mov eax, ebx
add eax, esi
push eax
call 0x40a6d0
add esp, 0x24
mov eax, dword [ebp - 4]
mov edx, eax
xor edx, eax
mov dword [ebp - 4], edx
add esi, 6
inc word [ebp - 0x10]
movzx eax, word [ebp + 0xc]
dec eax
cmp esi, eax
jb 0x4056e3
pop edi
pop esi
pop ebx
leave
ret

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

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x42e00c
nop
nop
nop
nop
pop eax
nop
add eax, 0x403ac5
nop
nop
sub eax, 0x403a6b
mov ebx, dword [eax]
nop
nop
nop
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
xor dword [ebx], edx
add ebx, 4
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
nop
jl 0x42e030
nop
nop
nop
nop
nop
nop
add eax, 0xc
nop
cmp dword [eax], 0
nop
nop
nop
nop
nop
jne 0x42e01e
nop
nop
nop
nop
nop
popal
nop
nop
jmp loc.00401219
Function at 0x4659a0
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, 0x457015
lea edi, [esi - 0x56015]
push edi
or ebp, 0xffffffff
jmp 0x4659c2
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x4659c9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4659b8
mov eax, 1
add ebx, ebx
jne 0x4659db
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x4659d0
jne 0x4659ec
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x4659d0
xor ecx, ecx
sub eax, 3
jb 0x465a00
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x465a72
mov ebp, eax
add ebx, ebx
jne 0x465a0b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x465a18
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x465a3c
inc ecx
add ebx, ebx
jne 0x465a28
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x465a1d
jne 0x465a39
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x465a1d
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x465a5c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x465a4d
jmp 0x4659be
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x465a5c
add edi, ecx
jmp 0x4659be
pop esi
mov edi, esi
mov ecx, 0x33e
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x465a7a
cmp byte [edi], 0
jne 0x465a7a
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 eax, ebx
loop 0x465a7f
lea edi, [esi + 0x63000]
mov eax, dword [edi]
or eax, eax
je 0x465aee
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x651f0]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x65254]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x465aac
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x65258]
or eax, eax
je 0x465ae8
mov dword [ebx], eax
add ebx, 4
jmp 0x465ac9
call dword [esi + 0x6525c]
popal
jmp 0x40da18

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

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43300c
nop
nop
nop
pop eax
nop
nop
add eax, 0x40a063
nop
nop
sub eax, 0x40a009
nop
nop
mov ebx, dword [eax]
nop
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
nop
xor dword [ebx], edx
nop
nop
add ebx, 4
nop
nop
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
jl 0x433030
nop
nop
nop
nop
add eax, 0xc
nop
nop
nop
nop
cmp dword [eax], 0
nop
jne 0x43301e
nop
nop
nop
nop
nop
popal
nop
nop
nop
jmp fcn.00431219
Function at 0x4098c4
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 0x409997
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4099b0
push ebx
push 0x4099bc
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 0x409944
mov al, 0x62
call fcn.0040949c
mov eax, dword [ebp - 0x54]
push eax
call sub.kernel32.dll_CloseHandle_1
call fcn.00409898
push 0xff
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x58]
push eax
push 1
call sub.user32.dll_MsgWaitForMultipleObjects
dec eax
je 0x40994d
call fcn.00409898
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 0x40999e
lea eax, [ebp - 4]
call fcn.00403198
ret

Function at 0x409a50
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 0x409b04
jmp 0x409af9
cmp dword [esi + 0x10], 0x1000
jne 0x409ae5
test byte [esi + 0x15], 1
jne 0x409ae5
xor ebx, ebx
mov eax, dword [esi + 0x14]
cmp eax, 1
je 0x409aa4
cmp eax, 2
je 0x409aa4
cmp eax, 0x10
je 0x409aa4
cmp eax, 0x20
jne 0x409ab9
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 0x409ab9
mov bl, 1
xor ebp, ebp
jmp 0x409aca
mov eax, dword [esi]
add eax, ebp
call fcn.00409a48
add ebp, dword [esp + 8]
cmp ebp, dword [esi + 0xc]
jb 0x409abd
test bl, bl
je 0x409ae5
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 0x409b04
mov eax, dword [esi + 4]
cmp eax, edi
je 0x409a7c
add esp, 0x44
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x409ebd
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
mov eax, section.sect_0
call 0x409ebd
lcall 0x5de5, 0x8b10c483
jmp fcn.0076d6b4
Function at 0x10002290
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0x6a
mov dword [ebp - 8], 0
jmp 0x100022b2
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x29
jge 0x100022f1
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x10ff3b30]
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 0x100022ec
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x100022a9
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x29], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x10002310
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0x88
mov dword [ebp - 8], 0
jmp 0x10002332
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x2b
jge 0x10002371
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x732d4b64]
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 0x1000236c
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x10002329
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x2b], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x10002390
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0x6e
mov dword [ebp - 8], 0
jmp 0x100023b2
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x26
jge 0x100023f1
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx - 0x60d280bc]
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 0x100023ec
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x100023a9
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x26], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x10002410
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0x11
mov dword [ebp - 8], 0
jmp 0x10002432
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x2c
jge 0x10002471
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x55e3c3ab]
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 0x1000246c
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x10002429
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x2c], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4
Function at 0x10002490
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0x8f
mov dword [ebp - 8], 0
jmp 0x100024b2
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xa
jge 0x100024f1
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx + 0x5e301c7e]
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 0x100024ec
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x100024a9
mov eax, dword [ebp - 0xc]
mov byte [eax + 0xa], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x10002530
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0xac
mov dword [ebp - 8], 0
jmp 0x10002552
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 9
jge 0x10002591
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx - 0x2472d89b]
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 0x1000258c
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x10002549
mov eax, dword [ebp - 0xc]
mov byte [eax + 9], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x100025b0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0x34
mov dword [ebp - 8], 0
jmp 0x100025d2
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x12
jge 0x10002611
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movsx edx, byte [ecx - 0x5392584]
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 0x1000260c
dec edx
or edx, 0xffffff00
inc edx
mov dword [ebp - 4], edx
jmp 0x100025c9
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x12], 0
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4
Function at 0x10003b80
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x438
mov dword [ebp - 0x438], ecx
mov dword [ebp - 0x434], 0
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov byte [ebp - 0x20], 0x25
mov byte [ebp - 0x1f], 0x30
mov byte [ebp - 0x1e], 0x32
mov byte [ebp - 0x1d], 0x64
mov byte [ebp - 0x1c], 0x3a
mov byte [ebp - 0x1b], 0x25
mov byte [ebp - 0x1a], 0x30
mov byte [ebp - 0x19], 0x32
mov byte [ebp - 0x18], 0x64
mov byte [ebp - 0x17], 0x3a
mov byte [ebp - 0x16], 0x25
mov byte [ebp - 0x15], 0x30
mov byte [ebp - 0x14], 0x32
mov byte [ebp - 0x13], 0x64
mov byte [ebp - 0x12], 0x20
mov byte [ebp - 0x11], 0x2d
mov byte [ebp - 0x10], 0x20
mov byte [ebp - 0xf], 0x25
mov byte [ebp - 0xe], 0x30
mov byte [ebp - 0xd], 0x32
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x2f
mov byte [ebp - 0xa], 0x25
mov byte [ebp - 9], 0x30
mov byte [ebp - 8], 0x32
mov byte [ebp - 7], 0x64
mov byte [ebp - 6], 0x2f
mov byte [ebp - 5], 0x25
mov byte [ebp - 4], 0x64
mov byte [ebp - 3], 0x20
mov byte [ebp - 2], 0x20
mov byte [ebp - 1], 0
movzx ecx, word [ebp - 0x30]
push ecx
movzx edx, word [ebp - 0x2e]
push edx
movzx eax, word [ebp - 0x2a]
push eax
movzx ecx, word [ebp - 0x24]
push ecx
movzx edx, word [ebp - 0x26]
push edx
movzx eax, word [ebp - 0x28]
push eax
lea ecx, [ebp - 0x20]
push ecx
push 0x2000
lea edx, [ebp - 0x430]
push edx
call fcn.10026500
add esp, 0x24
lea eax, [ebp - 0x430]
push eax
mov ecx, dword [ebp + 8]
call fcn.10001490
mov ecx, dword [ebp - 0x434]
or ecx, 1
mov dword [ebp - 0x434], ecx
mov eax, dword [ebp + 8]
mov esp, ebp
pop ebp
ret 4

Function at 0x10003d10
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100293bb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x3f6c
call fcn.10026280
lea eax, [ebp + 0x14]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp + 0x10]
push edx
push 0x2000
lea eax, [ebp - 0x1f54]
push eax
call fcn.10026530
add esp, 0x10
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x3f70]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10003b80
mov dword [ebp - 0x3f74], eax
mov edx, dword [ebp - 0x3f74]
mov dword [ebp - 0x3f78], edx
mov dword [ebp - 4], 0
lea eax, [ebp - 0x1f54]
push eax
mov ecx, dword [ebp - 0x3f78]
call fcn.10001530
push eax
push str._Time__s_n_s
push 0x2000
lea ecx, [ebp - 0x3f54]
push ecx
call fcn.10026500
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3f70]
call fcn.10001510
lea edx, [ebp - 0x3f54]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret