joyce8/EMBER2024-capa huggingface dataset:
Function at 0x49f2b0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50a7e3
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x54c730]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x80], 0
mov dword [edi], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x7c], 0
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00425b90
mov eax, dword [ebp - 0x80]
add esp, 8
test eax, eax
je 0x49f4c3
mov esi, dword [sym.imp.OLEAUT32.dll_VariantInit]
push eax
call esi
test eax, eax
je 0x49f4c3
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x49f4c3
push eax
call esi
test eax, eax
je 0x49f4c3
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
push 0x201
push dword [ebp - 0x80]
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 2
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0049f200
mov esi, dword [ebp - 0x90]
test eax, eax
jne 0x49f4b4
push 0x64
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.004dbca0
add esp, 0xc
mov dword [ebp - 0x78], 0x64
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x84]
push eax
push 0
push dword [ebp - 0x7c]
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x49f4b4
mov eax, dword [ebp - 0x84]
cmp eax, 1
je 0x49f3db
cmp eax, 2
jne 0x49f4b4
mov ecx, dword [ebp - 0x78]
test ecx, ecx
je 0x49f3fc
test cl, 1
jne 0x49f4b4
mov eax, ecx
shr eax, 1
cmp word [ebp + eax*2 - 0x76], 0
je 0x49f402
jmp 0x49f4b4
xor eax, eax
mov word [ebp - 0x74], ax
shr ecx, 1
cmp ecx, 0x2d
jne 0x49f4b4
lea ecx, [ebp - 0x78]
call fcn.0049d690
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x78]
call fcn.0049d750
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0
push eax
lea eax, [ebp - 0x20]
push 0x524428
push eax
call fcn.0049f8c0
push 0x2a
push dword [ebp - 0x78]
call fcn.0049dc10
movzx eax, al
add esp, 0x14
cmp dword [ebp - 0x84], eax
jne 0x49f4ac
lea edx, [ebp - 0x74]
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x49f462
sub edx, ecx
lea eax, [ebp - 0x74]
sar edx, 1
mov ecx, ebx
push edx
push eax
call fcn.0049d4e0
push dword [0x54c75c]
lea eax, [ebp - 0x74]
push dword [0x54c758]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
jne 0x49f49d
mov dword [edi], 1
lea ecx, [ebp - 0x78]
call fcn.00404830
mov edi, 1
jmp 0x49f4b6
lea ecx, [ebp - 0x78]
call fcn.00404830
xor edi, edi
test esi, esi
je 0x49f4c5
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x49f4c5
xor edi, edi
push dword [ebp - 0x7c]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
push dword [ebp - 0x80]
call esi
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049b5d0
mov esp, ebp
pop ebp
ret
Function at 0x49f500
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
push esi
mov esi, ecx
test edx, edx
jne 0x49f515
lea eax, [edx + 0xd]
pop esi
pop ebp
ret 0xc
mov eax, edx
push edi
lea edi, [eax + 2]
nop dword [eax + eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x49f520
sub eax, edi
sar eax, 1
lea eax, [eax*2 + 2]
push eax
push edx
push dword [ebp + 0x10]
push 0
push dword [ebp + 8]
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
pop edi
pop esi
pop ebp
ret 0xc
Function at 0x4a26b0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
mov eax, dword [edi]
add eax, eax
mov dword [edi], 0
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x10]
push eax
push esi
lea eax, [ebp + 0xc]
push eax
push 0
push dword [ebp + 8]
push dword [ecx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4a2721
mov eax, dword [ebp + 0xc]
cmp eax, 1
je 0x4a26ef
cmp eax, 2
jne 0x4a270b
mov ecx, dword [ebp + 0x10]
test esi, esi
je 0x4a271b
test ecx, ecx
je 0x4a2716
test cl, 1
jne 0x4a270b
mov eax, ecx
shr eax, 1
cmp word [esi + eax*2 - 2], 0
je 0x4a271b
pop edi
mov eax, 0xd
pop esi
pop ebp
ret 0xc
xor eax, eax
mov word [esi], ax
shr ecx, 1
xor eax, eax
mov dword [edi], ecx
pop edi
pop esi
pop ebp
ret 0xc
Function at 0x4a501f
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 0x4f76bf
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
and eax, 0x3f
mov edx, dword [ebp + 0xc]
push ebx
sar ecx, 6
push esi
push edi
imul edi, eax, 0x30
mov eax, dword [ecx*4 + 0x5569e8]
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax + edi + 0x18]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x4f7700
cmp byte [edx], 0xa
jne 0x4f7700
or byte [eax + edi + 0x28], 4
jmp 0x4f7705
and byte [eax + edi + 0x28], 0xfb
lea eax, [edx + ecx]
mov ebx, edx
mov dword [ebp - 8], eax
mov esi, edx
cmp edx, eax
jae 0x4f77f6
mov al, byte [ebx]
cmp al, 0x1a
je 0x4f77d7
cmp al, 0xd
je 0x4f772e
mov byte [esi], al
inc esi
inc ebx
jmp 0x4f77cc
lea eax, [ebx + 1]
cmp eax, dword [ebp - 8]
jae 0x4f774e
cmp byte [eax], 0xa
jne 0x4f7743
push 2
mov byte [esi], 0xa
pop eax
jmp 0x4f7749
xor eax, eax
mov byte [esi], 0xd
inc eax
add ebx, eax
inc esi
jmp 0x4f77cc
push 0
mov ebx, eax
lea eax, [ebp - 0x14]
push eax
push 1
lea eax, [ebp - 1]
push eax
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4f77c5
cmp dword [ebp - 0x14], 0
je 0x4f77c5
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx*4 + 0x5569e8]
test byte [eax + edi + 0x28], 0x48
je 0x4f779c
mov dl, byte [ebp - 1]
cmp dl, 0xa
jne 0x4f778c
mov byte [esi], dl
jmp 0x4f77c8
mov byte [esi], 0xd
mov eax, dword [ecx*4 + 0x5569e8]
mov byte [eax + edi + 0x2a], dl
jmp 0x4f77c8
cmp byte [ebp - 1], 0xa
jne 0x4f77ae
mov edx, dword [ebp + 0xc]
cmp esi, edx
jne 0x4f77ae
mov byte [esi], 0xa
jmp 0x4f774b
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.004e3b33
add esp, 0x10
cmp byte [ebp - 1], 0xa
je 0x4f77c9
mov byte [esi], 0xd
inc esi
mov edx, dword [ebp + 0xc]
cmp ebx, dword [ebp - 8]
jb 0x4f7717
jmp 0x4f77f6
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx*4 + 0x5569e8]
mov al, byte [ecx + edi + 0x28]
test al, 0x40
jne 0x4f77f1
or al, 2
mov byte [ecx + edi + 0x28], al
jmp 0x4f77f6
mov cl, byte [ebx]
mov byte [esi], cl
inc esi
sub esi, edx
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4f7801
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
and eax, 0x3f
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
sar ecx, 6
imul edi, eax, 0x30
mov dword [ebp - 8], ecx
push 0xa
mov eax, dword [ecx*4 + 0x5569e8]
pop ebx
mov edx, dword [edi + eax + 0x18]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp + 0xc]
test esi, esi
je 0x4f7845
cmp word [edx], bx
jne 0x4f7845
or byte [edi + eax + 0x28], 4
jmp 0x4f784a
and byte [edi + eax + 0x28], 0xfb
lea eax, [edx + esi*2]
mov ebx, edx
mov dword [ebp - 0xc], eax
mov esi, edx
cmp edx, eax
jae 0x4f799e
mov dword [ebp - 0x10], 0xd
movzx eax, word [ebx]
cmp eax, 0x1a
je 0x4f797e
cmp ax, word [ebp - 0x10]
je 0x4f7883
mov word [esi], ax
add esi, 2
add ebx, 2
jmp 0x4f7973
lea eax, [ebx + 2]
cmp eax, dword [ebp - 0xc]
jae 0x4f78a9
push 0xa
pop ecx
cmp word [eax], cx
jne 0x4f7899
push ecx
pop eax
push 4
jmp 0x4f789e
push 0xd
pop eax
push 2
mov word [esi], ax
pop eax
add ebx, eax
jmp 0x4f796d
push 0
mov ebx, eax
lea eax, [ebp - 0x18]
push eax
push 2
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4f7964
cmp dword [ebp - 0x18], 0
je 0x4f7964
mov ecx, dword [ebp - 8]
push 0xa
mov eax, dword [ecx*4 + 0x5569e8]
test byte [edi + eax + 0x28], 0x48
pop eax
je 0x4f7930
mov dx, word [ebp - 4]
cmp dx, ax
jne 0x4f78f4
mov word [esi], ax
jmp 0x4f7928
push 0xd
pop eax
mov word [esi], ax
mov eax, dword [ecx*4 + 0x5569e8]
mov word [ebp - 0x20], dx
push 0xa
mov byte [edi + eax + 0x2a], dl
mov ecx, dword [ecx*4 + 0x5569e8]
mov al, byte [ebp - 0x1f]
pop edx
mov byte [edi + ecx + 0x2b], al
mov ecx, dword [ebp - 8]
mov eax, dword [ecx*4 + 0x5569e8]
mov byte [edi + eax + 0x2c], dl
mov edx, dword [ebp + 0xc]
add esi, 2
jmp 0x4f7973
cmp word [ebp - 4], ax
jne 0x4f7945
mov edx, dword [ebp + 0xc]
cmp esi, edx
jne 0x4f7945
mov word [esi], ax
add esi, 2
jmp 0x4f7973
push 1
push 0xffffffffffffffff
push 0xfffffffffffffffe
push dword [ebp + 8]
call fcn.004e3b33
mov edx, dword [ebp + 0xc]
add esp, 0x10
push 0xa
pop eax
cmp word [ebp - 4], ax
je 0x4f7970
jmp 0x4f7967
mov edx, dword [ebp + 0xc]
push 0xd
pop eax
mov word [esi], ax
add esi, 2
mov ecx, dword [ebp - 8]
cmp ebx, dword [ebp - 0xc]
jb 0x4f7863
jmp 0x4f799e
mov ecx, dword [ecx*4 + 0x5569e8]
mov al, byte [edi + ecx + 0x28]
test al, 0x40
jne 0x4f7995
or al, 2
mov byte [edi + ecx + 0x28], al
jmp 0x4f799e
mov cx, word [ebx]
mov word [esi], cx
add esi, 2
sub esi, edx
and esi, 0xfffffffe
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4fda12
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.004fd6b4
Function at 0x10005e4e
Capabilities:
Query or enumerate registry value

