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

Disassembly:
push ebx
push esi
push edi
push ebp
push ecx
mov ebx, eax
mov edi, dword [ebx + 0x24]
mov esi, dword [ebx + 0x34]
sub esi, dword [ebx + 0x6c]
sub esi, dword [ebx + 0x64]
test esi, esi
jne 0x702eba
cmp dword [ebx + 0x64], 0
jne 0x702eba
cmp dword [ebx + 0x6c], 0
jne 0x702eba
mov esi, edi
jmp 0x702f52
cmp esi, 0xffffffff
jne 0x702ec5
dec esi
jmp 0x702f52
mov eax, dword [ebx + 0x64]
lea edx, [edi + edi]
sub edx, 0x106
cmp eax, edx
jb 0x702f52
mov eax, dword [ebx + 0x30]
lea edx, [eax + edi]
mov ebp, edi
mov ecx, ebp
call fcn.006fe71c
sub dword [ebx + 0x68], edi
sub dword [ebx + 0x64], edi
sub dword [ebx + 0x54], ebp
mov eax, dword [ebx + 0x44]
mov edx, dword [ebx + 0x3c]
lea edx, [edx + eax*2]
mov dword [esp], edx
sub dword [esp], 2
mov edx, dword [esp]
movzx edx, word [edx]
cmp edi, edx
ja 0x702f12
sub dx, di
mov ecx, dword [esp]
mov word [ecx], dx
jmp 0x702f1a
mov edx, dword [esp]
mov word [edx], 0
dec eax
test eax, eax
jne 0x702ef9
mov eax, edi
mov edx, dword [ebx + 0x38]
lea edx, [edx + eax*2]
mov dword [esp], edx
sub dword [esp], 2
mov edx, dword [esp]
movzx edx, word [edx]
cmp edi, edx
ja 0x702f43
sub dx, di
mov ecx, dword [esp]
mov word [ecx], dx
jmp 0x702f4b
mov edx, dword [esp]
mov word [edx], 0
dec eax
test eax, eax
jne 0x702f2a
add esi, edi
mov eax, dword [ebx]
cmp dword [eax + 4], 0
je 0x702fb0
mov edx, dword [ebx + 0x64]
add edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x30]
lea edx, [ecx + edx]
mov ecx, esi
call fcn.00702bc0
add dword [ebx + 0x6c], eax
cmp dword [ebx + 0x6c], 3
jb 0x702f9b
mov eax, dword [ebx + 0x64]
mov edx, dword [ebx + 0x30]
movzx eax, byte [edx + eax]
mov dword [ebx + 0x40], eax
mov ecx, dword [ebx + 0x50]
shl eax, cl
mov edx, dword [ebx + 0x64]
mov ecx, dword [ebx + 0x30]
movzx edx, byte [ecx + edx + 1]
xor eax, edx
and eax, dword [ebx + 0x4c]
mov dword [ebx + 0x40], eax
cmp dword [ebx + 0x6c], 0x106
jae 0x702fb0
mov eax, dword [ebx]
cmp dword [eax + 4], 0
jne 0x702e9a
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x7038b8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
lea edi, [ebp - 0xc]
mov dword [edi], eax
test edx, edx
je 0x703973
mov al, byte [ebp - 4]
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 4]
shr eax, 8
mov byte [ebp - 0xe], al
mov eax, dword [ebp - 4]
shr eax, 0x10
mov byte [ebp - 0xf], al
mov eax, dword [ebp - 4]
shr eax, 0x18
mov byte [ebp - 0x10], al
mov eax, dword [ebp + 8]
dec eax
cmp eax, 0
jl 0x703973
mov dword [ebp - 8], eax
mov eax, dword [edi]
mov al, byte [eax]
mov cl, byte [ebp - 0xf]
add al, cl
mov ecx, dword [edi]
mov byte [ecx], al
mov esi, edx
dec esi
test esi, esi
jle 0x703932
mov eax, 1
mov ecx, dword [edi]
mov cl, byte [ecx + eax - 1]
mov ebx, dword [edi]
mov bl, byte [ebx + eax]
add cl, bl
mov bl, byte [ebp - 0xd]
xor cl, bl
mov ebx, dword [edi]
mov byte [ebx + eax], cl
inc eax
dec esi
jne 0x703917
mov eax, dword [edi]
mov al, byte [eax + edx - 1]
mov cl, byte [ebp - 0x10]
add al, cl
mov ecx, dword [edi]
mov byte [ecx + edx - 1], al
mov eax, edx
sub eax, 2
cmp eax, 0
jl 0x70396a
mov ecx, dword [edi]
mov cl, byte [ecx + eax + 1]
mov ebx, dword [edi]
mov bl, byte [ebx + eax]
add cl, bl
mov bl, byte [ebp - 0xe]
xor cl, bl
mov ebx, dword [edi]
mov byte [ebx + eax], cl
dec eax
cmp eax, 0xffffffff
jne 0x70394d
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffff
jne 0x7038fe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x70397c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
lea edi, [ebp - 0xc]
mov dword [edi], eax
test edx, edx
je 0x703a30
mov al, byte [ebp - 4]
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 4]
shr eax, 8
mov byte [ebp - 0xe], al
mov eax, dword [ebp - 4]
shr eax, 0x10
mov byte [ebp - 0xf], al
mov eax, dword [ebp - 4]
shr eax, 0x18
mov byte [ebp - 0x10], al
mov eax, dword [ebp + 8]
dec eax
cmp eax, 0
jl 0x703a30
mov dword [ebp - 8], eax
mov esi, edx
sub esi, 2
test esi, esi
jl 0x7039e7
inc esi
xor eax, eax
mov ecx, dword [edi]
mov cl, byte [ecx + eax]
xor cl, byte [ebp - 0xe]
mov ebx, dword [edi]
mov bl, byte [ebx + eax + 1]
sub cl, bl
mov ebx, dword [edi]
mov byte [ebx + eax], cl
inc eax
dec esi
jne 0x7039ce
mov eax, dword [edi]
mov al, byte [eax + edx - 1]
mov cl, byte [ebp - 0x10]
sub al, cl
mov ecx, dword [edi]
mov byte [ecx + edx - 1], al
mov eax, edx
dec eax
cmp eax, 1
jl 0x703a1a
mov ecx, dword [edi]
mov cl, byte [ecx + eax]
xor cl, byte [ebp - 0xd]
mov ebx, dword [edi]
mov bl, byte [ebx + eax - 1]
sub cl, bl
mov ebx, dword [edi]
mov byte [ebx + eax], cl
dec eax
test eax, eax
jne 0x703a00
mov eax, dword [edi]
mov al, byte [eax]
mov cl, byte [ebp - 0xf]
sub al, cl
mov ecx, dword [edi]
mov byte [ecx], al
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffff
jne 0x7039c2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x70de70
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov edi, ecx
mov dword [ebp - 4], edx
mov esi, eax
xor eax, eax
push ebp
push 0x70e093
push dword fs:[eax]
mov dword fs:[eax], esp
test esi, esi
je 0x70de9d
cmp dword [ebp - 4], 0
jg 0x70dea4
mov bl, 3
jmp 0x70e07d
mov eax, dword [ebp - 4]
mov ecx, 3
cdq
idiv ecx
test edx, edx
jne 0x70dec2
mov eax, dword [ebp - 4]
mov ecx, 3
cdq
idiv ecx
mov ebx, eax
jmp 0x70ded0
mov eax, dword [ebp - 4]
mov ecx, 3
cdq
idiv ecx
mov ebx, eax
inc ebx
mov edx, ebx
shl edx, 2
mov eax, edi
call fcn.006f4970
dec ebx
test ebx, ebx
jl 0x70e067
inc ebx
mov dword [ebp - 0xc], ebx
xor ebx, ebx
lea eax, [ebx + ebx*2]
add eax, 3
cmp eax, dword [ebp - 4]
jg 0x70df7a
lea eax, [ebx + ebx*2]
movzx eax, byte [esi + eax]
shr eax, 2
mov al, byte [eax + 0x735098]
mov byte [ebp - 5], al
lea eax, [ebx + ebx*2]
mov al, byte [esi + eax]
shl eax, 4
and al, 0x30
lea edx, [ebx + ebx*2]
inc edx
movzx edx, byte [esi + edx]
shr edx, 4
or al, dl
and eax, 0xff
mov al, byte [eax + 0x735098]
mov byte [ebp - 6], al
lea eax, [ebx + ebx*2]
inc eax
mov al, byte [esi + eax]
shl eax, 2
and al, 0x3c
lea edx, [ebx + ebx*2]
add edx, 2
movzx edx, byte [esi + edx]
shr edx, 6
or al, dl
and eax, 0xff
mov al, byte [eax + 0x735098]
mov byte [ebp - 7], al
lea eax, [ebx + ebx*2]
add eax, 2
mov al, byte [esi + eax]
and al, 0x3f
and eax, 0xff
mov al, byte [eax + 0x735098]
mov byte [ebp - 8], al
jmp 0x70e012
lea eax, [ebx + ebx*2]
add eax, 2
cmp eax, dword [ebp - 4]
jg 0x70dfde
lea eax, [ebx + ebx*2]
movzx eax, byte [esi + eax]
shr eax, 2
mov al, byte [eax + 0x735098]
mov byte [ebp - 5], al
lea eax, [ebx + ebx*2]
mov al, byte [esi + eax]
shl eax, 4
and al, 0x30
lea edx, [ebx + ebx*2]
inc edx
movzx edx, byte [esi + edx]
shr edx, 4
or al, dl
and eax, 0xff
mov al, byte [eax + 0x735098]
mov byte [ebp - 6], al
lea eax, [ebx + ebx*2]
inc eax
mov al, byte [esi + eax]
shl eax, 2
and al, 0x3c
and eax, 0xff
mov al, byte [eax + 0x735098]
mov byte [ebp - 7], al
mov byte [ebp - 8], 0x3d
jmp 0x70e012
lea eax, [ebx + ebx*2]
movzx eax, byte [esi + eax]
shr eax, 2
mov al, byte [eax + 0x735098]
mov byte [ebp - 5], al
lea eax, [ebx + ebx*2]
mov al, byte [esi + eax]
shl eax, 4
and al, 0x30
and eax, 0xff
mov al, byte [eax + 0x735098]
mov byte [ebp - 6], al
mov byte [ebp - 7], 0x3d
mov byte [ebp - 8], 0x3d
mov eax, edi
call fcn.006f4898
mov edx, ebx
shl edx, 2
mov cl, byte [ebp - 5]
mov byte [eax + edx], cl
mov eax, edi
call fcn.006f4898
mov edx, ebx
shl edx, 2
mov cl, byte [ebp - 6]
mov byte [eax + edx + 1], cl
mov eax, edi
call fcn.006f4898
mov edx, ebx
shl edx, 2
mov cl, byte [ebp - 7]
mov byte [eax + edx + 2], cl
mov eax, edi
call fcn.006f4898
mov edx, ebx
shl edx, 2
mov cl, byte [ebp - 8]
mov byte [eax + edx + 3], cl
inc ebx
dec dword [ebp - 0xc]
jne 0x70deeb
lea edx, [ebp - 0x10]
mov eax, dword [edi]
call fcn.006f7808
mov edx, dword [ebp - 0x10]
mov eax, edi
call fcn.006f43e8
xor ebx, ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x70e09a
lea eax, [ebp - 0x10]
call fcn.006f4394
ret
Function at 0x70e4a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ecx
mov edi, edx
mov ebx, eax
mov esi, dword [ebp + 8]
xor eax, eax
push ebp
push 0x70e5d0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
mov edx, ebx
call fcn.006f43e8
mov eax, dword [esi]
call fcn.006f4640
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x70e5ba
mov eax, edi
shr eax, 0x18
mov byte [ebp - 0x10], al
mov eax, edi
shr eax, 0x10
mov byte [ebp - 0xf], al
mov eax, edi
shr eax, 8
mov byte [ebp - 0xe], al
mov eax, edi
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 4]
dec eax
cmp eax, 0
jl 0x70e5a6
mov dword [ebp - 8], eax
mov eax, esi
call fcn.006f4898
mov edx, dword [esi]
mov dl, byte [edx]
mov cl, byte [ebp - 0xf]
add dl, cl
mov byte [eax], dl
mov edi, dword [ebp - 0xc]
sub edi, 2
jl 0x70e552
inc edi
mov ebx, 2
mov eax, esi
call fcn.006f4898
mov edx, dword [esi]
mov dl, byte [edx + ebx - 2]
mov ecx, dword [esi]
mov cl, byte [ecx + ebx - 1]
add dl, cl
mov cl, byte [ebp - 0xd]
xor dl, cl
mov byte [eax + ebx - 1], dl
inc ebx
dec edi
jne 0x70e530
mov eax, esi
call fcn.006f4898
mov edx, dword [ebp - 0xc]
mov ecx, dword [esi]
mov ebx, dword [ebp - 0xc]
mov cl, byte [ecx + ebx - 1]
mov bl, byte [ebp - 0x10]
add cl, bl
mov byte [eax + edx - 1], cl
mov ebx, dword [ebp - 0xc]
dec ebx
cmp ebx, 1
jl 0x70e599
mov eax, esi
call fcn.006f4898
mov edx, dword [esi]
mov dl, byte [edx + ebx]
mov ecx, dword [esi]
mov cl, byte [ecx + ebx - 1]
add dl, cl
mov cl, byte [ebp - 0xe]
xor dl, cl
mov byte [eax + ebx - 1], dl
dec ebx
test ebx, ebx
jne 0x70e577
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffff
jne 0x70e510
lea edx, [ebp - 0x14]
mov eax, dword [esi]
call fcn.0070e38c
mov edx, dword [ebp - 0x14]
mov eax, esi
call fcn.006f43e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x70e5d7
lea eax, [ebp - 0x14]
call fcn.006f4394
ret
Function at 0x70e5e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov ebx, edx
mov edi, eax
mov esi, dword [ebp + 8]
mov edx, esi
mov eax, edi
call fcn.0070e394
mov eax, dword [esi]
call fcn.006f4640
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x70e6cc
mov eax, ebx
shr eax, 0x18
mov byte [ebp - 0x10], al
mov eax, ebx
shr eax, 0x10
mov byte [ebp - 0xf], al
mov eax, ebx
shr eax, 8
mov byte [ebp - 0xe], al
mov byte [ebp - 0xd], bl
mov eax, dword [ebp - 4]
dec eax
cmp eax, 0
jl 0x70e6cc
mov dword [ebp - 8], eax
mov edi, dword [ebp - 0xc]
dec edi
test edi, edi
jle 0x70e667
mov ebx, 1
mov eax, esi
call fcn.006f4898
mov edx, dword [esi]
mov dl, byte [edx + ebx - 1]
xor dl, byte [ebp - 0xe]
mov ecx, dword [esi]
mov cl, byte [ecx + ebx]
sub dl, cl
mov byte [eax + ebx - 1], dl
inc ebx
dec edi
jne 0x70e648
mov eax, esi
call fcn.006f4898
mov edx, dword [ebp - 0xc]
mov ecx, dword [esi]
mov ebx, dword [ebp - 0xc]
mov cl, byte [ecx + ebx - 1]
mov bl, byte [ebp - 0x10]
sub cl, bl
mov byte [eax + edx - 1], cl
mov ebx, dword [ebp - 0xc]
cmp ebx, 2
jl 0x70e6ad
mov eax, esi
call fcn.006f4898
mov edx, dword [esi]
mov dl, byte [edx + ebx - 1]
xor dl, byte [ebp - 0xd]
mov ecx, dword [esi]
mov cl, byte [ecx + ebx - 2]
sub dl, cl
mov byte [eax + ebx - 1], dl
dec ebx
cmp ebx, 1
jne 0x70e68b
mov eax, esi
call fcn.006f4898
mov edx, dword [esi]
mov dl, byte [edx]
mov cl, byte [ebp - 0xf]
sub dl, cl
mov byte [eax], dl
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffff
jne 0x70e63b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x7150f4
Capabilities:
Hash data with md5

