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

Disassembly:
pushfd
add dword [esp + 4], 0xffbe8f0b
push ebx
push ebp
mov dword [esp + 0xc], 0xf65b007
mov ebp, 0x5917249c
neg bp
mov ebx, 0x1dfe4a78
bswap ebp
jno 0x602a07
not bl
mov ebp, dword [esp]
movzx ebx, bl
not bl
mov bl, 7
call fcn.0053f754
mov ecx, dword [edi]
sub al, ch
or eax, ecx
mov eax, dword [edi + 4]
cmc
jmp fcn.004041f3

Function at 0x673e49
Capabilities:
Encode data using xor

Disassembly:
in al, 0xf7
invalid
call fcn.0060a13b
push ecx
pushfd
mov ecx, 0x50ad740c
push ebx
push ecx
xor dword [esp], ecx
mov ecx, dword [esp + 0xc]
call fcn.005c8d35
test dword [eax - 0xb], ecx
cmp dword [ecx + 0x18], 0x1b3b4ca8
push esp
pushal
and ch, byte [eax + 0x57]
sub ah, cl
mov es, word [ecx]
xor bh, byte [0x41ba964c]
and ebp, ebp
mov byte [0xacf99764], al
jl 0x673e3d
pop ebp
sub al, 0xdd
out dx, al
ljmp 0x84a4

Function at 0x683c8a
Capabilities:
Encode data using xor

Disassembly:
cmp ecx, eax
inc edx
push 0x5e
aaa
dec eax
sub byte [edi - 0x65d7c660], bh
inc edi
int 0x77
pop edx
xor eax, 0x4937d6c6
frstor dword [ecx]
xor ebp, dword [eax]
mov dh, 5
mov cl, 0x20
dec eax
or dword [edi], esp
jg 0x683c45
xlatb
push 0x6c
bswap eax
xlatb
pop es
aaa
rcl bh, 1
mov bh, 0x3e
outsd dx, dword [esi]
invalid
call fcn.004f174e
call dword [esi - 0x4a]
hlt
push esi
mov dh, 0xf4
xor dword [edx - 0x3c3756b], 0x75
jns 0x683c8f
cld
lahf
inc ebp
push esi
out dx, eax
add edi, ebp
mov dword [eax], ebp
jl 0x683c48
out dx, eax
insb byte es:[edi], dx
cmc
xor dword [ebx], 0x1a
add esp, dword [eax]
adc edx, eax
or bh, ah
pop ss
sti
add eax, 0x732d006f
jns 0x683c8e
in ax, 0x2c
add byte [edi - 0x3a55b499], ch
enter 0xffffffffffff83e9, 0x10
inc eax
out dx, eax
sub al, 0x86
ret 0xb354
Function at 0x3000c3b8
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
pop ebp
jmp dword [sym.imp.KERNEL32.dll_CreateProcessW]

Function at 0x3000c3cc
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push esi
push 0x3c
pop esi
push esi
lea eax, [ebp - 0x3c]
push eax
call fcn.3000bf34
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp dword [ebp + 0x14], eax
mov dword [ebp - 0x3c], esi
sete al
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x18]
or eax, 0x40
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov esi, eax
test esi, esi
je 0x3000c428
cmp dword [ebp - 4], 0
je 0x3000c428
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
pop esi
leave
ret 0x14

Function at 0x3000c9d0
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x30002edc]
jne 0x3000d371
ret
push ebp
mov ebp, esp
sub esp, 0x328
mov dword [0x3000f898], eax
mov dword [0x3000f894], ecx
mov dword [0x3000f890], edx
mov dword [0x3000f88c], ebx
mov dword [0x3000f888], esi
mov dword [0x3000f884], edi
mov word [0x3000f8b0], ss
mov word [0x3000f8a4], cs
mov word [0x3000f880], ds
mov word [0x3000f87c], es
mov word [0x3000f878], fs
mov word [0x3000f874], gs
pushfd
pop dword [0x3000f8a8]
mov eax, dword [ebp]
mov dword [0x3000f89c], eax
mov eax, dword [ebp + 4]
mov dword [0x3000f8a0], eax
lea eax, [ebp + 8]
mov dword [0x3000f8ac], eax
mov eax, dword [ebp - 0x320]
mov dword [0x3000f7e8], 0x10001
mov eax, dword [0x3000f8a0]
mov dword [0x3000f79c], eax
mov dword [0x3000f790], 0xc0000409
mov dword [0x3000f794], 1
mov eax, dword [0x30002edc]
mov dword [ebp - 0x328], eax
mov eax, dword [0x3000f0c4]
mov dword [ebp - 0x324], eax
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [0x3000f7e0], eax
push 1
call sub.MSVCR80.dll__crt_debugger_hook
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push 0x30003228
call dword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
cmp dword [0x3000f7e0], 0
jne 0x3000d461
push 1
call sub.MSVCR80.dll__crt_debugger_hook
pop ecx
push 0xc0000409
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
leave
ret