Disassembly:
push 8
mov eax, 0x10007a20
call fcn.100078a2
cmp byte [0x1000b945], 0
je 0x10005e6d
mov eax, dword [0x1000b948]
jmp 0x10005f43
lea eax, [ebp - 0x10]
xor esi, esi
push eax
push 0x20019
push esi
push str.SoftwarePoliciesMicrosoftSecurity
mov dword [ebp - 4], esi
push 0x80000001
mov dword [ebp - 0x10], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x10005ebd
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 4
push eax
push 0x1000b948
push esi
push esi
push str.CLSIDInterfaceTest
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x10005ebd
cmp dword [ebp - 0x14], 4
je 0x10005f16
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], esi
test eax, eax
je 0x10005ece
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x10]
push eax
push 0x20019
push esi
push str.SoftwareMicrosoftSecurity
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x10005f1e
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 4
push eax
push 0x1000b948
push esi
push esi
push str.CLSIDInterfaceTest
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x10005f1e
cmp dword [ebp - 0x14], 4
jne 0x10005f1e
mov esi, dword [0x1000b948]
jmp 0x10005f24
mov dword [0x1000b948], esi
mov byte [0x1000b945], 1
mov dword [ebp - 4], 3
cmp dword [ebp - 0x10], 0
je 0x10005f41
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
call fcn.10007880
ret

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