Disassembly:
push ebx
mov ebx, eax
mov eax, ebx
xor ecx, ecx
mov edx, 0x58
call fcn.006f2de4
mov dword [ebx], 0x67452301
mov dword [ebx + 4], 0xefcdab89
mov dword [ebx + 8], 0x98badcfe
mov dword [ebx + 0xc], 0x10325476
pop ebx
ret
Function at 0x715be0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe7c
push ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
cmp dword [ebp - 8], 0x40
jle 0x715c39
lea eax, [ebp - 0x114]
call fcn.007150f4
mov eax, dword [ebp - 4]
lea edx, [eax + 1]
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 8]
call fcn.00715928
lea edx, [ebp - 0x114]
lea eax, [ebp - 0x144]
call fcn.00715b28
lea eax, [ebp - 0x144]
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0x10
lea eax, [ebp - 0x64]
call fcn.007150f4
mov edx, dword [ebp - 8]
dec edx
test edx, edx
jl 0x715c62
inc edx
xor eax, eax
lea ecx, [ebp - 0x184]
mov ebx, dword [ebp - 4]
mov bl, byte [ebx + eax]
xor bl, 0x36
mov byte [ecx], bl
inc eax
inc ecx
dec edx
jne 0x715c52
mov eax, dword [ebp - 8]
cmp eax, 0x3f
jg 0x715c7b
lea edx, [ebp + eax - 0x184]
mov byte [edx], 0x36
inc eax
inc edx
cmp eax, 0x40
jne 0x715c71
lea edx, [ebp - 0x184]
lea eax, [ebp - 0x64]
mov ecx, 0x40
call fcn.007159f4
lea eax, [ebp - 0x64]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
call fcn.007159f4
lea edx, [ebp - 0x64]
lea eax, [ebp - 0x124]
call fcn.00715b28
lea eax, [ebp - 0xbc]
call fcn.007150f4
mov edx, dword [ebp - 8]
dec edx
test edx, edx
jl 0x715cd6
inc edx
xor eax, eax
lea ecx, [ebp - 0x184]
mov ebx, dword [ebp - 4]
mov bl, byte [ebx + eax]
xor bl, 0x5c
mov byte [ecx], bl
inc eax
inc ecx
dec edx
jne 0x715cc6
mov eax, dword [ebp - 8]
cmp eax, 0x3f
jg 0x715cef
lea edx, [ebp + eax - 0x184]
mov byte [edx], 0x5c
inc eax
inc edx
cmp eax, 0x40
jne 0x715ce5
lea edx, [ebp - 0x184]
lea eax, [ebp - 0xbc]
mov ecx, 0x40
call fcn.00715928
lea edx, [ebp - 0x124]
lea eax, [ebp - 0xbc]
mov ecx, 0x10
call fcn.00715928
lea edx, [ebp - 0xbc]
lea eax, [ebp - 0x134]
call fcn.00715b28
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x134]
mov edx, 0x10
call fcn.006f7990
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x72d158
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.006f4830
xor eax, eax
push ebp
push 0x72d2c9
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x8c], 0
je 0x72d2b3
test ebx, ebx
je 0x72d2b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.006f93dc
xor eax, eax
push ebp
push 0x72d29e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
mov edx, dword [ebp - 8]
call fcn.006f980c
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.006fb45c
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.006fb3e4
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
cdq
cmp edx, dword [esp + 4]
jne 0x72d1f6
cmp eax, dword [esp]
pop edx
pop eax
jae 0x72d294
jmp 0x72d1fe
pop edx
pop eax
jge 0x72d294
call fcn.006fb45c
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
mov edx, dword [ebp - 8]
call fcn.006f9608
mov eax, dword [ebp - 4]
add eax, 0x20
push eax
call fcn.006f63b8
xor eax, eax
push ebp
push 0x72d27e
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.006fb45c
mov eax, dword [ebp - 4]
fstp qword [eax + 0x70]
wait
mov ecx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb8]
mov edx, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb8]
mov edx, dword [eax]
call dword [edx + 8]
cmp eax, 0x64
jle 0x72d274
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x3c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x72d288
mov eax, dword [ebp - 4]
add eax, 0x20
push eax
call fcn.006f6488
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x72d2a8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.006f93e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x72d2d0
lea eax, [ebp - 8]
call fcn.006f4394
ret
Function at 0x72d2dc
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.006f4830
xor eax, eax
push ebp
push 0x72d435
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x8c], 0
je 0x72d41f
test ebx, ebx
je 0x72d41f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.006f93dc
xor eax, eax
push ebp
push 0x72d40a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
mov edx, dword [ebp - 8]
call fcn.006f980c
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.006fb45c
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.006fb3c4
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jle 0x72d400
call fcn.006fb45c
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
mov edx, dword [ebp - 8]
call fcn.006f9608
mov eax, dword [ebp - 4]
add eax, 0x38
push eax
call fcn.006f63b8
xor eax, eax
push ebp
push 0x72d3ea
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.006fb45c
mov eax, dword [ebp - 4]
fstp qword [eax + 0x70]
wait
mov ecx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xbc]
mov edx, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xbc]
mov edx, dword [eax]
call dword [edx + 8]
cmp eax, 0x64
jle 0x72d3e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xbc]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x3c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x72d3f4
mov eax, dword [ebp - 4]
add eax, 0x38
push eax
call fcn.006f6488
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x72d414
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.006f93e8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x72d43c
lea eax, [ebp - 8]
call fcn.006f4394
ret