Function at 0x3000c9dd
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
lea eax, [ebp - 4]
push eax
push 0x20019
push 0
push 0x30002f28
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x3000ca35
mov eax, dword [ebp + 0xc]
push edi
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
push 0
push 0
push 0x30002f20
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 4]
mov edi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
pop edi
jne 0x3000ca35
mov al, 1
jmp 0x3000ca37
xor al, al
leave
ret 8
Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43000c
nop
nop
nop
pop eax
nop
nop
nop
add eax, 0x403d6f
nop
sub eax, 0x403d15
nop
nop
nop
nop
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
nop
nop
xor dword [ebx], edx
nop
nop
nop
nop
add ebx, 4
cmp ebx, ecx
nop
nop
nop
nop
nop
nop
jl 0x430030
nop
nop
nop
nop
nop
add eax, 0xc
nop
nop
nop
cmp dword [eax], 0
nop
jne 0x43001e
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp loc.00401219

Function at 0x41ad50
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, 0x411015
lea edi, [esi - 0x10015]
push edi
or ebp, 0xffffffff
jmp 0x41ad72
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x41ad79
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x41ad68
mov eax, 1
add ebx, ebx
jne 0x41ad8b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x41ad80
jne 0x41ad9c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x41ad80
xor ecx, ecx
sub eax, 3
jb 0x41adb0
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x41ae22
mov ebp, eax
add ebx, ebx
jne 0x41adbb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x41adc8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x41adec
inc ecx
add ebx, ebx
jne 0x41add8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x41adcd
jne 0x41ade9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x41adcd
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x41ae0c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x41adfd
jmp 0x41ad6e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x41ae0c
add edi, ecx
jmp 0x41ad6e
pop esi
mov edi, esi
mov ecx, 0x2b3
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x41ae2a
cmp byte [edi], 5
jne 0x41ae2a
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 0x41ae2f
lea edi, [esi + 0x18000]
mov eax, dword [edi]
or eax, eax
je 0x41aea7
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x1a000]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x1a094]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x41ae5c
mov ecx, edi
jns 0x41ae8b
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 + 0x1a09c]
or eax, eax
je 0x41aea1
mov dword [ebx], eax
add ebx, 4
jmp 0x41ae79
call dword [esi + 0x1a098]
mov ebp, dword [esi + 0x1a0a0]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x19f]
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 0x41aedb
sub esp, 0xffffff80
jmp 0x404c20
Function at 0xd7b9fd
Capabilities:
Authenticate hmac