Disassembly:
pushal
mov eax, section..rsrc
nop
mov ebx, 0x40915c
nop
nop
mov ecx, 0x156351a
nop
test eax, eax
nop
nop
nop
nop
nop
nop
nop
je 0x43104e
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x431024
nop
nop
mov eax, section..data
mov ebx, 0x42f3f8
nop
nop
mov ecx, 0x1920170b
nop
nop
test eax, eax
nop
nop
nop
je 0x431084
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
add eax, 4
cmp eax, ebx
nop
nop
nop
nop
jne 0x43106c
nop
nop
nop
nop
nop
popal
nop
nop
nop
nop
jmp 0x401219
Function at 0x4127f8
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, edx
mov eax, ebx
cdq
and edx, 3
push esi
push edi
lea edi, [edx + eax]
mov edx, dword [ebp + 8]
sar edi, 2
lea esi, [ecx + edi*4]
neg edi
je 0x412839
imul eax, dword [esi + edi*4], 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, edx
rol eax, 0xd
imul edx, eax, 5
sub edx, 0x19ab949c
add edi, 1
jne 0x412816
mov eax, ebx
xor ecx, ecx
and eax, 3
sub eax, 1
je 0x41285f
sub eax, 1
je 0x412856
sub eax, 1
jne 0x412875
movzx ecx, byte [esi + 2]
shl ecx, 0x10
movzx eax, byte [esi + 1]
shl eax, 8
xor ecx, eax
movzx eax, byte [esi]
xor eax, ecx
imul eax, eax, 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor edx, eax
xor edx, ebx
mov eax, edx
shr eax, 0x10
xor eax, edx
imul ecx, eax, 0x85ebca6b
pop edi
pop esi
pop ebx
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul eax, eax, 0xc2b2ae35
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
pop ebp
ret

