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

Disassembly:
cmp eax, edx
je 0x4249e9
test eax, edx
je 0x4249ec
movzx ecx, word [edx]
cmp cx, word [eax]
je 0x4249a7
movzx eax, word [eax]
sub eax, ecx
jmp 0x4249ce
push ebx
mov ebx, dword [eax - 4]
xor ecx, ecx
sub ebx, dword [edx - 4]
push ebx
adc ecx, 0xffffffff
and ecx, ebx
sub ecx, dword [eax - 4]
shl ecx, 1
sub eax, ecx
sub edx, ecx
mov ebx, dword [ecx + eax]
xor ebx, dword [ecx + edx]
jne 0x4249cf
add ecx, 4
js 0x4249bf
pop eax
pop ebx
ret
bsf ebx, ebx
shr ebx, 4
add ebx, ebx
add ecx, ebx
jns 0x4249cc
movzx eax, word [ecx + eax]
movzx edx, word [ecx + edx]
sub eax, edx
pop ebx
pop ebx
jmp 0x4249ce
xor eax, eax
ret
test eax, eax
je 0x4249f8
test edx, edx
jne 0x424998
mov eax, dword [eax - 4]
ret
sub eax, dword [edx - 4]
ret

Function at 0x42dc68
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffdf8
mov ebx, eax
mov eax, ebx
call fcn.0040ab6c
mov ebp, eax
push ebp
push 0
push 0
mov ecx, ebx
xor edx, edx
mov eax, 0xfde9
call fcn.0040f9b0
mov edi, eax
cmp edi, 0x104
jbe 0x42dc13
mov eax, edi
add eax, eax
call fcn.00406e94
mov esi, eax
jmp 0x42dc15
mov esi, esp
push ebp
push esi
push edi
mov ecx, ebx
xor edx, edx
mov eax, 0xfde9
call fcn.0040f9b0
push esi
call fcn.004161b8
xor ebx, ebx
mov eax, edi
dec eax
test eax, eax
jl 0x42dc4e
inc eax
xor edx, edx
mov ecx, ebx
shl ecx, 5
shr ebx, 0x1b
or ecx, ebx
mov ebx, ecx
movzx ecx, word [esi + edx*2]
xor ebx, ecx
inc edx
dec eax
jne 0x42dc38
mov eax, esp
cmp esi, eax
je 0x42dc5b
mov eax, esi
call fcn.00406eb0
mov eax, ebx
add esp, 0x208
pop ebp
pop edi
pop esi
pop ebx
ret
push esi
push ebx
mov esi, eax
xor eax, eax
push esi
rol eax, 5
mov bl, byte [esi]
test bl, 0x80
jne 0x42dc94
cmp bl, 0
je 0x42dc90
cmp bl, 0x41
jl 0x42dc8b
cmp bl, 0x5a
jg 0x42dc8b
or bl, 0x20
xor al, bl
inc esi
jmp 0x42dc6f
pop ecx
pop ebx
pop esi
ret
pop eax
pop ebx
pop esi
jmp 0x42dbd4
Function at 0x484d7c
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
mov dl, 0xb5
mov ebx, eax
xor eax, eax
mov ecx, eax
mov esi, ebx
shr esi, cl
mov ecx, esi
and cl, 0xff
xor dl, cl
inc eax
cmp eax, 4
jne 0x484d84
mov eax, edx
pop esi
pop ebx
ret

Function at 0x4f3f3c
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
xor edx, edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4f40d1
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4f40a6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0
je 0x4f4089
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
mov dl, 1
call fcn.00426098
test al, al
je 0x4f4089
push 0x20
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov dl, 1
mov eax, dword [0x491f54]
call fcn.004b5b94
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x4f4082
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx]
mov ebx, eax
mov eax, dword [ebp - 0x10]
call fcn.004b35c0
sub ebx, eax
push ebx
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x404ae4]
call fcn.0040ca64
add esp, 4
mov edx, dword [ebp - 4]
mov ecx, ebx
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 8]
lea edx, [eax + 0xc]
mov eax, dword [ebp - 4]
call fcn.0043150c
mov ebx, eax
mov dl, 1
mov eax, dword [0x48efa0]
call fcn.004b3428
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x4f4065
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, dword [ebp - 4]
test esi, esi
je 0x4f4022
sub esi, 4
mov esi, dword [esi]
sub esi, ebx
push esi
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
mov ecx, ebx
mov edx, dword [ebp - 4]
call fcn.0043285c
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.004f4388
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f406c
mov eax, dword [ebp - 0xc]
call fcn.00408898
ret
mov eax, dword [ebp - 8]
call fcn.004f3d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f40ad
mov eax, dword [ebp - 8]
mov byte [eax + 0x10], 0
ret

Function at 0x501998
Capabilities:
Encode data using xor

Disassembly:
mov ecx, edx
mov edx, eax
xor eax, eax
rol ax, 5
xor al, byte [edx]
inc edx
dec ecx
jne 0x50199e
ret
Function at 0x631804
Capabilities:
Check for software breakpoints

Disassembly:
push ebx
mov ebx, eax
cmp dword [ebx + 0x14], 0xca
jne 0x631832
mov eax, ebx
call fcn.006322c0
cmp dword [ebx + 0x40], 0
je 0x63182b
mov dword [ebx + 0x14], 0xcf
mov eax, 1
pop ebx
ret
mov dword [ebx + 0x14], 0xcb
cmp dword [ebx + 0x14], 0xcb
jne 0x6318a3
mov edx, dword [ebx + 0x1b4]
cmp dword [edx + 0x10], 0
je 0x631895
cmp dword [ebx + 8], 0
je 0x631854
mov eax, ebx
mov edx, dword [eax + 8]
call dword [edx]
mov eax, ebx
mov edx, dword [eax + 0x1b4]
call dword [edx]
test eax, eax
jne 0x631866
xor eax, eax
pop ebx
ret
cmp eax, 2
je 0x631895
cmp dword [ebx + 8], 0
je 0x631847
cmp eax, 3
je 0x631879
dec eax
jne 0x631847
mov edx, dword [ebx + 8]
inc dword [edx + 4]
mov ecx, dword [edx + 4]
mov eax, dword [ebx + 8]
cmp ecx, dword [eax + 8]
jl 0x631847
mov edx, dword [ebx + 0x140]
add dword [eax + 8], edx
jmp 0x631847
mov ecx, dword [ebx + 0x90]
mov dword [ebx + 0x98], ecx
jmp 0x6318c1
cmp dword [ebx + 0x14], 0xcc
je 0x6318c1
mov eax, dword [ebx]
mov dword [eax + 0x14], 0x14
mov edx, dword [ebx + 0x14]
mov dword [eax + 0x18], edx
mov eax, ebx
mov edx, dword [eax]
call dword [edx]
mov eax, ebx
call fcn.006318cc
pop ebx
ret