Disassembly:
jg 0xd7ba69
jle 0xd7ba00
invalid
jg 0xd7ba18
inc ecx
scasb al, byte es:[edi]
cmp dword [0x3d8809e6], 0xffffffe0
or dword [0x933e940a], edx
or dl, byte [ebp + 4]
push ecx
inc esp
adc byte [esi + 0x1041684f], al
inc ebp
mov ch, byte [edi + edx*8 + 0x61]
xchg byte [edi + 0x68], cl
inc ecx
adc byte [ebp - 0x76], al
insb byte es:[edi], dx
xlatb
popal
and byte [eax + 0x68ca820a], cl
loopne 0xd7ba90
pop eax
test al, 0xa6
out 0x52, eax
movd dword [edi + edi*8 + 0x57], mm6
cdq
xchg byte [eax + edi*4 - 0x53], ah
or eax, dword [edi]
inc edx
scasb al, byte es:[edi]
or esp, ebx
or edi, dword [ecx - 0x6e7b0abe]
inc edx
aad 0xb
mov bh, 0x92
inc edx
mov ch, 0x40
push esp
or edi, dword [esi + 0x76]
mov ss, word [ebp - 0x2b]
add dh, byte [ecx + 0x4f]
or al, 0x78
stosb byte es:[edi], al
push esp
mov es, word [ebx - 1]
das
xor byte [ebx + ebx*2 - 0x51bb5992], cl
inc esp
mov eax, 0xe30ccb44
or al, 0xc9
or al, 0x20
invalid
inc esp
retf
pushal
or eax, 0xd634632
in al, dx
inc esi
invalid
Function at 0xdfd060
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x643000]
push edi
jmp 0xdfd07a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0xdfd081
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xdfd070
mov eax, 1
add ebx, ebx
jne 0xdfd093
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0xdfd0a4
jne 0xdfd0c3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xdfd0c3
dec eax
add ebx, ebx
jne 0xdfd0b0
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0xdfd088
add ebx, ebx
jne 0xdfd0bf
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0xdfd115
xor ecx, ecx
sub eax, 3
jb 0xdfd0db
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0xdfd14a
sar eax, 1
mov ebp, eax
jmp 0xdfd0e6
add ebx, ebx
jne 0xdfd0e6
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xdfd0b4
inc ecx
add ebx, ebx
jne 0xdfd0f4
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0xdfd0b4
add ebx, ebx
jne 0xdfd101
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0xdfd0f6
jne 0xdfd112
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0xdfd0f6
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0xdfd134
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0xdfd126
jmp 0xdfd076
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0xdfd134
add edi, ecx
jmp 0xdfd076
pop esi
mov edi, esi
mov ecx, 0x29bad0
mov al, 0xe8
repne scasb al, byte es:[edi]
jne 0xdfd16f
cmp byte [edi], 0x16
jne 0xdfd154
mov eax, dword [edi]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
add eax, esi
stosd dword es:[edi], eax
jmp 0xdfd152
lea edi, [esi + 0x9f8000]
mov eax, dword [edi]
or eax, eax
je 0xdfd1c0
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0xa19d10]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0xa19f14]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0xdfd175
mov ecx, edi
jns 0xdfd1a4
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 + 0xa19f1c]
or eax, eax
je 0xdfd1ba
mov dword [ebx], eax
add ebx, 4
jmp 0xdfd192
call dword [esi + 0xa19f18]
mov ebp, dword [esi + 0xa19f20]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x23f]
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 0xdfd1f4
sub esp, 0xffffff80
jmp 0x69c878
Function at 0x80e410
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, 0xc0a000
lea edi, [esi - 0x3b9000]
push edi
jmp 0x80e42a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x80e431
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x80e420
mov eax, 1
add ebx, ebx
jne 0x80e443
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x80e454
jne 0x80e473
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x80e473
dec eax
add ebx, ebx
jne 0x80e460
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x80e438
add ebx, ebx
jne 0x80e46f
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x80e4c5
xor ecx, ecx
sub eax, 3
jb 0x80e48b
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x80e4fa
sar eax, 1
mov ebp, eax
jmp 0x80e496
add ebx, ebx
jne 0x80e496
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x80e464
inc ecx
add ebx, ebx
jne 0x80e4a4
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x80e464
add ebx, ebx
jne 0x80e4b1
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x80e4a6
jne 0x80e4c2
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x80e4a6
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x80e4e4
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x80e4d6
jmp 0x80e426
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x80e4e4
add edi, ecx
jmp 0x80e426
pop esi
mov edi, esi
mov ecx, 0x3ed9
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x80e502
cmp byte [edi], 0x11
jne 0x80e502
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 0x80e507
lea edi, [esi + 0x407000]
mov eax, dword [edi]
or eax, eax
je 0x80e57f
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x743e94]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x744010]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x80e534
mov ecx, edi
jns 0x80e563
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 + 0x744014]
or eax, eax
je 0x80e579
mov dword [ebx], eax
add ebx, 4
jmp 0x80e551
call dword [esi + 0x744024]
add edi, 4
lea ebx, [esi - 4]
xor eax, eax
mov al, byte [edi]
inc edi
or eax, eax
je 0x80e5b0
cmp al, 0xef
ja 0x80e5a3
add ebx, eax
mov eax, dword [ebx]
xchg ah, al
rol eax, 0x10
xchg ah, al
add eax, esi
mov dword [ebx], eax
jmp 0x80e585
and al, 0xf
shl eax, 0x10
mov ax, word [edi]
add edi, 2
jmp 0x80e592
mov ebp, dword [esi + 0x744018]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x227]
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 0x80e5e4
sub esp, 0xffffff80
jmp 0x425f74
Function at 0x4067c4
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
push esi
mov esi, 0x104
lea eax, [ebp - 0x23c]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp eax, esi
pop esi
jbe 0x4067e8
xor eax, eax
test eax, eax
je 0x4067fb
cmp word [ebp + eax*2 - 0x23e], 0x5c
je 0x4067fb
xor ecx, ecx
jmp 0x4067fe
xor ecx, ecx
inc ecx
push dword [ebp + 8]
lea ecx, [ecx*2 + 0x40a014]
lea eax, [ebp + eax*2 - 0x23c]
push ecx
push str._s_S.dll
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0x23c]
push 8
push 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
leave
ret 4

Function at 0x406927
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
cmp dword [0x427dcc], 0
push esi
jne 0x40695e
xor ecx, ecx
push 8
mov eax, ecx
pop esi
mov edx, eax
and dl, 1
neg dl
sbb edx, edx
and edx, 0xedb88320
shr eax, 1
xor eax, edx
dec esi
jne 0x406938
mov dword [ecx*4 + 0x427dc8], eax
inc ecx
cmp ecx, 0x100
jl 0x406933
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
test edx, edx
not eax
jbe 0x40698f
mov ecx, dword [esp + 0xc]
push edi
movzx edi, byte [ecx]
mov esi, eax
and esi, 0xff
xor esi, edi
shr eax, 8
mov esi, dword [esi*4 + 0x427dc8]
xor eax, esi
inc ecx
dec edx
jne 0x406971
pop edi
not eax
pop esi
ret 0xc

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

Disassembly:
pushal
nop
mov eax, section..text
nop
mov ebx, 0x40915c
mov ecx, 0x4b295bae
nop
nop
nop
nop
nop
test eax, eax
nop
nop
nop
nop
je 0x43104e
nop
nop
nop
xor dword [eax], ecx
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x431024
nop
mov eax, section..data
nop
mov ebx, 0x42f3f8
nop
mov ecx, 0x79560240
nop
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x431084
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
add eax, 4
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
nop
jne 0x43106c
nop
nop
nop
nop
nop
nop
popal
jmp 0x401219
Function at 0x51bcaf
Capabilities:
Encode data using xor

Disassembly:
mov word [esp + 4], 0x7d32
mov byte [esp + 4], bh
lea esp, [esp + 0x38]
je 0x5540bf
pushal
test ax, bx
test cx, 0xa66c
add eax, edi
bt cx, bx
cmp eax, edx
call fcn.0053a351
xor eax, 0xf02c5b2b
mov ecx, 0x5c3c46c8
cmp ch, byte [esi]
push eax
invalid

Function at 0x51ecb3
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmc
clc
jmp 0x53abde
cmp edi, ebx
pushfd
mov byte [esp + 8], 0xb9
lea esp, [esp + 0x30]
ja 0x51ba1a
and al, 0xba
sub ebx, edi
pushfd
clc
movzx di, cl
add al, al
lea esp, [esp + 4]
add ebx, esp
rcr al, cl
xor di, 0xfbff
inc al
sub di, 0x80e4
mov edi, ebx
cmp bx, dx
neg al
jmp 0x540b24
adc byte [esi + 0x296d47c], al
leave
xchg edi, eax
pop ebx
mov al, 0x2e
pushfd
call fcn.0051d2fd
int 0xd3
shl dword [esi + edi - 0x6e643744], cl
cmpsd dword [esi], dword es:[edi]
movsb byte es:[edi], byte [esi]
mov esp, 0xa7919bc8
jns 0x540b2f
cdq
out 0x50, eax
sbb byte [esi + 0x32], ah
fmul qword fs:[eax + 8]
push 0xffffffffffffffee
xor eax, 0x191fffb
inc edi
daa
cmp esi, ebp
jb 0x540b4f
dec eax
xor bh, byte [ebp - 0x3aed4ed2]
jne 0x540b1b
pop ebp
fild dword [ebx - 0x1f4a274b]
std
pop eax
mov ah, 0xec
mov dl, 0x62
push ds
adc dh, byte [esp + ebp*2]
and bl, byte [eax]
pushal
mov esi, 0x4f3d6ea
nop
insd dword es:[edi], dx
invalid

Function at 0x52059e
Capabilities:
Encrypt data using rc4 prga

