joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4f2fd0
Capabilities:
Inspect section memory permissions

Disassembly:
mov eax, 4
call fcn.00532ab0
push ebp
mov ebp, dword [esp + 0x18]
push esi
push edi
push ebp
xor edi, edi
call fcn.00479c40
push ebp
call fcn.00479ab0
mov esi, eax
add esp, 8
test esi, esi
je 0x4f31e6
push ebx
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 4]
add eax, eax
cmp eax, dword [esi + 8]
jg 0x4f300f
mov eax, esi
jmp 0x4f3019
push eax
push esi
call fcn.0045a900
add esp, 8
test eax, eax
je 0x4f31e5
mov eax, dword [ebx + 4]
lea ecx, [eax - 1]
test ecx, ecx
js 0x4f31a1
mov ebp, ecx
mov eax, dword [ebx]
mov edx, dword [eax + ebp*4]
mov ecx, edx
shr ecx, 1
mov eax, edx
and eax, 0x20000
and ecx, 0x8000
or ecx, eax
mov eax, edx
and eax, 0x40000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x80000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x100000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x200000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x400000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x800000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x1000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x2000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x4000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x8000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x10000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x20000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x40000000
shr ecx, 1
or ecx, eax
and edx, reloc.WS2_32.dll_accept
mov eax, dword [esi]
shr ecx, 1
or ecx, edx
shr ecx, 1
mov dword [eax + ebp*8 + 4], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + ebp*4]
mov edx, ecx
and edx, 0x8000
mov eax, ecx
add edx, edx
and eax, 0x4000
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x2000
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x1000
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x800
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x400
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x200
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x100
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x80
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x40
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x20
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x10
or edx, eax
mov eax, ecx
add edx, edx
and eax, 8
or edx, eax
mov eax, ecx
add edx, edx
and eax, 4
or edx, eax
mov eax, ecx
add edx, edx
and eax, 2
or edx, eax
and ecx, 1
mov eax, dword [esi]
add edx, edx
or edx, ecx
mov dword [eax + ebp*8], edx
sub ebp, 1
jns 0x4f3031
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x24]
add eax, eax
mov dword [esi + 4], eax
test eax, eax
jle 0x4f31c5
mov edx, dword [esi]
add edx, 0xfffffffc
lea edx, [edx + eax*4]
mov ecx, dword [edx]
lea edx, [edx - 4]
test ecx, ecx
jne 0x4f31c0
dec eax
test eax, eax
jg 0x4f31b2
mov dword [esi + 4], eax
test eax, eax
jne 0x4f31ca
mov dword [esi + 0xc], edi
push dword [esp + 0x20]
push esi
push dword [esp + 0x20]
call fcn.004f1ff0
add esp, 0xc
mov ecx, 1
test eax, eax
cmovne edi, ecx
pop ebx
push ebp
call fcn.004799d0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ecx
ret
Function at 0x513010
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xa8
call fcn.00532ab0
mov eax, dword [0x5c84bc]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xac]
push ebx
push ebp
push esi
mov esi, dword [esp + 0xbc]
xor ebp, ebp
push edi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x30], eax
mov esi, dword [esi + 4]
mov dword [esp + 0x1c], esi
sub esi, edi
mov dword [esp + 0x10], esi
cmp dword [esp + 0xc8], edi
jae 0x513074
push str.orig_len___md_size
push 0xf8
push str.._ssl_s3_cbc.c
call fcn.0046ebc0
add esp, 0xc
cmp edi, 0x40
jbe 0x513090
push str.md_size___EVP_MAX_MD_SIZE
push 0xf9
push str.._ssl_s3_cbc.c
call fcn.0046ebc0
add esp, 0xc
mov ecx, dword [esp + 0xc8]
lea eax, [esp + 0x34]
neg eax
lea ebx, [esp + 0x34]
and eax, 0x3f
add ebx, eax
lea eax, [edi + 0x100]
mov dword [esp + 0x20], ebx
cmp ecx, eax
jbe 0x5130be
mov ebp, ecx
sub ebp, edi
sub ebp, 0x100
mov eax, edi
xor edx, edx
and eax, 0xfffffffe
shl eax, 0x17
sub eax, ebp
add eax, esi
div edi
push edi
mov esi, edx
push 0
push ebx
mov dword [esp + 0x38], esi
call fcn.005346b0
add esp, 0xc
mov dword [esp + 0x18], 0
cmp ebp, dword [esp + 0xc8]
jae 0x51319b
mov ecx, dword [esp + 0x1c]
mov esi, ebx
mov edx, dword [esp + 0x10]
mov eax, ecx
shr eax, 0x1f
sub ebp, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc0]
shr edx, 0x1f
mov dword [esp + 0x10], edx
mov eax, dword [eax + 0xc]
add eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
lea ebx, [ecx + ebp]
shr ebx, 0x1f
lea ecx, [edi + ebp]
shr ecx, 0x1f
xor cl, dl
xor dl, bl
or cl, dl
mov edx, ebp
xor cl, bl
shr edx, 0x1f
xor dl, byte [esp + 0x14]
dec cl
mov dword [esp + 0x28], ecx
mov cl, byte [eax + ebp]
mov al, bl
xor al, byte [esp + 0x14]
inc ebp
or dl, al
xor dl, bl
mov ebx, dword [esp + 0x18]
neg dl
and dl, cl
and dl, byte [esp + 0x28]
or byte [ebx + esi], dl
inc ebx
mov edx, dword [esp + 0x10]
mov ecx, ebx
sub ecx, edi
mov eax, ebx
xor ecx, edi
xor eax, edi
or ecx, eax
xor ecx, ebx
shr ecx, 0x1f
neg ecx
and ebx, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], ebx
lea eax, [ecx + ebp]
cmp eax, dword [esp + 0xc8]
jb 0x513121
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
xor edx, edx
test edi, edi
je 0x5131cf
mov ebp, dword [esp + 0x30]
mov eax, esi
xor eax, 0x20
mov al, byte [eax + ebx]
movzx eax, byte [esi + ebx]
inc esi
mov byte [edx + ebp], al
mov ecx, esi
sub ecx, edi
mov eax, esi
xor ecx, edi
xor eax, edi
or ecx, eax
inc edx
xor ecx, esi
shr ecx, 0x1f
neg ecx
and esi, ecx
cmp edx, edi
jb 0x5131a5
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00531ff3
add esp, 0xa8
ret
Function at 0x513cf0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 8
call fcn.00532ab0
push ebx
mov ebx, dword [esp + 0x1c]
push esi
mov esi, dword [esp + 0x14]
inc ebx
push edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebx
mov eax, dword [esi + 8]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x64]
test byte [eax + 0x38], 1
je 0x513dbc
mov edx, dword [esp + 0x20]
lea eax, [ebx + edx]
cmp eax, ecx
ja 0x513dc4
add dword [edi + 0xc], edx
add dword [edi + 0x10], edx
sub ecx, edx
mov dword [edi + 4], ecx
test dword [esi + 0x100], 0x200
mov eax, dword [edi + 0xc]
movzx ebx, byte [eax + ecx - 1]
je 0x513d8a
cmp dword [esi + 0x88], 0
jne 0x513d8a
mov eax, dword [esi + 0x58]
push 8
add eax, 8
push 0x5a4a94
push eax
call fcn.0046e8f0
add esp, 0xc
test eax, eax
jne 0x513d7d
test bl, 1
jne 0x513d7d
mov eax, dword [esi + 0x58]
or dword [eax], 8
mov eax, dword [esi + 0x58]
test byte [eax], 8
je 0x513d8a
test ebx, ebx
je 0x513d8a
dec ebx
mov eax, dword [esi + 0x80]
push ebp
push dword [eax]
call fcn.00472940
mov ebp, dword [edi + 4]
add esp, 4
mov dword [esp + 0x14], ebp
and eax, 0x200000
je 0x513dcd
sub ebp, ebx
mov eax, 1
dec ebp
mov dword [edi + 4], ebp
pop ebp
pop edi
pop esi
pop ebx
add esp, 8
ret
cmp ebx, ecx
jbe 0x513d3b
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret
mov ecx, dword [esp + 0x28]
mov edx, ebp
add ecx, ebx
mov eax, ebp
sub edx, ecx
xor eax, ecx
xor edx, ecx
mov ecx, 0xff
or edx, eax
lea eax, [ebp - 1]
xor edx, ebp
shr edx, 0x1f
dec edx
cmp eax, ecx
mov dword [esp + 0x1c], edx
cmovb ecx, eax
xor esi, esi
test ecx, ecx
je 0x513e53
mov eax, ebx
shr eax, 0x1f
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0xc]
lea edi, [ebp - 1]
add edi, eax
mov ebp, ecx
nop
mov al, byte [esp + 0x28]
lea edi, [edi - 1]
mov edx, ebx
mov ecx, esi
sub edx, esi
shr ecx, 0x1f
shr edx, 0x1f
xor al, cl
xor dl, cl
inc esi
or dl, al
movzx eax, byte [edi + 1]
xor dl, byte [esp + 0x28]
xor eax, ebx
dec dl
movzx ecx, dl
mov edx, dword [esp + 0x1c]
and ecx, eax
not ecx
and edx, ecx
mov dword [esp + 0x1c], edx
cmp esi, ebp
jb 0x513e10
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
not edx
lea eax, [ebx + 1]
movzx ecx, dl
dec ecx
shr ecx, 0x1f
neg ecx
and eax, ecx
sub ebp, eax
shl eax, 8
or dword [edi], eax
mov dword [edi + 4], ebp
mov dword [esp + 0x28], ecx
not ecx
pop ebp
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
and ecx, 1
pop edi
pop esi
or eax, ecx
pop ebx
add esp, 8
ret
Function at 0x55164c
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.005514c2

Function at 0x5567d0
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.00556323
Function at 0x55e1b0
Capabilities:
Resolve dns

Disassembly:
mov eax, 0x18
call fcn.00532ab0
mov eax, dword [0x5c84bc]
xor eax, esp
mov dword [esp + 0x14], eax
push ebx
mov ebx, dword [esp + 0x24]
xor ecx, ecx
push ebp
mov ebp, dword [esp + 0x24]
push esi
push edi
mov dword [esp + 0x10], 1
mov edi, ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ecx
xor esi, esi
nop
movsx edx, byte [edi]
lea edi, [edi + 1]
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x55e277
mov eax, dword [esp + ecx*4 + 0x14]
mov esi, 1
lea eax, [eax + eax*4]
lea eax, [eax - 0x18]
lea eax, [edx + eax*2]
mov dword [esp + ecx*4 + 0x14], eax
cmp eax, 0xff
jbe 0x55e1f0
xor esi, esi
call fcn.0055e680
cmp eax, 1
jne 0x55e36c
test esi, esi
jne 0x55e381
push 0xa1
push str..crypto_bio_b_sock.c
push 0x16
push 9
call fcn.0046e760
add esp, 0x10
push ebp
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov ecx, eax
test ecx, ecx
jne 0x55e2e8
push 0xa7
push str..crypto_bio_b_sock.c
push 0x66
push 0x6a
push 0x20
call fcn.00465170
add esp, 0x14
jmp 0x55e33f
cmp edx, 0x2e
jne 0x55e2a8
test esi, esi
je 0x55e28b
cmp ecx, 3
je 0x55e21b
inc ecx
jmp 0x55e1ed
push 0x88
push str..crypto_bio_b_sock.c
push 0x6c
push 0x6a
push 0x20
call fcn.00465170
add esp, 0x14
jmp 0x55e35c
test edx, edx
jne 0x55e21b
cmp ecx, 3
jne 0x55e21b
test esi, esi
je 0x55e21b
movzx eax, byte [esp + 0x14]
lea esi, [edx + 1]
mov byte [ebx], al
movzx eax, byte [esp + 0x18]
mov byte [ebx + 1], al
movzx eax, byte [esp + 0x1c]
mov byte [ebx + 2], al
movzx eax, byte [esp + 0x20]
mov byte [ebx + 3], al
jmp 0x55e21d
cmp word [ecx + 8], 2
je 0x55e309
push 0xae
push str..crypto_bio_b_sock.c
push 0x6b
push 0x6a
push 0x20
call fcn.00465170
add esp, 0x14
jmp 0x55e33f
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x10], 0
mov eax, dword [eax]
movzx eax, byte [eax]
mov byte [ebx], al
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
movzx eax, byte [eax + 1]
mov byte [ebx + 1], al
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
movzx eax, byte [eax + 2]
mov byte [ebx + 2], al
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
movzx eax, byte [eax + 3]
mov byte [ebx + 3], al
push 0xb7
push str..crypto_bio_b_sock.c
push 0x16
push 0xa
call fcn.0046e760
add esp, 0x10
cmp dword [esp + 0x10], 0
je 0x55e381
push ebp
push str.host
push 2
call fcn.00464670
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.00531ff3
add esp, 0x18
ret
mov ecx, dword [esp + 0x24]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00531ff3
add esp, 0x18
ret