Function at 0x412ad8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push dword [ebp + 8]
mov ebx, edx
mov edi, ecx
call fcn.00401d33
xor esi, esi
mov dword [ebp - 4], eax
pop ecx
test ebx, ebx
jle 0x412b09
mov ecx, dword [ebp + 8]
mov eax, esi
cdq
idiv dword [ebp - 4]
mov al, byte [edx + ecx]
xor byte [esi + edi], al
inc esi
cmp esi, ebx
jl 0x412af8
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx
Function at 0x1000ec86
Capabilities:
Hash data using djb2

Disassembly:
movzx eax, word [ecx]
mov edx, 0x1505
push esi
xor esi, esi
jmp 0x1000eca0
imul edx, edx, 0x21
movzx eax, ax
xor edx, eax
inc esi
movzx eax, word [ecx + esi*2]
test ax, ax
jne 0x1000ec93
imul eax, edx, 0x41c64e6d
imul ecx, edx, 0x10dcd
pop esi
add eax, 0x3039
shr eax, 0x10
inc ecx
and ecx, 0xffff0000
or eax, ecx
ret

Function at 0x1000f8cb
Capabilities:
Hash data using djb2

Disassembly:
push esi
mov esi, ecx
test esi, esi
jne 0x1000f8d7
or eax, 0xffffffff
pop esi
ret
movzx eax, word [esi]
push ebx
push edi
mov edi, 0x1505
xor ebx, ebx
jmp 0x1000f8ff
movzx ecx, ax
add eax, 0xffffffbf
cmp ax, 0x19
lea edx, [ecx + 0x20]
cmova edx, ecx
imul edi, edi, 0x21
xor edi, edx
inc ebx
movzx eax, word [esi + ebx*2]
test ax, ax
jne 0x1000f8e5
imul eax, edi, 0x41c64e6d
imul ecx, edi, 0x10dcd
pop edi
pop ebx
pop esi
add eax, 0x3039
shr eax, 0x10
inc ecx
and ecx, 0xffff0000
or eax, ecx
ret

