joyce8/EMBER2024-capa huggingface dataset:
Function at 0x499ca0
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x61000]
push edi
jmp 0x499cba
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x499cc1
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x499cb0
mov eax, 1
add ebx, ebx
jne 0x499cd3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x499ce4
jne 0x499d03
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x499d03
dec eax
add ebx, ebx
jne 0x499cf0
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x499cc8
add ebx, ebx
jne 0x499cff
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x499d55
xor ecx, ecx
sub eax, 3
jb 0x499d1b
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x499d8a
sar eax, 1
mov ebp, eax
jmp 0x499d26
add ebx, ebx
jne 0x499d26
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x499cf4
inc ecx
add ebx, ebx
jne 0x499d34
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x499cf4
add ebx, ebx
jne 0x499d41
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x499d36
jne 0x499d52
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x499d36
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x499d74
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x499d66
jmp 0x499cb6
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x499d74
add edi, ecx
jmp 0x499cb6
pop esi
mov edi, esi
mov ecx, 0x2cc0
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x499d92
cmp byte [edi], 0x1a
jne 0x499d92
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 al, bl
loop 0x499d97
lea edi, [esi + 0x96000]
mov eax, dword [edi]
or eax, eax
je 0x499e0f
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0xa0144]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0xa025c]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x499dc4
mov ecx, edi
jns 0x499df3
movzx eax, word [edi]
inc edi
push eax
inc edi
mov ecx, 0xaef24857
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0xa0260]
or eax, eax
je 0x499e09
mov dword [ebx], eax
add ebx, 4
jmp 0x499de1
call dword [esi + 0xa0270]
mov ebp, dword [esi + 0xa0264]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x21f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x499e43
sub esp, 0xffffff80
jmp 0x454d3d
Function at 0x433000
Capabilities:
Encode data using xor
Packed with generic packer

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

Disassembly:
mov eax, dword fs:[0x30]
push bx
inc esp
inc esp
inc esi
dec esi
push bx
inc esp
inc esp
push es
pop ds
pushf
popf
add al, 0
add al, 4
sub al, 4
push eax
pop eax
push bx
inc esp
inc esp
add al, 0
pushf
popf
and al, 0xff
pushf
popf
add al, 0
xor eax, ecx
xor eax, ecx
add al, 0
lea esp, [esp]
call 0x7ffe5448
pop edx
push es
pop ds
push eax
pop eax
xor dx, dx
push eax
pop eax
push eax
pop eax
cld
add edx, 0xd5e0
xor ecx, ecx
cld
mov cl, 0x1e
cld
xor byte [ecx + edx], 0x87
loop 0x7ffe5461
not eax
not eax
and al, 0xff
push dword fs:[0x24]
pop dword [edx + 0xa]
inc esi
dec esi
mov cl, 0xff
add al, 0
inc esi
dec esi
stc
push edx
loop 0x7ffe5480
cld
inc esi
dec esi
mov dword [edx + 0x11], 0xffffacbb
and al, 0xff
mov ecx, dword [eax + 0x2c]
mov dword [edx + 0x1b], ecx
push es
pop ds
push bx
inc esp
inc esp
mov dword [edx + 0x100], ecx
and al, 0xff
mov dword [eax + 0x2c], esp
pushal
inc eax
popal
push 0
and al, 0xff
stc
push eax
pop eax
push 0
push eax
pop eax
push 0
inc esi
dec esi
add al, 4
sub al, 4
push 0
and al, 0xff
xor eax, ecx
xor eax, ecx
push 0x30
and al, 0xff
push 0x20
pushf
popf
add al, 0
push 0
lea esp, [esp]
push 0
push es
pop ds
cld
add edx, 0xffff7f35
stc
push edx
push edx
push bx
inc esp
inc esp
add al, 0
push 0
add al, 4
sub al, 4
inc esi
dec esi
call dword [edx + 0x820e]
pushf
popf
push es
pop ds
add esp, 0x3f8
and al, 0xff
stc
xor eax, eax
nop
inc eax
add al, 0
push es
pop ds
clc
ret 0xc

Function at 0x7ffe9c50
Capabilities:
Encode data using xor

Disassembly:
xor ch, byte [eax]
das
push ss
xor al, 0x42
xor dword [ecx], ebx
push ss
and al, 0x34
xor dword [0xd113312], ebx
add ecx, dword [esi]
xor ecx, dword [ebx]
or edx, dword [edi]
sbb al, 0x33
push ds
sub eax, 0x6373618
sub dh, byte [ecx]
or byte [edi + edi], dh
mov edx, cs
sub eax, eax
add edx, dword [ecx - 0x3bfef1e6]
push ebx
sbb ebx, esp
pop ds
mov ecx, 0x285e6978
and eax, 0xbfa5b331
xor byte [eax + eax], ah
mov ebx, 0x3a1f368d
push edx
jnp 0x7ffe9c2c
test eax, 0xa2232bd
sbb al, 0x1c
and esi, edi
and al, 0x90
xchg ebp, eax
xchg esi, eax
loopne 0x7ffe9c86
sbb byte [ecx], bl
movsd dword es:[edi], dword [esi]
jb 0x7ffe9ceb
push fs
nop
sbb al, 0x26
mov eax, ebp
aad 0xfe
push edi
xor dl, byte [ebx + ebp*4 - 0x1479ed7a]
sub byte [0x57fbf0a], bh
xor ch, dh
sub byte [esi - 0x7be5db69], al
cld
xor ch, byte [eax - 0x6d]
in eax, 0x9d
add ebp, ecx
pmaxsw mm0, qword [esi + eax*4]
mov dword [0x22f15fe5], eax
inc esp
leave
movsd dword es:[edi], dword [esi]
sbb al, 0
push ds
or eax, 0x884aea34
nop
inc ecx
inc eax
invalid
wait
jno 0x7ffe9cec
sahf
mov dl, 0x33
inc ebx
loope 0x7ffe9d30
xchg ecx, eax
invalid
xor dh, byte [edx + ebx]
int 0xb
sub al, 0xd0
add byte [ebp + 0x380f122c], bl
lahf
sub ecx, dword [esi + 0x943658]
inc ebx
cmp al, 0xda
push es
xchg esp, eax
add eax, 0x26110a95
push 0xdb5ffdbd
xor al, 0x14
in al, 0xd6
shl bl, cl
sti
add bl, ch
jmp 0x7ffe9d5d
invalid
Function at 0x4b33e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x24
mov eax, dword [ecx + 4]
push ebx
push esi
mov dword [esp + 0x14], edx
lea esi, [ecx + 4]
mov edx, dword [ecx]
add esi, 4
xor eax, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
push edi
movd xmm0, edx
mov edi, eax
pshufd xmm0, xmm0, 0
movdqa xmmword [esp + 0x20], xmm0
test al, 3
je 0x4b3420
and edi, 0xfffffffc
add edi, 4
mov eax, dword [0x4be3d8]
test eax, eax
jne 0x4b3444
mov ecx, 0xb7762a69
call fcn.004b3f00
mov edx, 0x2788995d
mov ecx, eax
call fcn.004b3e60
mov dword [0x4be3d8], eax
call eax
mov ebx, eax
mov eax, dword [0x4be664]
test eax, eax
jne 0x4b346c
mov ecx, 0xb7762a69
call fcn.004b3f00
mov edx, 0xc7d427f1
mov ecx, eax
call fcn.004b3e60
mov dword [0x4be664], eax
push edi
push 8
push ebx
call eax
mov dword [esp + 0xc], eax
test eax, eax
je 0x4b3522
shr edi, 2
xor edx, edx
lea ecx, [esi + edi*4]
mov edi, eax
mov ebx, ecx
sub ebx, esi
add ebx, 3
shr ebx, 2
cmp esi, ecx
mov ecx, eax
cmova ebx, edx
test ebx, ebx
je 0x4b3512
cmp ebx, 8
jb 0x4b34f7
lea eax, [esi - 4]
lea eax, [eax + ebx*4]
cmp ecx, eax
ja 0x4b34b6
lea eax, [ecx - 4]
lea eax, [eax + ebx*4]
cmp eax, esi
jae 0x4b34f7
movdqa xmm1, xmmword [esp + 0x20]
mov eax, ebx
and eax, 7
mov dword [esp + 0xc], ebx
sub dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
lea ecx, [ecx]
movdqu xmm0, xmmword [esi]
add edx, 8
pxor xmm0, xmm1
movdqu xmmword [edi], xmm0
movdqu xmm0, xmmword [esi + 0x10]
add esi, 0x20
pxor xmm0, xmm1
movdqu xmmword [edi + 0x10], xmm0
add edi, 0x20
cmp edx, eax
jb 0x4b34d0
cmp edx, ebx
jae 0x4b3512
sub edi, esi
lea ecx, [ecx]
mov eax, dword [esi]
lea esi, [esi + 4]
xor eax, dword [esp + 0x14]
inc edx
mov dword [edi + esi - 4], eax
cmp edx, ebx
jb 0x4b3500
mov edx, dword [esp + 0x18]
test edx, edx
je 0x4b3520
mov eax, dword [esp + 0x1c]
mov dword [edx], eax
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4b3590
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0xc
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
xor eax, edx
push ebx
push esi
lea esi, [ecx + 4]
mov dword [esp + 8], edx
lea ebx, [eax + 1]
mov dword [esp + 0x10], eax
add esi, 4
push edi
test bl, 3
je 0x4b35b9
and ebx, 0xfffffffc
add ebx, 4
mov eax, dword [0x4be3d8]
test eax, eax
jne 0x4b35dd
mov ecx, 0xb7762a69
call fcn.004b3f00
mov edx, 0x2788995d
mov ecx, eax
call fcn.004b3e60
mov dword [0x4be3d8], eax
call eax
mov edi, eax
mov eax, dword [0x4be664]
test eax, eax
jne 0x4b3605
mov ecx, 0xb7762a69
call fcn.004b3f00
mov edx, 0xc7d427f1
mov ecx, eax
call fcn.004b3e60
mov dword [0x4be664], eax
lea ecx, [ebx + ebx]
push ecx
push 8
push edi
call eax
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x4b3685
shr ebx, 2
xor eax, eax
push ebp
xor ebp, ebp
mov edx, edi
lea ecx, [esi + ebx*4]
mov ebx, ecx
sub ebx, esi
add ebx, 3
shr ebx, 2
cmp esi, ecx
cmova ebx, eax
test ebx, ebx
je 0x4b367a
mov edi, dword [esp + 0x10]
lea esp, [esp]
mov ecx, dword [esi]
lea edx, [edx + 8]
xor ecx, edi
lea esi, [esi + 4]
movzx eax, cl
inc ebp
mov word [edx - 8], ax
mov eax, ecx
shr eax, 8
movzx eax, al
mov word [edx - 6], ax
shr ecx, 0x10
movzx eax, cl
mov word [edx - 4], ax
shr ecx, 8
movzx eax, cl
mov word [edx - 2], ax
cmp ebp, ebx
jb 0x4b3640
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
xor ecx, ecx
pop ebp
mov word [edi + eax*2], cx
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 0xc
ret

Function at 0x4b3690
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0xc
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
xor eax, edx
push ebx
push ebp
push esi
lea esi, [ecx + 4]
mov dword [esp + 0xc], edx
lea ebx, [eax + 1]
mov dword [esp + 0x14], eax
add esi, 4
push edi
test bl, 3
je 0x4b36ba
and ebx, 0xfffffffc
add ebx, 4
mov eax, dword [0x4be3d8]
test eax, eax
jne 0x4b36de
mov ecx, 0xb7762a69
call fcn.004b3f00
mov edx, 0x2788995d
mov ecx, eax
call fcn.004b3e60
mov dword [0x4be3d8], eax
call eax
mov edi, eax
mov eax, dword [0x4be664]
test eax, eax
jne 0x4b3706
mov ecx, 0xb7762a69
call fcn.004b3f00
mov edx, 0xc7d427f1
mov ecx, eax
call fcn.004b3e60
mov dword [0x4be664], eax
push ebx
push 8
push edi
call eax
mov ebp, eax
mov dword [esp + 0x14], ebp
test ebp, ebp
je 0x4b3772
shr ebx, 2
xor eax, eax
xor edi, edi
mov ecx, ebp
lea edx, [esi + ebx*4]
mov ebx, edx
sub ebx, esi
add ebx, 3
shr ebx, 2
cmp esi, edx
cmova ebx, eax
test ebx, ebx
je 0x4b376a
mov ebp, dword [esp + 0x10]
lea esp, [esp]
mov edx, dword [esi]
lea ecx, [ecx + 4]
xor edx, ebp
lea esi, [esi + 4]
mov byte [ecx - 4], dl
mov eax, edx
shr eax, 8
inc edi
shr edx, 0x10
mov byte [ecx - 3], al
mov byte [ecx - 2], dl
shr edx, 8
mov byte [ecx - 1], dl
cmp edi, ebx
jb 0x4b3740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov byte [eax + ebp], 0
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0xc
ret
Function at 0x4b3c70
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
mov dword [esp + 4], 0x99a0
add dword [esp + 4], 0x7e22
mov eax, dword [esp + 4]
push ebx
mov ebx, ecx
lea eax, [eax + eax*8]
mov dword [esp + 8], eax
xor dword [esp + 8], 0x9d5d2
mov dword [esp + 4], 0xffb7
add dword [esp + 4], 0xffffc0e2
xor dword [esp + 4], 0xc09f
mov dword [esp + 4], 0x28c6
or dword [esp + 4], 0xecedb68f
add dword [esp + 4], 0xbdfb
shl dword [esp + 4], 0xb
xor dword [esp + 4], 0x73e65010
cmp byte [ebx], 0
je 0x4b3d55
push esi
push edi
lea ecx, [ecx]
mov edi, dword [esp + 0x10]
lea ebx, [ebx + 1]
mov dword [esp + 0xc], 0xffb7
add dword [esp + 0xc], 0xffffc0e2
xor dword [esp + 0xc], 0xc09f
movzx ecx, byte [esp + 0xc]
mov esi, dword [esp + 0x10]
mov dword [esp + 0xc], 0x28c6
or dword [esp + 0xc], 0xecedb68f
add dword [esp + 0xc], 0xbdfb
shl dword [esp + 0xc], 0xb
xor dword [esp + 0xc], 0x73e65010
shl esi, cl
movzx ecx, byte [esp + 0xc]
mov edx, dword [esp + 0x10]
movsx eax, byte [ebx - 1]
mov dword [esp + 0x10], eax
add dword [esp + 0x10], esi
shl edx, cl
add dword [esp + 0x10], edx
sub dword [esp + 0x10], edi
cmp byte [ebx], 0
jne 0x4b3ce0
pop edi
pop esi
mov eax, dword [esp + 8]
pop ebx
add esp, 8
ret
Function at 0x4b3e60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x10
push ebx
mov ebx, ecx
mov dword [esp + 4], edx
push ebp
push esi
push edi
mov eax, dword [ebx + 0x3c]
xor esi, esi
add eax, 0x78
add eax, ebx
mov dword [esp + 0x1c], eax
mov edi, dword [eax]
mov eax, dword [edi + ebx + 0x1c]
add edi, ebx
add eax, ebx
mov dword [esp + 0x18], eax
mov ebp, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
add ebp, ebx
add eax, ebx
mov dword [esp + 0x14], eax
cmp dword [edi + 0x18], esi
jbe 0x4b3ebc
lea esp, [esp]
mov ecx, dword [ebp + esi*4]
add ecx, ebx
call fcn.004b3c70
xor eax, 0x63bd76f8
cmp eax, dword [esp + 0x10]
je 0x4b3ec6
inc esi
cmp esi, dword [edi + 0x18]
jb 0x4b3ea0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
movzx eax, word [eax + esi*2]
mov ecx, dword [ecx + eax*4]
add ecx, ebx
cmp ecx, edi
jb 0x4b3ef4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
add eax, edi
cmp ecx, eax
jae 0x4b3ef4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
jmp 0x4b4050
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x10
ret
sub esp, 0x104
lea edx, [esp]
push esi
mov esi, ecx
push edi
mov al, byte [esi]
test al, al
je 0x4b4076
cmp al, 0x2e
je 0x4b4073
inc esi
mov byte [edx], al
inc edx
mov al, byte [esi]
test al, al
jne 0x4b4063
jmp 0x4b4076
mov byte [edx], 0
mov eax, dword [0x4be414]
test eax, eax
jne 0x4b409a
mov ecx, 0xb7762a69
call fcn.004b3f00
mov edx, 0x9485c9cf
mov ecx, eax
call fcn.004b3e60
mov dword [0x4be414], eax
lea ecx, [esp + 8]
push ecx
call eax
mov edi, eax
test edi, edi
jne 0x4b40e1
mov eax, dword [0x4be590]
test eax, eax
jne 0x4b40cb
mov ecx, 0xb7762a69
call fcn.004b3f00
mov edx, 0xbc96cd14
mov ecx, eax
call fcn.004b3e60
mov dword [0x4be590], eax
lea ecx, [esp + 8]
push ecx
call eax
mov edi, eax
test edi, edi
jne 0x4b40e1
pop edi
pop esi
add esp, 0x104
ret
lea ecx, [esi + 1]
call fcn.004b3c70
xor eax, 0x63bd76f8
mov ecx, edi
mov edx, eax
call fcn.004b3e60
pop edi
pop esi
add esp, 0x104
ret
Function at 0x4b3f00
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
sub esp, 0x10
mov eax, dword fs:[0x30]
mov dword [esp + 0xc], ecx
push ebx
push ebp
mov ecx, dword [eax + 0xc]
add ecx, 0xc
push esi
push edi
mov dword [esp + 0x18], ecx
mov ebp, dword [ecx]
cmp ebp, ecx
je 0x4b4030
mov edx, dword [ebp + 0x30]
mov dword [esp + 0x14], 0x99a0
add dword [esp + 0x14], 0x7e22
mov eax, dword [esp + 0x14]
lea eax, [eax + eax*8]
mov dword [esp + 0x14], eax
xor dword [esp + 0x14], 0x9d5d2
mov dword [esp + 0x10], 0xffb7
add dword [esp + 0x10], 0xffffc0e2
xor dword [esp + 0x10], 0xc09f
mov dword [esp + 0x10], 0x28c6
or dword [esp + 0x10], 0xecedb68f
add dword [esp + 0x10], 0xbdfb
shl dword [esp + 0x10], 0xb
xor dword [esp + 0x10], 0x73e65010
cmp word [edx], 0
je 0x4b4016
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], 0xffb7
add dword [esp + 0x10], 0xffffc0e2
xor dword [esp + 0x10], 0xc09f
movzx ecx, byte [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x10], 0x28c6
or dword [esp + 0x10], 0xecedb68f
add dword [esp + 0x10], 0xbdfb
shl dword [esp + 0x10], 0xb
xor dword [esp + 0x10], 0x73e65010
shl esi, cl
movzx ecx, byte [esp + 0x10]
mov edi, dword [esp + 0x14]
movzx eax, word [edx]
shl edi, cl
cmp eax, 0x41
jb 0x4b3ff9
cmp eax, 0x5a
ja 0x4b3ff9
add eax, 0x20
mov dword [esp + 0x14], eax
add edx, 2
add dword [esp + 0x14], esi
add dword [esp + 0x14], edi
sub dword [esp + 0x14], ebx
cmp word [edx], 0
jne 0x4b3f92
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
xor eax, 0x3808cc1b
cmp eax, dword [esp + 0x1c]
je 0x4b403a
mov ebp, dword [ebp]
cmp ebp, ecx
jne 0x4b3f25
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret
mov eax, dword [ebp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
Function at 0x4b4310
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
sub esp, 0x14
push ebp
mov ebp, ecx
mov dword [esp + 0x10], ebp
push edi
cmp edx, 0x40
jb 0x4b44ae
mov eax, 0x5a4d
cmp word [ebp], ax
jne 0x4b44ae
mov edi, dword [ebp + 0x3c]
add edi, ebp
mov dword [esp + 0x18], edi
cmp dword [edi], 0x4550
jne 0x4b44ae
mov eax, 0x10b
cmp word [edi + 0x18], ax
jne 0x4b44ae
mov eax, dword [0x4bdc0c]
test eax, eax
jne 0x4b437b
mov ecx, 0xb7762a69
call fcn.004b3f00
mov edx, 0x5a6cd0b2
mov ecx, eax
call fcn.004b3e60
mov dword [0x4bdc0c], eax
push ebx
push 0x40
push 0x3000
push dword [edi + 0x50]
push 0
call eax
mov ebx, eax
test ebx, ebx
je 0x4b44a5
movzx ecx, word [edi + 0x14]
push esi
lea esi, [edi + 0x18]
add esi, ecx
movzx ecx, word [edi + 6]
mov dword [esp + 0x18], esi
lea ecx, [ecx + ecx*4]
lea eax, [esi + ecx*8]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x54]
mov dword [esp + 0x10], eax
mov eax, dword [0x4bdecc]
test eax, eax
jne 0x4b43db
mov ecx, 0xea26ec0f
call fcn.004b3f00
mov edx, 0x5e00a98f
mov ecx, eax
call fcn.004b3e60
mov dword [0x4bdecc], eax
push dword [esp + 0x10]
push ebp
push ebx
call eax
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp esi, ecx
jae 0x4b445e
sub ecx, dword [esp + 0x18]
mov eax, 0xcccccccd
dec ecx
add esi, 0x10
mul ecx
mov ecx, edx
shr ecx, 5
inc ecx
mov edi, ecx
mov ebp, dword [esi]
cmp dword [esi - 8], ebp
mov eax, dword [esi + 4]
cmovb ebp, dword [esi - 8]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esi - 4]
add eax, ebx
mov dword [esp + 0x14], eax
mov eax, dword [0x4bdecc]
test eax, eax
jne 0x4b4446
mov ecx, 0xea26ec0f
call fcn.004b3f00
mov edx, 0x5e00a98f
mov ecx, eax
call fcn.004b3e60
mov dword [0x4bdecc], eax
push ebp
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call eax
add esp, 0xc
add esi, 0x28
dec edi
jne 0x4b4405
mov edi, dword [esp + 0x20]
mov edx, edi
mov ecx, ebx
call fcn.004b45e0
mov edx, edi
mov ecx, ebx
call fcn.004b44f0
pop esi
test eax, eax
jne 0x4b44a5
mov eax, dword [0x4bdf10]
test eax, eax
jne 0x4b4499
mov ecx, 0xb7762a69
call fcn.004b3f00
mov edx, 0x994fa9af
mov ecx, eax
call fcn.004b3e60
mov dword [0x4bdf10], eax
push 0x8000
push 0
push ebx
call eax
xor ebx, ebx
mov eax, ebx
pop ebx
pop edi
pop ebp
add esp, 0x14
ret
pop edi
xor eax, eax
pop ebp
add esp, 0x14
ret
Function at 0x40737d
Capabilities:
Delete file
Enumerate files on windows
Enumerate files recursively