Function at 0x7a3520
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
mov dword [ebp - 4], eax
mov byte [ebp - 5], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
add eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x5a4d
jne 0x7a357e
mov eax, dword [ebp - 0x10]
cmp dword [eax], 0x4550
jne 0x7a357e
mov eax, dword [ebp - 0x10]
movzx eax, word [eax + 0x14]
cmp eax, 0xe0
jne 0x7a357e
mov eax, dword [ebp - 0x10]
test byte [eax + 0x17], 0x20
je 0x7a357e
mov eax, dword [ebp - 0x10]
mov ax, word [eax + 0x16]
and ax, 2
cmp ax, 2
sete byte [ebp - 5]
mov al, byte [ebp - 5]
mov esp, ebp
pop ebp
ret
Function at 0x7a3588
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
mov dword [ebp - 0x2c], edx
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
call fcn.007a3520
test al, al
je 0x7a3671
mov eax, dword [ebp - 4]
call fcn.007a34b8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x7a3671
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
add eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
add eax, 0x18
mov edx, dword [ebp - 0x20]
movzx edx, word [edx + 0x14]
add eax, edx
mov dword [ebp - 0x24], eax
push 0x40
push 0x3000
mov eax, dword [ebp - 0xc]
push eax
push 0
call fcn.007a3ba4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x7a3671
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x14]
push eax
call fcn.007a3974
mov eax, dword [ebp - 0x20]
movzx eax, word [eax + 6]
dec eax
test eax, eax
jb 0x7a366b
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + eax*8 + 0xc]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + eax*8 + 0x14]
add eax, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + eax*8 + 0x10]
push eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x18]
push eax
call fcn.007a3974
inc dword [ebp - 0x10]
dec dword [ebp - 0x28]
jne 0x7a3622
mov eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret

Function at 0x7a3a2c
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
ret
Function at 0x7a3a44
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
call fcn.007a3a2c
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3c]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x78]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
add eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
shl edx, 2
add eax, edx
mov eax, dword [eax]
add eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
call fcn.007a398c
test eax, eax
jne 0x7a3ace
mov eax, dword [ebp - 0x14]
add eax, eax
mov edx, dword [ebp - 0x20]
add eax, dword [edx + 0x24]
add eax, dword [ebp - 0x10]
mov ax, word [eax]
and ax, 0xffff
movzx eax, ax
shl eax, 2
mov edx, dword [ebp - 0x20]
add eax, dword [edx + 0x1c]
add eax, dword [ebp - 0x10]
mov eax, dword [eax]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0xc], 0
jne 0x7a3ae2
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x18]
cmp eax, dword [ebp - 0x14]
jne 0x7a3a7a
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 4

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

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x408ecc
mov ecx, 0x58286c74
nop
nop
test eax, eax
nop
nop
nop
nop
je 0x43004e
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x430024
nop
nop
nop
nop
mov eax, section..data
nop
mov ebx, 0x42e1d0
mov ecx, 0x388c5acd
nop
nop
nop
nop
test eax, eax
nop
nop
je 0x430084
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
add eax, 4
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x43006c
popal
nop
nop
nop
nop
nop
jmp 0x401219
Function at 0x42e001
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..rdata
nop
push 4
nop
nop
nop
nop
pop edi
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0
nop
nop
nop
nop
je 0x42e072
mov ebx, 0x407ef8
nop
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
sub ecx, eax
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
push eax
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
pop eax
nop
mov esi, 0x6712126b
nop
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
nop
add eax, edi
nop
loop 0x42e060
nop
nop
nop
nop
mov eax, section..data
nop
nop
cmp eax, 0
nop
nop
nop
je 0x42e0d2
nop
nop
nop
mov ebx, 0x42cd70
nop
nop
nop
mov ecx, ebx
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
push eax
nop
nop
mov eax, ecx
nop
nop
nop
div edi
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
nop
nop
mov esi, 0x64a93744
nop
nop
nop
nop
xor dword [eax], esi
nop
nop
add eax, edi
nop
nop
nop
nop
nop
nop
loop 0x42e0c0
nop
nop
nop
popal
nop
nop
jmp 0x401219