Disassembly:
clc
pushal
stc
sub edi, 4
pushal
bt bx, 8
push dword [edi]
pop dword [esp + 0x3c]
cmc
bt eax, 6
cmp edi, ebx
pushfd
pushfd
lea esp, [esp + 0x44]
ja 0x51ba1a
sub al, cl
clc
sub ebx, edi
bsf edi, edi
cmc
add ebx, esp
neg di
jmp 0x5bf7e6
lea esp, [esp + 0xc]
jne 0x5540bf
btc si, bx
xor ch, 0x83
mov ecx, edi
shrd esi, edi, cl
sub ecx, ebx
pushal
movzx esi, cl
lea esi, [esp + 0x20]
mov byte [esp + 4], 0x46
lea esp, [esp + 0x20]
jmp 0x51ba1a
lahf
mov dword [esp + 0x1c], ebx
movzx ax, bl
bswap ax
lea eax, [0x501020]
pushal
mov dword [esp + 0x38], 0x5bd1a4
push dword [esp]
jmp 0x5b9be9
cmp dx, si
cmp eax, dword [ebp - 0x10]
pushal
lea esp, [esp + 0x20]
jae 0x5540c8
lea edi, [ecx*2 + 0x48c9b9fe]
lea ebx, [esp + 0x5c1a5196]
mov ebx, eax
bts cx, dx
sub cx, bp
movsx cx, bl
mov edi, eax
setns cl
mov ecx, 0x104
stc
jmp 0x5206ac
pushal
stc
add eax, edi
pushfd
stc
mov byte [esp], bh
pushfd
cmp eax, edx
pushfd
mov byte [esp + 4], 0x6a
pushfd
push ecx
lea esp, [esp + 0x38]
jb 0x5540c8
test ch, 0x80
jmp 0x5204a0
xor al, al
pushfd
test ch, cl
cmc
pushfd
repne scasb al, byte es:[edi]
pushfd
jmp 0x51e48d
pushal
mov byte [esp + 4], 0xcf
pushal
mov esp, esi
pushal
lea esp, [esp + 0x20]
jmp 0x5540bf
mov byte [esp], 0xd1
pushfd
mov dword [esp + 0x3c], eax
pushfd
mov byte [esp + 4], 0xc
push dword [esp + 0x40]
ret 0x44
jmp 0x532092
movzx edi, bl
mov edi, ebx
sar al, 6
rol al, 1
mov al, 0xdc
mov al, 0x2e
push 0x81297b4
cmc
repne scasb al, byte es:[edi]
push dword [esp]
push dword [esp + 4]
mov dword [esp + 8], ecx
lea esp, [esp + 0xc]
jne 0x5bf01d
setnp al
lahf
bswap ax
pushal
mov byte [edi - 1], 0
mov ax, word [esp + 4]
cwde
jmp 0x51ef21
Function at 0x1002c760
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [edx + 1]
xor ecx, eax
movzx eax, byte [edx + 2]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 3]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 4]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 5]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 6]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [edx + 7]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
pop ebp
ret 4
Function at 0x1003b2d0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1022304d
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x102d5080]
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 ebx, dword [0x10bbf240]
mov eax, dword [ebp + 0xc]
add ebx, 0xaff3cc8c
mov edi, dword [ebp + 8]
xor ebx, 0x3743f7af
mov dword [ebp - 0x44], eax
mov eax, dword [0x103af1b0]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x30], ebx
test eax, eax
jne 0x1003b434
mov edi, dword [0x103af1ac]
test edi, edi
jne 0x1003b3e0
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x3c], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x38], ecx
cmp ecx, ebx
je 0x1003b3ba
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x1003b3ba
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
sub ecx, 4
dec edx
mov dword [ebp - 0x34], ecx
mov edi, 0x7fb2afe
mov dword [ebp - 0x2c], edx
mov ecx, dword [ecx]
add ecx, ebx
mov bl, byte [ecx]
inc ecx
test bl, bl
je 0x1003b3b0
movsx esi, bl
lea ecx, [ecx + 1]
sub bl, 0x41
mov edx, esi
or edx, 0x20
cmp bl, 0x19
mov bl, byte [ecx - 1]
cmova edx, esi
xor edx, edi
imul edi, edx, 0x1000193
test bl, bl
jne 0x1003b382
mov edx, dword [ebp - 0x2c]
cmp edi, 0x57cb4c6e
je 0x1003b3be
mov ecx, dword [ebp - 0x34]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x1003b368
mov eax, dword [eax]
jmp 0x1003b343
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x30]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov edi, dword [ecx + eax*4]
add edi, esi
mov dword [0x103af1ac], edi
lea eax, [ebp - 0x28]
mov ecx, 0x1036aa50
push eax
call fcn.1004a5d0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
mov eax, dword [0x10bbf240]
cmova ecx, dword [ebp - 0x28]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
push ecx
push dword [eax + 0x158]
call edi
lea ecx, [ebp - 0x28]
mov dword [0x103af1b0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002b0f0
mov eax, dword [0x103af1b0]
mov edi, dword [ebp - 0x40]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call eax
mov ecx, dword [ebx + 0xf0]
mov esi, eax
add esp, 8
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x44]
sub eax, dword [ecx]
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jle 0x1003b47a
mov eax, dword [0x10bbf240]
add eax, 0xaff3cc8c
xor eax, 0x3743f7af
mov eax, dword [eax + 0xf0]
mov eax, dword [eax + 0x1c]
mov dword [ecx], eax
cmp byte [edi], 0
sete al
mov byte [edi], al
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.101f36c3
mov esp, ebp
pop ebp
ret 0x10