Function at 0x10021965
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
pushal
call 0x10021974
pop dword [ebp - 8]
mov eax, 0x10021974
sub dword [ebp - 8], eax
mov dword [ebp - 0x18], 0x3127aae0
add dword [ebp - 0x18], 0x1d2a9a6b
mov dword [ebp - 0x14], 0x6166cfda
sub dword [ebp - 0x14], 0x2f338395
mov dword [ebp - 0x10], 0x79784469
add dword [ebp - 0x10], 0xd2d3ffc5
mov dword [ebp - 0xc], 0xfebbd86
add dword [ebp - 0xc], 0xf014427a
lea eax, [ebp - 0x18]
push eax
mov eax, 0xa5c1e159
sub eax, 0x95bf705d
add eax, dword [ebp - 8]
call dword [eax]
mov dword [ebp - 0x18], 0x511c7c9
sub dword [ebp - 0x18], 0x909f5e73
mov dword [ebp - 0x14], 0xa07f1553
add dword [ebp - 0x14], 0xa0ed4c22
mov dword [ebp - 0x10], 0x28364e8f
add dword [ebp - 0x10], 0x3b391ddd
mov dword [ebp - 0xc], 0x75851935
sub dword [ebp - 0xc], 0x75851935
lea ebx, [ebp - 0x18]
push ebx
push eax
mov eax, 0xfd6b9ea7
add eax, 0x1296d181
add eax, dword [ebp - 8]
call dword [eax]
push 0x40
push 0x1000
push 0x3d8af
push 0
call eax
mov ecx, 0xf2c985e
add ecx, 0xf0d3b004
xor edi, edi
add edi, eax
mov esi, 0x10041c00
add esi, dword [ebp - 8]
mov ebx, 0x6d676f85
add ebx, 0x827661cd
sub dword [ebp - 4], 0x4a4bb460
mov edx, dword [esi]
sub dword [ebp - 4], ecx
xor edx, ebx
mov dword [ebp - 4], 0x7f457dd6
mov dword [edi], edx
sub dword [ebp - 4], edx
add edi, 0xa51bafe6
add edi, 0x5ae4501e
add esi, 0xe179a9ae
sub esi, 0xe179a9aa
loop 0x10021a8d
add eax, 0x1145b
xor ebx, ebx
add ebx, eax
add eax, 5
mov ecx, 0x10000000
add ecx, dword [ebp - 8]
call ebx
leave
ret
Function at 0x100073fc
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push esi
and esp, 0xfffffff8
sub esp, 0x98
lea eax, [esp + 0x28]
lea ecx, [esp + 0x38]
mov dword [0x1028b078], 0x1e02
mov dword [esp], eax
mov dword [esp + 0x24], ecx
call fcn.10008742
lea ecx, [0x10007550]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x88], edx
mov dword [0x1028b078], 0x3f2
mov dword [esp + 0x80], 0x134a00
mov edx, dword [0x1028b064]
mov dword [esp + 0x4c], edx
mov edx, dword [0x1028b068]
mov dword [esp + 0x50], edx
mov edx, dword [0x1028b06c]
mov dword [esp + 0x44], edx
mov edx, dword [0x1028b070]
mov dword [esp + 0x68], edx
mov edx, dword [0x1028b074]
mov dword [esp + 0x38], edx
mov dword [0x1028b07c], 0xffffe050
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
cmp word [eax], 0x5a4d
mov dword [esp + 0x18], eax
jne 0x100074b4
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x3c]
cmp dword [eax + ecx], 0x4550
mov dword [esp + 0x14], ecx
je 0x100074da
mov eax, dword [esp + 0x18]
add eax, 0xfffff000
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
and eax, 0xfffff000
mov dword [0x1028b078], 0x18db
mov dword [esp + 0x1c], eax
jmp 0x10007491
lea eax, [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
mov dword [0x1028b07c], 0x983
mov dword [0x1028b078], 0x297
mov edx, dword [esp + 0x14]
mov esi, dword [ecx + edx + 0x50]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.100085d6
mov dword [0x1028b07c], 0x8f1
mov ecx, esp
lea edx, [esp + 0x38]
mov dword [ecx], edx
call eax
sub esp, 4
mov eax, dword [0x1028b07c]
add eax, 0xffffde88
mov dword [esp + 0xc], eax
mov eax, 2
mov ecx, dword [esp + 0xc]
mov dword [0x1028b078], ecx
lea esp, [ebp - 4]
pop esi
pop ebp
ret
Function at 0x10007c0f
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
xor esi, esi
mov dword [0x1028b084], 0
mov byte [0x1028b088], 0
mov edi, dword [0x1028b07c]
add edi, 0xfffff865
mov dword [0x1028b07c], edi
mov dword [0x1028b080], 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], esi
jmp 0x10007d46
xor eax, eax
mov ecx, dword [0x1028b07c]
mov edx, ecx
add edx, 0x155b
mov dword [0x1028b078], edx
mov dword [0x1028b080], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov edx, 0x100
mov dword [ebp - 0x28], eax
mov eax, ecx
xor esi, esi
mov dword [ebp - 0x2c], edx
mov edx, esi
mov esi, dword [ebp - 0x10]
div esi
mov edi, dword [ebp - 0x28]
add edi, 0xfffffb22
mov dword [0x1028b07c], edi
mov edi, dword [0x1028b084]
mov ebx, dword [ebp - 0x18]
movzx esi, byte [ebx + ecx]
add esi, edi
mov edi, dword [ebp - 0x14]
movzx edx, byte [edi + edx]
add esi, edx
mov eax, esi
cdq
mov esi, dword [ebp - 0x2c]
idiv esi
mov dword [0x1028b084], edx
mov bl, byte [ebx + ecx]
mov byte [0x1028b088], bl
mov dword [0x1028b07c], 0xc06
mov esi, dword [ebp - 0x18]
mov bl, byte [esi + edx]
mov byte [esi + ecx], bl
mov bl, byte [0x1028b088]
mov ecx, dword [0x1028b084]
mov byte [esi + ecx], bl
mov ecx, dword [0x1028b078]
add ecx, 0x2167
mov dword [0x1028b078], ecx
mov ecx, dword [0x1028b080]
add ecx, 1
mov dword [0x1028b080], ecx
mov edx, dword [0x1028b07c]
cmp ecx, 0x100
mov esi, edx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x20], ecx
jl 0x10007c87
jmp 0x10007d7b
mov eax, dword [ebp - 0x1c]
mov ecx, eax
mov dl, cl
mov dword [0x1028b07c], 0xca1
mov ecx, dword [ebp - 0x18]
mov byte [ecx + eax], dl
mov eax, dword [0x1028b080]
add eax, 1
mov dword [0x1028b080], eax
cmp eax, 0x100
mov dword [ebp - 0x1c], eax
jl 0x10007d46
jmp 0x10007c61
mov eax, dword [ebp - 0x30]
add eax, 0x459
mov dword [0x1028b07c], eax
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x10007d9d
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [0x1028b07c], 0x1e81
mov dword [0x1028b080], 0
mov dword [0x1028b084], 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], esi
xor eax, eax
mov dword [0x1028b08c], 0
mov dword [0x1028b078], 0x26dd
mov ecx, dword [ebp - 0x10]
cmp ecx, 0
mov edx, eax
mov esi, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], eax
je 0x10007f24
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov esi, 0x100
add ecx, 1
mov dword [ebp - 0x2c], eax
mov eax, ecx
mov dword [ebp - 0x30], edx
cdq
idiv esi
mov dword [0x1028b080], edx
mov dword [0x1028b078], 0x4eb
mov ecx, dword [ebp - 0x1c]
movzx edi, byte [ecx + edx]
mov ebx, dword [ebp - 0x30]
add edi, ebx
mov eax, edi
mov dword [ebp - 0x34], edx
cdq
idiv esi
mov dword [0x1028b084], edx
mov dword [0x1028b07c], 0xa9a
mov esi, dword [ebp - 0x34]
mov cl, byte [ecx + esi]
mov byte [0x1028b088], cl
mov dword [0x1028b078], 0xffffe7ca
mov edi, dword [ebp - 0x1c]
mov cl, byte [edi + edx]
mov byte [edi + esi], cl
mov edx, dword [0x1028b07c]
add edx, 0xffffe4a8
mov dword [0x1028b078], edx
mov cl, byte [0x1028b088]
mov edx, dword [0x1028b084]
mov byte [edi + edx], cl
mov dword [0x1028b07c], 0x1f7a
mov edx, dword [0x1028b080]
movzx edx, byte [edi + edx]
mov ebx, dword [0x1028b084]
movzx ebx, byte [edi + ebx]
add ebx, edx
and ebx, 0xff
mov dword [0x1028b08c], ebx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
mov cl, byte [edx + ecx]
xor cl, byte [edi + ebx]
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x2c]
mov byte [ebx + edx], cl
mov dword [0x1028b078], 0x1826
add edx, 1
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
mov dword [ebp - 0x38], edx
je 0x10007f24
mov eax, dword [0x1028b080]
mov ecx, dword [0x1028b084]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x28], edx
jmp 0x10007e0e
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret