joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4d49f0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x14
call fcn.005196a0
mov eax, dword [esp + 0x18]
push ebx
push ebp
push esi
movzx ecx, byte [eax + 0xf]
mov esi, dword [esp + 0x28]
mov ebp, ecx
and ecx, 0xf
mov dword [esp + 0x24], 0
add ecx, ecx
and ebp, 0xfffffff0
push edi
mov ebx, dword [esi + ecx*8]
mov edi, dword [esi + ecx*8 + 4]
mov edx, dword [esi + ecx*8 + 8]
mov ecx, dword [esi + ecx*8 + 0xc]
mov esi, edx
shrd edx, ecx, 4
and esi, 0xf
mov dword [esp + 0x14], ebx
or dword [esp + 0x28], edx
shl dword [esp + 0x14], 0x1c
shrd ebx, edi, 4
mov edx, dword [esi*4 + 0x5a2eb8]
mov esi, dword [esp + 0x2c]
shr ecx, 4
or dword [esp + 0x14], ecx
xor ecx, ecx
shr edi, 4
xor ecx, ebx
xor ecx, dword [esi + ebp]
xor edx, edi
xor edx, dword [esi + ebp + 4]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
xor edi, dword [esi + ebp + 8]
xor ebx, dword [esi + ebp + 0xc]
mov dword [esp + 0x18], edx
mov edx, 0xe
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edx
nop dword [eax + eax]
movzx edx, byte [edx + eax]
xor esi, esi
mov ebp, dword [esp + 0x10]
mov ecx, edx
shr ecx, 4
and edx, 0xf
mov dword [esp + 0x20], ecx
add edx, edx
mov ecx, edi
shl ebp, 0x1c
shrd edi, ebx, 4
and ecx, 0xf
mov dword [esp + 0x28], 0
shr ebx, 4
or esi, edi
or ebp, ebx
xor edi, edi
mov ebx, dword [ecx*4 + 0x5a2eb8]
mov ecx, dword [esp + 0x18]
shrd dword [esp + 0x10], ecx, 4
xor edi, dword [esp + 0x10]
shr ecx, 4
xor ebx, ecx
mov ecx, dword [esp + 0x2c]
xor ebx, dword [ecx + edx*8 + 4]
xor ebp, dword [ecx + edx*8 + 0xc]
xor edi, dword [ecx + edx*8]
xor esi, dword [ecx + edx*8 + 8]
mov edx, edi
shrd edi, ebx, 4
mov ecx, esi
shl edx, 0x1c
shrd esi, ebp, 4
and ecx, 0xf
shr ebx, 4
or dword [esp + 0x28], esi
shr ebp, 4
or edx, ebp
xor ebp, ebp
mov ecx, dword [ecx*4 + 0x5a2eb8]
xor ebp, edi
xor ecx, ebx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
mov ebx, ebp
add edx, edx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x2c]
xor ebx, dword [ebp + edx*8]
xor ecx, dword [ebp + edx*8 + 4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x28]
xor ebx, dword [ebp + edx*8 + 8]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x14]
xor ebx, dword [ebp + edx*8 + 0xc]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
sub edx, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
jns 0x4d4a90
mov edx, dword [esp + 0x18]
shr ecx, 0x18
mov byte [eax], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], dl
mov edx, dword [esp + 0x10]
mov ecx, edx
shr ecx, 0x18
mov byte [eax + 4], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 5], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 6], cl
mov ecx, ebx
shr ecx, 0x18
mov byte [eax + 8], cl
mov ecx, ebx
shr ecx, 0x10
mov byte [eax + 9], cl
mov ecx, ebx
shr ecx, 8
mov byte [eax + 0xa], cl
mov byte [eax + 7], dl
mov edx, edi
mov ecx, edx
mov byte [eax + 0xb], bl
shr ecx, 0x18
mov byte [eax + 0xc], cl
mov ecx, edx
shr ecx, 0x10
pop edi
mov byte [eax + 0xd], cl
mov ecx, edx
pop esi
shr ecx, 8
pop ebp
mov byte [eax + 0xe], cl
mov byte [eax + 0xf], dl
pop ebx
add esp, 0x14
ret
Function at 0x4d74b0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using salsa20 or chacha

Disassembly:
mov eax, 0x98
call fcn.005196a0
mov eax, dword [0x5c6a7c]
xor eax, esp
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0xa8]
push edi
mov edi, dword [esp + 0xa0]
mov dword [esp + 4], edi
mov eax, dword [ecx]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x74], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x7c], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x80], eax
mov eax, dword [ecx + 0x1c]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x84], eax
mov dword [esp + 0x58], 0x61707865
mov dword [esp + 0x5c], 0x3320646e
mov eax, dword [ecx]
mov dword [esp + 0x88], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x8c], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x90], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x60], 0x79622d32
mov dword [esp + 0x64], 0x6b206574
test eax, eax
je 0x4d76ad
push ebx
mov ebx, dword [esp + 0xa8]
push ebp
push esi
nop
mov esi, 0x40
cmp eax, esi
cmovb esi, eax
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x24], esi
push eax
call fcn.004d76d0
add esp, 8
xor eax, eax
test esi, esi
je 0x4d767c
cmp esi, 0x20
jb 0x4d7654
lea edx, [edi - 1]
lea ecx, [esp + esi + 0x23]
add edx, esi
cmp edi, ecx
ja 0x4d75cc
lea ecx, [esp + 0x24]
cmp edx, ecx
jae 0x4d7654
lea ecx, [ebx - 1]
add ecx, esi
cmp edi, ecx
ja 0x4d75d9
cmp edx, ebx
jae 0x4d7654
mov ebp, esi
lea edx, [edi + 0x10]
lea esi, [esp + 0x24]
mov ecx, ebx
sub ecx, esi
and ebp, 0xffffffe0
mov dword [esp + 0x14], ecx
mov ecx, edi
sub ecx, esi
mov dword [esp + 0x18], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x14]
sub ecx, edi
mov esi, dword [esp + 0x18]
mov edi, ecx
mov dword [esp + 0x1c], ecx
nop word [eax + eax]
movups xmm0, xmmword [esp + eax + 0x24]
lea ecx, [ebx + eax]
movups xmm1, xmmword [esp + ecx + 0x24]
lea ecx, [esi + eax]
lea edx, [edx + 0x20]
pxor xmm1, xmm0
movups xmm0, xmmword [esp + eax + 0x34]
add eax, 0x20
movups xmmword [esp + ecx + 0x24], xmm1
movups xmm1, xmmword [edi + edx - 0x20]
pxor xmm1, xmm0
movups xmmword [edx - 0x20], xmm1
cmp eax, ebp
jb 0x4d7610
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xb0]
cmp eax, esi
jae 0x4d767c
lea ecx, [esp + 0x24]
mov ebp, edi
sub ebx, ecx
sub ebp, ecx
lea edx, [esp + 0x24]
add edx, eax
inc eax
mov cl, byte [ebx + edx]
xor cl, byte [edx]
mov byte [edx + ebp], cl
cmp eax, esi
jb 0x4d7662
mov ebx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
add edi, esi
inc dword [esp + 0x94]
sub eax, esi
add ebx, esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], eax
test eax, eax
jne 0x4d7580
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x98]
pop edi
xor ecx, esp
call fcn.00518e98
add esp, 0x98
ret
Function at 0x4da7b0
Capabilities:
Encode data using xor

Disassembly:
cmp dword [esp + 0x18], 0
je 0x4da7c4
mov dword [esp + 0x18], fcn.004d8f90
jmp fcn.004d2c50
mov dword [esp + 0x18], fcn.004d8230
jmp fcn.004d2990
Function at 0x514320
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xa8
call fcn.005196a0
mov eax, dword [0x5c6a7c]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xac]
push ebx
mov ebx, dword [esp + 0xb8]
push ebp
push esi
mov esi, dword [esp + 0xbc]
xor ebp, ebp
mov dword [esp + 0x2c], eax
push edi
mov eax, dword [esi + 8]
mov dword [esp + 0x10], eax
sub eax, ebx
mov dword [esp + 0x24], eax
cmp dword [esi + 0xc], ebx
jae 0x514380
push 0x4d4
push 0x5adc34
push str.assertion_failed:_rec__orig_len___md_size
call fcn.00465240
add esp, 0xc
cmp ebx, 0x40
jbe 0x51439c
push 0x4d5
push 0x5adc34
push str.assertion_failed:_md_size___EVP_MAX_MD_SIZE
call fcn.00465240
add esp, 0xc
mov ecx, dword [esi + 0xc]
lea eax, [esp + 0x34]
neg eax
mov dword [esp + 0x20], ecx
and eax, 0x3f
lea edi, [esp + 0x34]
add edi, eax
lea eax, [ebx + 0x100]
mov dword [esp + 0x2c], edi
cmp ecx, eax
jbe 0x5143ca
mov ebp, ecx
sub ebp, ebx
sub ebp, 0x100
push ebx
xor esi, esi
mov dword [esp + 0x18], 0
push esi
push edi
call fcn.0051c8c0
add esp, 0xc
mov dword [esp + 0x18], esi
cmp ebp, dword [esp + 0x20]
jae 0x51447d
mov eax, dword [esp + 0xc0]
mov ecx, ebp
sub ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
mov eax, ebp
mov edx, ecx
xor eax, dword [esp + 0x24]
xor edx, dword [esp + 0x10]
lea edi, [eax - 1]
not eax
shr eax, 0x1f
shr edi, 0x1f
and edi, eax
mov eax, ebp
xor eax, dword [esp + 0x10]
neg edi
or edx, eax
mov eax, dword [esp + 0x28]
xor edx, ebp
shr edx, 0x1f
neg edx
mov cl, byte [eax + ebp]
mov eax, edi
or eax, dword [esp + 0x14]
inc ebp
and eax, edx
mov edx, dword [esp + 0x18]
and edi, edx
mov dword [esp + 0x14], eax
and al, cl
or esi, edi
mov edi, dword [esp + 0x2c]
or byte [edx + edi], al
inc edx
mov ecx, edx
mov eax, edx
sub ecx, ebx
xor eax, ebx
xor ecx, ebx
or ecx, eax
xor ecx, edx
shr ecx, 0x1f
neg ecx
and edx, ecx
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
cmp ebp, dword [esp + 0x20]
jb 0x514405
xor edx, edx
test ebx, ebx
je 0x5144b1
mov ebp, dword [esp + 0x30]
mov eax, esi
xor eax, 0x20
mov al, byte [eax + edi]
movzx eax, byte [esi + edi]
inc esi
mov byte [edx + ebp], al
mov ecx, esi
sub ecx, ebx
mov eax, esi
xor ecx, ebx
xor eax, ebx
or ecx, eax
inc edx
xor ecx, esi
shr ecx, 0x1f
neg ecx
and esi, ecx
cmp edx, ebx
jb 0x514487
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00518e98
add esp, 0xa8
ret
Function at 0x514ff0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xc
call fcn.005196a0
push ebx
mov ebx, dword [esp + 0x14]
push esi
mov esi, dword [esp + 0x1c]
push edi
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0x28]
inc edi
mov eax, dword [eax + 0x64]
test byte [eax + 0x34], 1
je 0x51503d
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + 8]
lea eax, [edi + ecx]
cmp eax, edx
jbe 0x51502d
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc
ret
add dword [esi + 0x14], ecx
sub edx, ecx
add dword [esi + 0x18], ecx
sub dword [esi + 0xc], ecx
mov dword [esi + 8], edx
jmp 0x515042
cmp edi, dword [esi + 8]
ja 0x515024
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 8]
push ebp
push dword [ebx + 0xb0]
mov al, byte [ecx + eax - 1]
movzx ebp, al
mov byte [esp + 0x30], al
mov dword [esp + 0x24], ebp
call fcn.00452070
push eax
call fcn.0044e5a0
add esp, 8
test eax, 0x200000
je 0x515088
or eax, 0xffffffff
sub eax, ebp
add dword [esi + 8], eax
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xc
ret
mov edx, dword [esi + 8]
lea ecx, [edi + ebp]
mov ebx, edx
mov dword [esp + 0x10], edx
sub ebx, ecx
mov eax, edx
xor ebx, ecx
xor eax, ecx
or ebx, eax
mov eax, 0x100
xor ebx, edx
shr ebx, 0x1f
dec ebx
cmp edx, eax
cmovb eax, edx
xor edi, edi
mov dword [esp + 0x14], eax
test eax, eax
je 0x515114
mov eax, dword [esi + 0x14]
mov esi, dword [esp + 0x20]
mov edx, esi
mov ebp, dword [esp + 0x10]
shr edx, 0x1f
dec ebp
mov dword [esp + 0x18], edx
add ebp, eax
nop
mov ecx, esi
lea ebp, [ebp - 1]
sub ecx, edi
mov eax, edi
shr ecx, 0x1f
inc edi
shr eax, 0x1f
xor cl, al
xor al, dl
or cl, al
movzx eax, byte [esp + 0x2c]
xor cl, dl
dec cl
movzx edx, cl
movzx ecx, byte [ebp + 1]
xor ecx, eax
and edx, ecx
not edx
and ebx, edx
mov edx, dword [esp + 0x18]
cmp edi, dword [esp + 0x14]
jb 0x5150d0
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
not ebx
movzx eax, bl
lea ecx, [eax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
lea eax, [ebp + 1]
neg ecx
and eax, ecx
sub edx, eax
mov eax, ecx
pop ebp
pop edi
mov dword [esi + 8], edx
and eax, 1
not ecx
pop esi
or eax, ecx
pop ebx
add esp, 0xc
ret
Function at 0x533fad
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.00533e23

Function at 0x53ec33
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop ebp
ret

Function at 0x5535b0
Capabilities:
Send data
Send data on socket

Disassembly:
push esi
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x20]
cmp dword [eax], 5
je 0x5535cb
push eax
push esi
call fcn.00553bf0
add esp, 8
test eax, eax
jle 0x553613
push edi
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push 0
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esi + 0x1c]
call dword [sym.imp.WS2_32.dll_send]
push 0xf
push esi
mov edi, eax
call fcn.0044e350
add esp, 8
test edi, edi
jg 0x553610
push edi
call fcn.004966a0
add esp, 4
test eax, eax
je 0x553610
push 0xa
push esi
call fcn.0044eab0
add esp, 8
mov eax, edi
pop edi
pop esi
ret

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

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
mov ebx, 0x40de38
mov ecx, 0x622c18d1
nop
nop
nop
test eax, eax
nop
nop
nop
nop
je 0x43304e
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x433024
nop
nop
mov eax, section..data
mov ebx, 0x4304d8
nop
nop
mov ecx, 0x2abb721b
nop
test eax, eax
nop
nop
nop
je 0x433084
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
add eax, 4
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x43306c
nop
nop
popal
nop
nop
nop
jmp 0x431219
Function at 0x40da6f
Capabilities:
Encode data using xor

Disassembly:
nop
and byte [esi], bl
cli
cli
insd dword es:[edi], dx
invalid
fistp qword [ebp + 0x3e]
jno 0x40daec
push ecx
sar byte [edx + edx], 1
xchg esp, eax
cld
pop ss
sbb byte [ebp + ecx*8 + 0x15411c67], dl
cmp eax, 0x7de4e6ba
pop ebp
or eax, 0x3dcb3ead
scasb al, byte es:[edi]
jl 0x40da96
loopne 0x40daa4
bound esp, qword [ecx + 0x42]
add dh, byte [eax]
ja 0x40da55
xor byte [edi - 0x44], dh
sbb byte [ecx], bh
invalid
dec edx
pushfd
push esi
clc
pop ebp
test dword [ebp + 6], edi
sbb eax, 0x3490ee04
cmpsb byte [esi], byte es:[edi]
mov ebp, 0x70cf5c1e
xor dword [ebp - 0x7c], edx
arpl bx, dx
jo 0x40dae9
push ebp
test byte [ebx - 0x2d], ah
xor al, 0x1f
mov edi, 0x7b3ebdca
sub byte [esi - 0xe], bh
aas
aas
clc
test dword [esi], edi
push ebx
mov al, 0x3e
lock and eax, dword [eax - 0x4b]
mov dword [0x9d43d11b], eax
mov esi, dword [eax + 0x52a1f761]
div dword [ebx]
jl 0x40dab6
mul dword [ecx + 0x7c33f752]
salc
pop ebp
mov dh, 0xbd
jnp 0x40dac5
pop esp
jge 0x40da78
xchg ecx, eax
sbb eax, 0x278b90bd
mov esp, dword [edi]
mov ebx, 0x9ba54330
fldenv [eax - 0x2f]
sbb ecx, dword [eax + 0x64]
cmc
insd dword es:[edi], dx
fcomp dword [ebp + 0x26]
arpl word [ebp + 0x71], di
pop ss
adc al, dh
jl 0x40db72
out 0x90, al
js 0x40db20
jne 0x40dad9
cmp dh, byte [edi + 0x11beffbc]
xor eax, 0x7c4b8114
jb 0x40db26
sal byte [ebp], 1
dec edi
test dword [ebp + 0x45], ecx
dec ebp
call 0xe87feb67
movsd dword es:[edi], dword [esi]
cmpsb byte [esi], byte es:[edi]
sti
js 0x40dba7
push eax
popal
invalid
adc eax, edx
movsd dword es:[edi], dword [esi]
cdq
dec eax
jnp 0x40db7b
sbb al, dh
mov byte [0x59ad5c58], bh
pop ecx
sal dword [edx], 1
shr dword [0x2465c21c], 0x89
shr byte [ebx + 0x1b], 1
xchg esp, eax
push esp
mov al, 0x6f
push ecx
inc esi
push ebp
invalid
je 0x40db72
test al, 0x83
cld
scasb al, byte es:[edi]
inc edi
and byte [edi - 0x80], al
jmp 0xe017be5
sub cl, 0x64
mov al, byte [0x71e30dc0]
ret 0x4a1d
out dx, eax
into
mov ecx, 0xc58ee455
leave
pop ss
call dword [edx + 0x453d76aa]
jl 0x40db4c
sbb ah, byte [ebx - 0x59a65330]
mov al, byte [0x59215bbe]
mov ah, byte [edi + ebp*4 + 0x4363c255]
sub eax, 0x1ee50d97
cmpsd dword [esi], dword es:[edi]
loope 0x40db5a
cmpsd dword [esi], dword es:[edi]
push esp
sbb dword [edi + ebx*2 - 0x75ffb16], edx
das
sub dl, byte [ebx + 0x20]
push ds
into
push cs
adc al, dl
add al, 0xba
fst dword [ebx - 0x63]
daa
cwde
ret
Function at 0x421dac
Capabilities:
Encode data using xor

Disassembly:
sbb esp, dword [edi + 0x64b6778]
fdivr st(0), st(0)
dec eax
sar esp, 1
mov al, 0xec
rcl bh, 1
xor dh, ch
sub eax, 0xc020f43c
jnp 0x421d46
invalid
xchg edx, eax
push esi
dec esi
outsd dx, dword [esi]
out 0x69, al
xchg edx, eax
cdq
jb 0x421ddc
movsb byte es:[edi], byte [esi]
inc edx
dec edx
lodsb al, byte [esi]
aas
mov byte [0x22df2979], al
sbb dl, cl
mov edi, 0x8c4ac4c0
adc dword [edx - 0x52], ebp
pushal
sal dword [ebx - 0x56fa8fc4], 1
invalid
in al, dx
push 0x4fc54875
sub byte [edi - 0x27], al
dec esi
xor bh, byte [ebx]
push esi
enter 0x3114, 0xffffffffffffffe3
loopne 0x421d3f
mov ch, 0xf8
dec eax
sar edx, 0xd0
or esi, dword [ebx - 0x47]
mov bl, 0x75
ret 0x78cc
salc
nop
sub byte [ebx - 0x34], al
or dword [eax + 0x6054e967], esp
wait
pop es
sbb al, 0xa3
mov ah, byte [ebx]
lodsd eax, dword [esi]
jo 0x421ddb
shr dword [edx + 0x3a460c33], 1
lcall 0x4598, 0x278a43f5
and dword [esi], esp
sub byte [eax - 0x5a72e802], al
out 0xde, eax
xchg edx, eax
hlt

Function at 0x42b555
Capabilities:
Encode data using xor

Disassembly:
sub edi, ebp
jae 0x42b4fc
xchg edi, eax
mov al, byte [0xfc186dfc]
sbb ah, bh
mov dh, byte [ebp - 0x64]
mov dh, 0xbf
adc dword [ebp + 0x11c9e371], esi
aad 0x5d
js 0x42b524
loopne 0x42b511
xchg ebx, eax
push 0x77
pop esi
popal
unpcklps xmm7, xmmword [ebx + 0x70]
sub byte [esi + 0x645caf8d], bl
add dword [eax + 0xc], 0xfffffff6
fnsave dword [ebx]
mov dword [0xcc535d67], eax
mov esi, 0xc2e5dd09
neg byte [ebp + 0x698ae6b3]
shl dword [ebp - 0x53], 1
popal
fucompi st(0)
jb 0x42b552
test dword [ebp + ebx - 0x21d38e6e], ebx
invalid
Function at 0x43ba6f
Capabilities:
Encode data using xor

Disassembly:
dec edx
ror dword [eax], cl
sub byte [ebx - 0x16], 0x67
int3
sub ecx, ebp
inc edx
mov dword [0x5dd5ec27], eax
int1
pop fs
and esi, 0x5a
nop
dec edi
xor ebp, eax
push ebp
scasb al, byte es:[edi]
loope 0x43b963
rcl dword [esp + ebp*8 + 0x5ef354b0], cl
xchg esp, eax
in al, dx
mov al, 0x54
pop esi
xchg esp, eax
push edx
les ecx, [esi + 0x24]
lahf
add al, 0x9e
jne 0x43b98f
mov cl, 0x1a
mov al, 0x31
mov ch, 0x3e
retf 0x306f
scasd eax, dword es:[edi]
pop edx
jno 0x43b97a
outsd dx, dword [esi]
dec esi
xor al, 0x2f
invalid
and ebx, 0xde0d3e91
je 0x43b9db
pushfd
sub al, cl
scasb al, byte es:[edi]
pop ecx
push ebx
cmp byte [ecx + 0x25], dh
pop ds
jbe 0x43ba77
test byte [edx - 0x66], bh
invalid
and eax, 0x30e93b0
out dx, al
add ebp, esi
jmp 0x43ba24
sbb eax, 0x59c95b7b
inc esp
lds edi, [ebx + esi*2 + 0x67ceca2f]
mov esp, 0xceca2f73
mov cl, byte [si + 0x1450]
jmp 0x84dfaee5
dec ecx
popfd
sti
mov ebx, 0x4a8b4b6c
cli
sahf
cld
sbb eax, 0x8d60fa7c
sahf
and bl, dl
xor eax, 0xd73df6a9
sbb al, 0xf7
jg 0x43ba73
sub dh, byte [edi - 1]
std
xor eax, 0xf531ecbe
fidiv word [eax - 0xf014a81]
push edi
call 0xfbe2bb6d
pop ecx
lahf
arpl ax, bp
pop edi
push es
inc edx
xchg dword [edi], esi
push ebp
movsd dword es:[edi], dword [esi]
fbstp tbyte [ecx - 0x62]
add dword [esi], ecx
push 0xffffffffffffff8e
ror byte [esi], 0xcf
adc al, cl
sub byte [edx - 0x1b01cbf2], cl
in al, dx
rol byte [ebx], 1
in al, 0x5e
xlatb
loopne 0x43bb33
adc eax, 0x8b199328
mov ecx, 0x47c48e74
adc dword [edi], 0x1fabeefb
stosb byte es:[edi], al
wait
cmc
mov word [esi + ecx*2 - 0x20a4dc7f], cs
js 0x43bb4f
mov dh, 0x7a
aad 0x47
jmp 0x89c63f96
xchg esp, eax
popal
lea edi, [edi]
xchg ebx, eax
push dword [ebx]
invalid
std
xchg edx, eax
xchg dword [edx + esi*4 + 0x7b], ecx
retf

Function at 0x498072
Capabilities:
Encode data using xor

Disassembly:
aad 0xd5
pop ecx
mov dword [ebx + 0x26e879f8], ecx
xchg edx, eax
cmp bl, bl
movsb byte es:[edi], byte [esi]
and al, 0x38
adc al, 0x51
xchg ebp, eax
mov byte [ebx + 0x69], dl
mov ecx, 0xdbf9e345
sub byte [ecx], bh
je 0x498032
sbb al, 0xfa
cli
push esi
xor eax, 0x35b319ae
out 0x64, eax
mov edx, 0xfbba1628
out dx, eax
cmp byte [ebx + ecx*8], al
xchg esp, eax
push esi
jg 0x498015
cmp eax, 0xf97f6cb5
div edi
mov ebx, 0xbcbef0a
idiv dword [ebx + 0xbcbef0a]
retf
inc edi
inc edx
jae 0x497ff6
sbb ecx, eax
retf
or ecx, dword [ebp*4 + 0x4787c945]
inc esp
adc al, 0x69
aaa
mov dl, ch
dec eax
lodsb al, byte [esi]
jle 0x49804e
sbb al, 0x50
push esi
xchg ebx, eax
adc cl, byte [ebx + 0x43]
xchg ecx, eax
fmul dword [ebp - 0x3573cc7d]
ljmp 0x5baf
Function at 0x629cf5
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov edx, dword [ebp + 8]
xor ecx, ecx
mov eax, 0x6323e0
cmp edx, dword [eax]
je 0x629d17
add eax, 8
inc ecx
cmp eax, 0x632470
jl 0x629d08
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword [esi + 0x6323e0]
jne 0x629e45
mov eax, dword [0x63bd88]
cmp eax, 1
je 0x629e1f
test eax, eax
jne 0x629d48
cmp dword [0x632308], 1
je 0x629e1f
cmp edx, 0xfc
je 0x629e45
lea eax, [ebp - 0x1a4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x629d7f
lea eax, [ebp - 0x1a4]
push str._program_name_unknown_
push eax
call fcn.0062a6e0
pop ecx
pop ecx
lea eax, [ebp - 0x1a4]
push edi
push eax
lea edi, [ebp - 0x1a4]
call fcn.0062ab70
inc eax
pop ecx
cmp eax, 0x3c
jbe 0x629dc2
lea eax, [ebp - 0x1a4]
push eax
call fcn.0062ab70
mov edi, eax
lea eax, [ebp - 0x1a4]
sub eax, 0x3b
push 3
add edi, eax
push 0x62ea4c
push edi
call fcn.0062ca40
add esp, 0x10
lea eax, [ebp - 0xa0]
push str.Runtime_Error__n_nProgram:
push eax
call fcn.0062a6e0
lea eax, [ebp - 0xa0]
push edi
push eax
call fcn.0062a6f0
lea eax, [ebp - 0xa0]
push 0x62ea2c
push eax
call fcn.0062a6f0
push dword [esi + 0x6323e4]
lea eax, [ebp - 0xa0]
push eax
call fcn.0062a6f0
push 0x12010
lea eax, [ebp - 0xa0]
push str.Microsoft_Visual_C_Runtime_Library
push eax
call fcn.0062c9b4
add esp, 0x2c
pop edi
jmp 0x629e45
lea eax, [ebp + 8]
lea esi, [esi + 0x6323e4]
push 0
push eax
push dword [esi]
call fcn.0062ab70
pop ecx
push eax
push dword [esi]
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop esi
leave
ret
Function at 0x4099a4
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 0x409a77
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x409a90
push ebx
push 0x409a9c
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 0x409a24
mov al, 0x69
call fcn.00409648
mov eax, dword [ebp - 0x54]
push eax
call sub.kernel32.dll_CloseHandle_1
call fcn.00409978
push 0xff
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x58]
push eax
push 1
call sub.user32.dll_MsgWaitForMultipleObjects
dec eax
je 0x409a2d
call fcn.00409978
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 0x409a7e
lea eax, [ebp - 4]
call fcn.00403198
ret

Function at 0x409b30
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 0x409be4
jmp 0x409bd9
cmp dword [esi + 0x10], 0x1000
jne 0x409bc5
test byte [esi + 0x15], 1
jne 0x409bc5
xor ebx, ebx
mov eax, dword [esi + 0x14]
cmp eax, 1
je 0x409b84
cmp eax, 2
je 0x409b84
cmp eax, 0x10
je 0x409b84
cmp eax, 0x20
jne 0x409b99
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 0x409b99
mov bl, 1
xor ebp, ebp
jmp 0x409baa
mov eax, dword [esi]
add eax, ebp
call fcn.00409b28
add ebp, dword [esp + 8]
cmp ebp, dword [esi + 0xc]
jb 0x409b9d
test bl, bl
je 0x409bc5
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 0x409be4
mov eax, dword [esi + 4]
cmp eax, edi
je 0x409b5c
add esp, 0x44
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x433006
Capabilities:
Encode data using xor

Disassembly:
call 0x43300c
nop
nop
nop
pop eax
nop
nop
nop
add eax, 0x40a063
sub eax, 0x40a009
nop
nop
nop
mov ebx, dword [eax]
nop
nop
nop
mov ecx, dword [eax + 4]
nop
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
nop
add eax, 0xc
cmp dword [eax], 0
nop
nop
nop
nop
nop
jne 0x43301e
nop
nop
nop
nop
nop
popal
nop
nop
jmp 0x431219