Function at 0x55e700
Capabilities:
Set socket configuration

Disassembly:
mov eax, dword [esp + 8]
push esi
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
push 0x8004667e
push dword [esp + 0x10]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov esi, eax
test esi, esi
jns 0x55e740
push 0x248
push str..crypto_bio_b_sock.c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 5
push 2
call fcn.00465170
add esp, 0x14
xor eax, eax
test esi, esi
pop esi
sete al
ret
Function at 0x100035c0
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
lea eax, [ebp - 4]
push eax
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x100035e1
xor al, al
jmp 0x10003648
lea ecx, [ebp - 0x1c]
push ecx
push str.SeDebugPrivilege
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
jne 0x10003604
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x10003648
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], 2
push 0
push 0
push 0x10
lea edx, [ebp - 0x14]
push edx
push 0
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
jne 0x10003646
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x10003648
mov al, 1
mov esp, ebp
pop ebp
ret

Function at 0x10003720
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002ea98
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x1003ccc8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2c], 0
push str.0.0.0.0
lea ecx, [ebp - 0x14]
call fcn.10005fe0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0x34
push 0
mov eax, dword [ebp + 0xc]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x1000383e
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000c3fa
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x10]
push edx
push 0
mov eax, dword [ebp + 0xc]
push eax
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1000382c
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x18]
push edx
push 0x10035854
mov eax, dword [ebp - 0x20]
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1000382c
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0xc]
and edx, 0xffff
movzx eax, dx
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0xc]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 8]
and edx, 0xffff
movzx eax, dx
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 8]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
push eax
push 0x10035858
lea ecx, [ebp - 0x14]
push ecx
call fcn.100013e0
add esp, 0x18
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
push eax
call fcn.1000c405
add esp, 4
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10005a20
mov edx, dword [ebp - 0x2c]
or edx, 1
mov dword [ebp - 0x2c], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.10001410
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret
Function at 0x10003a50
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002ea5b
mov eax, dword fs:[0]
push eax
sub esp, 0x22c
mov eax, dword [0x1003ccc8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x228], 0
push 0x10035878
lea ecx, [ebp - 0x220]
call fcn.10005fe0
mov dword [ebp - 4], 0
cmp dword [ebp + 0xc], 0
je 0x10003af1
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x22c]
add ecx, 2
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x22c]
mov ax, word [edx]
mov word [ebp - 0x232], ax
add dword [ebp - 0x22c], 2
cmp word [ebp - 0x232], 0
jne 0x10003aba
mov ecx, dword [ebp - 0x22c]
sub ecx, dword [ebp - 0x230]
sar ecx, 1
mov dword [ebp - 0x238], ecx
jne 0x10003b26
lea edx, [ebp - 0x220]
push edx
mov ecx, dword [ebp + 8]
call fcn.10005a20
mov eax, dword [ebp - 0x228]
or eax, 1
mov dword [ebp - 0x228], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x220]
call fcn.10001410
mov eax, dword [ebp + 8]
jmp 0x10003b87
push 0x104
lea ecx, [ebp - 0x21c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x220]
call fcn.10005fc0
lea ecx, [ebp - 0x220]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10005a20
mov edx, dword [ebp - 0x228]
or edx, 1
mov dword [ebp - 0x228], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x220]
call fcn.10001410
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10018f71
mov esp, ebp
pop ebp
ret
Function at 0x100073a0
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x48], 0x40
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x100073ca
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x40]
shr eax, 0x14
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x20]
shr ecx, 0x14
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 4]
push edx
push 0
push 0x100000
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.1001d5d0
push eax
push str.physical_memory:__lu__lu_MB__free_total__r_n
mov edx, dword [ebp - 0x5c]
add edx, 8
push edx
call fcn.100013e0
add esp, 0x10
mov eax, dword [ebp - 4]
push eax
push str.Physical_Memory:_ld_MB
mov ecx, dword [ebp + 8]
push ecx
call fcn.100013e0
add esp, 0xc
mov edx, dword [ebp - 0x4c]
push edx
push str.Virtual_Memory:_ld_MB
mov eax, dword [ebp + 0xc]
push eax
call fcn.100013e0
add esp, 0xc
mov esp, ebp
pop ebp
ret 8
Function at 0x1000bec0
Capabilities:
Enumerate process modules

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x450
mov eax, dword [0x1003ccc8]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov byte [ebp - 0x43d], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x438], 0
push 0x424
push 0
lea eax, [ebp - 0x434]
push eax
call fcn.1001b720
add esp, 0xc
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x444]
add edx, 2
mov dword [ebp - 0x448], edx
mov eax, dword [ebp - 0x444]
mov cx, word [eax]
mov word [ebp - 0x44a], cx
add dword [ebp - 0x444], 2
cmp word [ebp - 0x44a], 0
jne 0x1000bf19
mov edx, dword [ebp - 0x444]
sub edx, dword [ebp - 0x448]
sar edx, 1
mov dword [ebp - 0x450], edx
mov eax, dword [ebp - 0x450]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x1000bf64
xor al, al
jmp 0x1000c014
mov ecx, dword [ebp + 8]
push ecx
push 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x1000bf7f
xor al, al
jmp 0x1000c014
mov dword [ebp - 0x438], 0x428
lea edx, [ebp - 0x438]
push edx
mov eax, dword [ebp - 8]
push eax
call sub.KERNEL32.dll_Module32FirstW
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x1000c004
movzx ecx, byte [ebp - 0x43d]
test ecx, ecx
jne 0x1000c004
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x418]
push ecx
call fcn.1001b0c4
add esp, 0xc
test eax, eax
jne 0x1000bfec
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x438]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.1001c7e0
add esp, 0xc
mov byte [ebp - 0x43d], 1
lea edx, [ebp - 0x438]
push edx
mov eax, dword [ebp - 8]
push eax
call sub.KERNEL32.dll_Module32NextW
mov dword [ebp - 0x43c], eax
jmp 0x1000bf9f
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x43d]
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.10018f71
mov esp, ebp
pop ebp
ret

Function at 0x10018f71
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x1003ccc8]
jne 0x10018f7b
repz ret
jmp fcn.1001c64a
Function at 0x10027ae0
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
call fcn.1001d032
and dword [ebp - 4], 0
cmp dword [0x10040bec], 0
mov ebx, eax
jne 0x10027b91
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x10027c42
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxA
push edi
call esi
test eax, eax
je 0x10027c42
push eax
call fcn.1001cfc0
mov dword [esp], 0x10033538
push edi
mov dword [0x10040bec], eax
call esi
push eax
call fcn.1001cfc0
mov dword [esp], 0x10033524
push edi
mov dword [0x10040bf0], eax
call esi
push eax
call fcn.1001cfc0
mov dword [esp], str.GetUserObjectInformationA
push edi
mov dword [0x10040bf4], eax
call esi
push eax
call fcn.1001cfc0
pop ecx
mov dword [0x10040bfc], eax
test eax, eax
je 0x10027b91
push str.GetProcessWindowStation
push edi
call esi
push eax
call fcn.1001cfc0
pop ecx
mov dword [0x10040bf8], eax
mov eax, dword [0x10040bf8]
cmp eax, ebx
je 0x10027be9
cmp dword [0x10040bfc], ebx
je 0x10027be9
push eax
call fcn.1001d03b
push dword [0x10040bfc]
mov esi, eax
call fcn.1001d03b
pop ecx
pop ecx
mov edi, eax
test esi, esi
je 0x10027be9
test edi, edi
je 0x10027be9
call esi
test eax, eax
je 0x10027be0
lea ecx, [ebp - 8]
push ecx
push 0xc
lea ecx, [ebp - 0x14]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x10027be0
test byte [ebp - 0xc], 1
jne 0x10027be9
or dword [ebp + 0x10], 0x200000
jmp 0x10027c22
mov eax, dword [0x10040bf0]
cmp eax, ebx
je 0x10027c22
push eax
call fcn.1001d03b
pop ecx
test eax, eax
je 0x10027c22
call eax
mov dword [ebp - 4], eax
test eax, eax
je 0x10027c22
mov eax, dword [0x10040bf4]
cmp eax, ebx
je 0x10027c22
push eax
call fcn.1001d03b
pop ecx
test eax, eax
je 0x10027c22
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x10040bec]
call fcn.1001d03b
pop ecx
test eax, eax
je 0x10027c42
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x10027c44
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret

Function at 0x401a09
Capabilities:
Hide graphical window

Disassembly:
mov ecx, 0xfffffffe
jmp fcn.00401641
Function at 0x433003
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
mov eax, section..rdata
nop
nop
push 4
nop
nop
nop
nop
nop
nop
nop
pop edi
nop
nop
nop
nop
cmp eax, 0
nop
nop
je 0x433072
nop
nop
mov ebx, 0x40de38
nop
nop
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
sub ecx, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
push eax
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
div edi
nop
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
pop eax
nop
nop
nop
nop
mov esi, 0x7c724949
nop
nop
nop
nop
xor dword [eax], esi
add eax, edi
nop
nop
nop
nop
nop
nop
nop
loop 0x433060
nop
nop
mov eax, section..data
nop
nop
cmp eax, 0
nop
nop
nop
je 0x4330d2
nop
nop
mov ebx, 0x4304d8
nop
nop
nop
nop
mov ecx, ebx
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
nop
xor edx, edx
push eax
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
div edi
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
pop eax
nop
nop
mov esi, 0x6e35750a
nop
nop
xor dword [eax], esi
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
loop 0x4330c0
nop
nop
nop
nop
nop
popal
jmp 0x431219
Function at 0x432000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
push 4
nop
nop
nop
nop
nop
nop
pop edi
nop
cmp eax, 0
nop
nop
nop
nop
nop
nop
je 0x432072
nop
mov ebx, 0x40c7d0
nop
nop
nop
nop
nop
mov ecx, ebx
nop
nop
nop
sub ecx, eax
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
push eax
nop
mov eax, ecx
nop
nop
nop
nop
div edi
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
pop eax
nop
nop
nop
nop
nop
mov esi, 0xdb57c7e
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
nop
nop
nop
add eax, edi
loop 0x432060
nop
nop
nop
nop
mov eax, section..data
nop
nop
nop
cmp eax, 0
nop
nop
nop
nop
nop
je 0x4320d2
nop
mov ebx, 0x42f314
nop
nop
nop
nop
mov ecx, ebx
nop
nop
nop
sub ecx, eax
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
push eax
nop
nop
mov eax, ecx
nop
nop
div edi
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
nop
nop
mov esi, 0x482a2bde
nop
nop
nop
nop
xor dword [eax], esi
nop
nop
nop
add eax, edi
nop
nop
nop
nop
loop 0x4320c0
nop
popal
nop
nop
nop
nop
nop
jmp 0x431219