Function at 0x657d00
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
cmp byte [0x7b0608], 0
jne 0x657d17
call fcn.00657cbc
mov eax, edi
dec eax
test eax, eax
jl 0x657d3f
inc eax
xor edx, edx
movzx ecx, byte [esi + edx]
xor ecx, ebx
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x7b0208]
shr ebx, 8
xor ecx, ebx
mov ebx, ecx
inc edx
dec eax
jne 0x657d21
mov eax, ebx
pop edi
pop esi
pop ebx
ret
Function at 0x65aa30
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 4], ecx
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x14]
movzx edx, byte [eax + 0x461]
movzx ecx, dl
cmp ecx, 6
ja case.0x65aacc.0
jmp dword [ecx*4 + 0x65aa65]
movzx edx, byte [eax + 0x460]
sub dl, 8
je 0x65aa97
sub dl, 8
je 0x65aaa6
jmp case.0x65aacc.0
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x65a6fc
jmp case.0x65aacc.0
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x65a750
jmp case.0x65aacc.0
movzx ecx, byte [eax + 0x460]
cmp ecx, 0x10
ja case.0x65aacc.0
movzx ecx, byte [ecx + 0x65aad3]
jmp dword [ecx*4 + 0x65aae4]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x65a7f0
jmp case.0x65aacc.0
cmp dl, 3
jne 0x65ab11
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x65a848
jmp case.0x65aacc.0
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x65a804
jmp case.0x65aacc.0
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x65a88c
jmp case.0x65aacc.0
movzx edx, byte [eax + 0x460]
sub dl, 8
je 0x65ab3c
sub dl, 8
je 0x65ab48
jmp case.0x65aacc.0
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x65a8b8
jmp case.0x65aacc.0
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x65a91c
jmp case.0x65aacc.0
movzx edx, byte [eax + 0x460]
sub dl, 8
je 0x65ab67
sub dl, 8
je 0x65ab73
jmp case.0x65aacc.0
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x65a9cc
jmp case.0x65aacc.0
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x65a9f4
mov ecx, dword [eax + 0x468]
mov edx, dword [ebx + 0x1c]
dec edx
imul ecx, edx
mov esi, ecx
add esi, dword [eax + 0x450]
mov dword [ebp - 0xc], esi
mov esi, dword [eax + 0x454]
mov dword [ebp - 8], esi
add ecx, dword [eax + 0x44c]
mov dword [ebp - 0x10], ecx
mov esi, edx
test esi, esi
jb 0x65ac15
inc esi
mov eax, dword [ebx + 0x20]
inc eax
push eax
lea eax, [ebx + 0x4c]
push eax
mov eax, dword [ebp + 8]
push eax
movzx eax, byte [ebx + 0x48]
mov ecx, dword [ebx + eax*4 + 0x40]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00659c54
test eax, eax
je 0x65ac15
mov eax, ebx
call fcn.0065ac20
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x10]
push eax
movzx eax, byte [ebx + 0x48]
mov eax, dword [ebx + eax*4 + 0x40]
lea edx, [eax + 1]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call dword [ebp - 0x18]
movzx eax, byte [ebx + 0x48]
xor al, 1
mov byte [ebx + 0x48], al
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x468]
sub dword [ebp - 0xc], eax
sub dword [ebp - 0x10], eax
mov eax, dword [ebx + 0x18]
add dword [ebp - 8], eax
dec esi
jne 0x65abae
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x65ac20
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff4
mov ebx, eax
movzx eax, byte [ebx + 0x48]
mov eax, dword [ebx + eax*4 + 0x40]
movzx eax, byte [eax]
dec al
je 0x65ac51
dec al
je 0x65ac8c
dec al
je 0x65acd0
dec al
je 0x65ad42
jmp 0x65addd
mov esi, dword [ebx + 0x24]
inc esi
mov edi, dword [ebx + 0x20]
sub edi, esi
jb 0x65addd
inc edi
mov edx, esi
sub edx, dword [ebx + 0x24]
movzx ecx, byte [ebx + 0x48]
mov ecx, dword [ebx + ecx*4 + 0x40]
movzx edx, byte [ecx + edx]
movzx eax, byte [ebx + 0x48]
mov eax, dword [ebx + eax*4 + 0x40]
add dl, byte [eax + esi]
and dl, 0xff
mov byte [eax + esi], dl
inc esi
dec edi
jne 0x65ac61
jmp 0x65addd
mov edi, dword [ebx + 0x20]
test edi, edi
jbe 0x65addd
mov esi, 1
movzx eax, byte [ebx + 0x48]
mov edx, eax
xor dl, 1
and edx, 0x7f
mov edx, dword [ebx + edx*4 + 0x40]
movzx edx, byte [edx + esi]
movzx ecx, al
mov ecx, dword [ebx + ecx*4 + 0x40]
add dl, byte [ecx + esi]
and dl, 0xff
and eax, 0x7f
mov eax, dword [ebx + eax*4 + 0x40]
mov byte [eax + esi], dl
inc esi
dec edi
jne 0x65ac9c
jmp 0x65addd
mov edi, dword [ebx + 0x20]
test edi, edi
jbe 0x65addd
mov esi, 1
movzx eax, byte [ebx + 0x48]
xor al, 1
and eax, 0x7f
mov eax, dword [ebx + eax*4 + 0x40]
movzx eax, byte [eax + esi]
mov edx, dword [ebx + 0x24]
mov ecx, esi
dec ecx
cmp edx, ecx
jbe 0x65ad03
xor edx, edx
mov dword [esp + 4], edx
jmp 0x65ad18
mov edx, esi
sub edx, dword [ebx + 0x24]
movzx ecx, byte [ebx + 0x48]
mov ecx, dword [ebx + ecx*4 + 0x40]
movzx edx, byte [ecx + edx]
mov dword [esp + 4], edx
movzx edx, byte [ebx + 0x48]
mov ebp, dword [ebx + edx*4 + 0x40]
movzx edx, byte [ebp + esi]
add eax, dword [esp + 4]
sar eax, 1
jns 0x65ad30
adc eax, 0
add dl, al
and dl, 0xff
mov byte [ebp + esi], dl
inc esi
dec edi
jne 0x65ace0
jmp 0x65addd
xor eax, eax
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp + 8], eax
mov edi, dword [ebx + 0x20]
test edi, edi
jbe 0x65addd
mov esi, 1
movzx eax, byte [ebx + 0x48]
xor al, 1
and eax, 0x7f
mov eax, dword [ebx + eax*4 + 0x40]
movzx eax, byte [eax + esi]
mov edx, dword [ebx + 0x24]
mov ecx, esi
dec ecx
cmp edx, ecx
ja 0x65ada9
mov edx, esi
sub edx, dword [ebx + 0x24]
movzx ecx, byte [ebx + 0x48]
mov ecx, dword [ebx + ecx*4 + 0x40]
movzx edx, byte [ecx + edx]
mov dword [esp + 4], edx
movzx edx, byte [ebx + 0x48]
xor dl, 1
and edx, 0x7f
mov edx, dword [ebx + edx*4 + 0x40]
mov ecx, esi
sub ecx, dword [ebx + 0x24]
movzx edx, byte [edx + ecx]
mov dword [esp + 8], edx
movzx edx, byte [ebx + 0x48]
mov edx, dword [ebx + edx*4 + 0x40]
movzx edx, byte [edx + esi]
mov dword [esp], edx
movzx ecx, byte [esp + 8]
push eax
movzx eax, byte [esp + 8]
pop edx
call fcn.00657d48
movzx edx, byte [ebx + 0x48]
mov edx, dword [ebx + edx*4 + 0x40]
add al, byte [esp]
and al, 0xff
mov byte [edx + esi], al
inc esi
dec edi
jne 0x65ad5e
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x6afaa4
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov esi, dword [ebp + 0x10]
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ecx
mov ebx, eax
xor eax, eax
push ebp
push 0x6afb43
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebx + 0x4c], edx
lea eax, [ebx + 8]
mov edx, esi
call fcn.0040aa64
lea edi, [ebx + 0x38]
lea esi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 8]
call fcn.00424bc0
mov edx, dword [ebp - 0x14]
lea eax, [ebx + 0xc]
call fcn.0040aa64
mov eax, dword [ebx + 0xc]
call fcn.0040ab48
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 0x38]
mov dword [ebx + 0x14], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x18], eax
xor eax, eax
mov dword [ebx + 0x28], eax
xor eax, eax
mov dword [ebx + 0x2c], eax
xor eax, eax
mov dword [ebx + 0x30], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x24], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6afb4a
lea eax, [ebp - 0x14]
call fcn.0040a684
ret
Function at 0x721508
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
mov edi, ecx
mov esi, edx
mov ebx, eax
mov ebp, 0x7b09f8
test esi, esi
jne 0x721522
xor eax, eax
jmp 0x721613
cmp dword [ebp], 0
jne 0x72152d
call fcn.00721498
xor ebx, 0xffffffff
cmp edi, 8
jb 0x7215ed
mov eax, ebx
xor al, byte [esi]
movzx eax, al
mov edx, dword [ebp]
mov eax, dword [edx + eax*4]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
mov eax, ebx
xor al, byte [esi]
movzx eax, al
mov edx, dword [ebp]
mov eax, dword [edx + eax*4]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
mov eax, ebx
xor al, byte [esi]
movzx eax, al
mov edx, dword [ebp]
mov eax, dword [edx + eax*4]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
mov eax, ebx
xor al, byte [esi]
movzx eax, al
mov edx, dword [ebp]
mov eax, dword [edx + eax*4]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
mov eax, ebx
xor al, byte [esi]
movzx eax, al
mov edx, dword [ebp]
mov eax, dword [edx + eax*4]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
mov eax, ebx
xor al, byte [esi]
movzx eax, al
mov edx, dword [ebp]
mov eax, dword [edx + eax*4]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
mov eax, ebx
xor al, byte [esi]
movzx eax, al
mov edx, dword [ebp]
mov eax, dword [edx + eax*4]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
mov eax, ebx
xor al, byte [esi]
movzx eax, al
mov edx, dword [ebp]
mov eax, dword [edx + eax*4]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
sub edi, 8
cmp edi, 8
jae 0x721539
test edi, edi
jbe 0x72160e
movzx eax, byte [esi]
xor eax, ebx
and eax, 0xff
mov edx, dword [ebp]
mov eax, dword [edx + eax*4]
shr ebx, 8
xor eax, ebx
mov ebx, eax
inc esi
dec edi
test edi, edi
ja 0x7215f1
or eax, 0xffffffff
xor eax, ebx
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x734024
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd5c
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x280]
mov edx, dword [0x41d4dc]
call fcn.0040ba28
xor eax, eax
push ebp
push 0x7344a1
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x7344bc
mov al, 1
call fcn.00732b5c
test al, al
je 0x734465
mov byte [ebp - 0x291], 1
mov dl, 1
mov eax, dword [0x48efa0]
call fcn.004b3428
mov dword [ebp - 0x28c], eax
mov dl, 1
mov eax, dword [0x4f6204]
call fcn.004f7350
mov dword [ebp - 0x288], eax
xor eax, eax
push ebp
push 0x73410b
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000002
mov eax, dword [ebp - 0x288]
call fcn.004f7438
mov cl, 1
mov edx, 0x7344ec
mov eax, dword [ebp - 0x288]
call fcn.004f7590
mov edx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x288]
call fcn.004f7b08
mov eax, dword [ebp - 0x288]
call fcn.004f7408
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x734112
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7344a8
lea eax, [ebp - 0x2a4]
mov edx, 3
call fcn.0040a6e4
lea eax, [ebp - 0x280]
mov edx, dword [0x41d4dc]
call fcn.0040bb04
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040a6e4
ret
Function at 0x736344
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x7364cc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x484]
call fcn.00573900
test eax, eax
jne 0x736387
mov dword [0x7b0ca8], 0x80000002
jmp 0x736391
mov dword [0x7b0ca8], 0x80000001
mov dl, 1
mov eax, dword [0x48efa0]
call fcn.004b3428
mov dword [ebp - 0xc], eax
mov dl, 1
mov eax, dword [0x48efa0]
call fcn.004b3428
mov dword [ebp - 0x10], eax
mov dl, 1
mov eax, dword [0x4f6204]
call fcn.004f7350
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x73649a
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x7b0ca8]
mov eax, dword [ebp - 8]
call fcn.004f7438
xor ecx, ecx
mov edx, 0x7364e8
mov eax, dword [ebp - 8]
call fcn.004f7590
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.004f7d7c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x488]
mov eax, dword [eax + 0x2c4]
call fcn.005791b4
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x73647c
inc esi
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x488]
mov eax, dword [eax + 0x2c4]
call fcn.00578fe8
mov dword [0x7b0ca0], eax
lea ecx, [ebp - 0x14]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [0x7b0ca0]
call fcn.005788b4
lea ecx, [ebp - 0x1c]
mov edx, ebx
mov eax, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.004f7f50
mov edx, dword [ebp - 0x18]
mov eax, dword [0x7b0ca0]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
inc ebx
dec esi
jne 0x73641a
mov eax, dword [ebp - 8]
call fcn.004f7408
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7364a1
mov eax, dword [ebp - 8]
call fcn.00408898
ret
Function at 0x407180
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
push ebx
push esi
push edi
mov ecx, dword [eax + 0x3c]
add ecx, eax
movzx eax, word [ecx + 0x14]
movzx ebx, word [ecx + 6]
add eax, 0x18
add eax, ecx
test ebx, ebx
je 0x4071be
mov edi, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
cmp edi, esi
jb 0x4071b6
mov ecx, dword [eax + 8]
add ecx, esi
cmp edi, ecx
jb 0x4071c0
inc edx
add eax, 0x28
cmp edx, ebx
jb 0x4071a6
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x4072a0
Capabilities:
Parse pe header

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

Function at 0x5ae92d
Capabilities:
Encode data using xor

Disassembly:
add eax, 0xd3883de7
out 0x3d, eax
mov bl, dl
jns 0x5ae8e0
or byte [ecx], dl
pop edi
inc esi
into
mov ebp, 0x479a2305
fsub dword [ebx]
inc byte [eax - 0x7a6bfbc4]
inc esi
sbb al, 0x34
sub dword [esi + esi], esp
and byte [0x7e22d09b], 0x97
sub byte [eax], ch
in al, 0xca
sub dword [ebp - 0x53], esp
jno 0x5ae917
fdiv dword [ebx + edi*4 + 0x78a21ed7]
inc dword [esp + eax*8 - 0x25]
dec esi
invalid
rol dword [edx + 0x76], cl
sar dword [edi - 0x70d483f1], 0xb
test byte [esi + 0x66], bh
rol byte [esi], 1
xchg esp, eax
jbe 0x5ae8dc
mov edi, 0x8f2b7c0f
or eax, dword [esi + edi*2 - 0x6bf92f9a]
mov eax, 0x2af5a43
adc bl, byte [ebp + 0x692e836d]
popfd
insd dword es:[edi], dx
sub dword [esi], 0x69
popfd
insd dword es:[edi], dx
sub dword [esi], 0x69
jl 0x5ae8db
jb 0x5ae987
sbb dword [ecx - 0x3b425c8e], ecx
insb byte es:[edi], dx
add dword [ecx], ebp
cmp al, 0xa0
push es
or dword [edx - 0x3c], ebp
invalid
out dx, eax
dec ebx
xlatb
and cl, byte [eax + 0x722fa390]
fadd st(6), st(0)
js 0x5ae919
in al, 0xf6
lahf
jo 0x5aea04
cmc
sahf
mov bh, 0x29
push cs
daa
push 0xfd5304d2
xor edx, dword [ebp + 0x45]
jp 0x5ae9a2
shr byte [esi - 0x7a1433f6], 0xb8
dec eax
loop 0x5ae9fc
test eax, 0x4aa10844
movsd dword es:[edi], dword [esi]
cwde
xchg esi, eax
inc esp
or byte [ecx - 0x69675ab6], ah
mov esi, 0x4c3df6e
xor edx, dword [ebp - 0x1474dadf]
das
lds esi, [ebx + 0x5f]
xchg ecx, eax
mul eax
sub dword [esi], 0x8b8ec01e
cmp dword [ecx], edi
jnp 0x5ae9ec
or byte [eax - 0x32], 0x5b
outsb dx, byte [esi]
stosd dword es:[edi], eax
sbb eax, 0xe140ba53
cmp al, 0x2f
fcom st(2)
aas
enter 0x7abd, 0x24
cld
and edi, dword [esi]
xor dh, bl
cmc
daa
dec ecx
mov dword [0x8c7e3fa2], eax
aas
jle 0x5ae972
adc eax, 0x410a7523
or eax, 0xcff395b8
inc esi
mov eax, 0x46cff395
or eax, 0xd0b4e251
mov ah, 0xd0
push esp
jnp 0x5ae9e3
enter 0xffffffffffffafe9, 0x46
inc esi
add cl, 0xc3
dec edx
jl 0x5ae9f4
stc
cmp al, 0x77
or dword [ebx - 0x25230e38], edi
jp 0x5aea76
cli
cmp dl, cl
dec ebx
mov edi, 0x5d4ad5dc
salc
sar dword [edx], 0x2c
std
and al, 0xa9
fadd qword [eax - 0x69]
ret 0x2664
lea ebx, [0x3d1b7874]
imul esp, dword [esi - 0x4f32c8d5], 0x39
stosd dword es:[edi], eax
sbb al, 3
mov edx, 0xe7acaf65
invalid
Function at 0x4038fc
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x408398]
jne 0x403906
repz ret
jmp fcn.00403dae

Function at 0x40601f
Capabilities:
Encode data using xor

Disassembly:
ljmp 0xc1d4:0x159affff
mov dword [eax], 0x6f
mov esi, 0x1fdeb
jbe 0x405fee
dec esp
add byte [ebx - 0x7ebc83], cl
xor al, 0xec
add dh, cl
jbe 0x40604c
mov ecx, dword [ebp + 8]
mov eax, 0x6a0016
pop edi
mov dword [ecx], 0x9c00
pop ebp
ret 0x42
push ebx
das
pop ebp
adc byte [esi + 0x68], dl
fbstp tbyte [eax]
add byte [eax + 0x1c], al
call 0xffaa4a60
mov esi, dword [ebp + 8]
xor ecx, ecx
push edx
cmp cl, byte [ecx + 0x16730448]
insb byte es:[edi], dx
jp 0x406099
mov eax, dword [esi]
invalid
mov ebx, dword [ecx + 0x7e895357]
sbb al, 0x30
add byte [eax], al
call 0xffad4a26
mov edx, dword [esi]
adc dword [ebx - 0x2a], ebx
mov dword [edx + 0x3020], eax
mov dl, 0xc0
mov ebp, 0x900010c2
stc
dec ebp
nop
nop
nop
nop