Disassembly:
sub esp, 0x25c
push ebx
mov ebx, dword [esp + 0x268]
push esi
mov esi, dword [esp + 0x268]
push edi
mov edi, ebx
push esi
and edi, 4
call fcn.004071ce
mov dword [esp + 0x14], eax
test bl, 8
je 0x4073bf
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
neg eax
sbb eax, eax
inc eax
add dword [0x473628], eax
jmp 0x407598
push ebp
mov ebp, ebx
and ebp, 1
mov dword [esp + 0x14], ebp
je 0x4073dc
test eax, eax
je 0x407523
test bl, 2
je 0x40752b
push esi
push 0x458288
call fcn.004077d8
test ebp, ebp
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatW]
je 0x4073ff
push str..
push 0x458288
call ebp
jmp 0x407405
push esi
call fcn.00407a12
xor eax, eax
cmp word [esi], ax
jne 0x407416
cmp word [0x458288], 0x5c
jne 0x40741e
push 0x409ac4
push esi
call ebp
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [esi + eax*2]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x1c]
push eax
push 0x458288
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebp, eax
cmp ebp, 0xffffffff
je 0x407508
push 0x2e
pop eax
cmp word [esp + 0x48], ax
jne 0x40746c
cmp word [esp + 0x4a], 0
je 0x4074ea
cmp word [esp + 0x4a], ax
jne 0x40746c
cmp word [esp + 0x4c], 0
je 0x4074ea
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x14]
call fcn.004077d8
test byte [esp + 0x1c], 0x10
je 0x407493
mov eax, ebx
and eax, 3
cmp al, 3
jne 0x4074ea
push ebx
push esi
call fcn.0040737d
jmp 0x4074ea
push esi
push str.Delete:_DeleteFile___s__
call fcn.0040724c
pop ecx
pop ecx
push edi
push esi
call fcn.0040711b
push esi
test eax, eax
jne 0x4074e3
test edi, edi
je 0x4074cf
push str.Delete:_DeleteFile_on_Reboot___s__
call fcn.0040724c
pop ecx
pop ecx
push esi
push 0xfffffffffffffff1
call fcn.00406739
xor eax, eax
push eax
push esi
call fcn.00406c3b
jmp 0x4074ea
push str.Delete:_DeleteFile_failed___s__
call fcn.0040724c
inc dword [0x473628]
pop ecx
pop ecx
jmp 0x4074ea
push 0xfffffffffffffff2
call fcn.00406739
lea eax, [esp + 0x1c]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
push 0x2e
test eax, eax
pop eax
jne 0x40744a
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [esp + 0x14], 0
je 0x407597
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov word [eax - 2], cx
cmp dword [esp + 0x18], ecx
jne 0x40752b
push esi
push str.RMDir:_RemoveDirectory_invalid_input___s__
jmp 0x407581
push esi
call fcn.00407165
test eax, eax
je 0x407597
push esi
call fcn.004070ec
push esi
push str.RMDir:_RemoveDirectory___s__
call fcn.0040724c
pop ecx
pop ecx
mov eax, edi
or eax, 1
push eax
push esi
call fcn.0040711b
push esi
test eax, eax
jne 0x407590
test edi, edi
je 0x40757c
push str.RMDir:_RemoveDirectory_on_Reboot___s__
call fcn.0040724c
pop ecx
pop ecx
push esi
push 0xfffffffffffffff1
call fcn.00406739
xor eax, eax
push eax
push esi
call fcn.00406c3b
jmp 0x407597
push str.RMDir:_RemoveDirectory_failed___s__
call fcn.0040724c
inc dword [0x473628]
pop ecx
pop ecx
jmp 0x407597
push 0xffffffffffffffe5
call fcn.00406739
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x25c
ret 8
Function at 0x40d7f0
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp dword [eax], 0x270
jne 0x40d80e
mov ecx, dword [ebp - 8]
call fcn.00415960
jmp 0x40d821
mov ecx, dword [ebp - 8]
cmp dword [ecx], 0x4e0
jb 0x40d821
mov ecx, dword [ebp - 8]
call fcn.004157e0
mov edx, dword [ebp - 8]
mov eax, dword [edx]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + eax*4 + 4]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp - 8]
mov dword [edx], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
shr ecx, 0xb
mov edx, dword [ebp - 8]
and ecx, dword [edx + 0x1384]
xor ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
shl eax, 7
and eax, 0x9d2c5680
xor eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
shl ecx, 0xf
and ecx, 0xefc60000
xor ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
shr edx, 0x12
xor edx, dword [ebp - 4]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret