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

Disassembly:
mov ecx, dword [esp + 0xc]
xor eax, eax
test ecx, ecx
jbe 0x10005055
mov dl, byte [esp + 8]
push ebx
push ebp
mov ebp, dword [esp + 0x18]
push esi
push edi
mov edi, dword [esp + 0x14]
sub edi, ebp
lea esp, [esp]
lea esi, [eax + ebp]
mov bl, byte [edi + esi]
xor bl, dl
xor bl, al
inc eax
mov byte [esi], bl
cmp eax, ecx
jb 0x10005040
pop edi
pop esi
pop ebp
pop ebx
mov eax, 1
ret 0x10
Function at 0x10009019
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, dword [ebp - 0x88]
mov eax, dword [ebp + 0xc]
inc ebp
or al, 0x66
cmp eax, dword [edi + 6]
jne 0x10009010
mov edx, dword [ebp - 0xb4]
xor ecx, ecx
mov edi, 0x60000000
jmp 0x1000902e
movzx eax, ax
lea eax, [eax + eax*4]
mov ecx, dword [edi + eax*8 + 0x104]
add al, 1
add byte [eax], al
add al, 1
add byte [eax], al
mov edx, dword [edi + eax*8 + 0x108]
lea eax, [edi + eax*8 + 0xf8]
mov edi, dword [eax + 0x24]
lea eax, [edx + ecx - 1]
xor edx, edx
div dword [ebp - 0xac]
xor edx, edx
mov dword [ebp - 0x44], eax
mov eax, ecx
div dword [ebp - 0xac]
cmp eax, dword [ebp - 0x44]
ja 0x1000908c
mov edx, edi
mov dword [ebp + 8], edi
and dword [ebp + 8], 0x40000000
mov dword [ebp + 0x10], edi
and edx, 0x20000000
and dword [ebp + 0x10], 0x80000000
mov ecx, dword [ebp + 0x18]
cmp edx, ebx
je 0x10009073
or byte [eax + ecx], 1
cmp dword [ebp + 8], ebx
je 0x1000907c
or byte [eax + ecx], 2
cmp dword [ebp + 0x10], ebx
je 0x10009086
add ecx, eax
or byte [ecx], 4
inc eax
cmp eax, dword [ebp - 0x44]
jbe 0x10009068
inc dword [ebp + 0xc]
mov eax, dword [ebp - 0x88]
mov cx, word [ebp + 0xc]
cmp cx, word [eax + 6]
jbe 0x10008ff2
mov dword [ebp + 8], esi
xor edi, edi
mov eax, dword [ebp + 0x18]
push 2
pop ecx
movzx eax, byte [edi + eax]
sub eax, ecx
je 0x100090d9
invalid
dec eax
je 0x100090d0
sub eax, 3
je 0x100090c7
invalid
mov dword [ebp - 4], 0x40
jmp 0x100090f6
mov dword [ebp - 4], 4
jmp 0x100090dc
mov dword [ebp - 4], 0x20
jmp 0x100090dc
mov dword [ebp - 4], ecx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push dword [ebp - 0xac]
push dword [ebp + 8]
call dword [ebp - 0xbc]
test eax, eax
je 0x10009128
mov eax, dword [ebp - 0xac]
add dword [ebp + 8], eax
inc edi
cmp edi, dword [ebp - 0x8c]
jbe 0x100090a8
push 0x8000
push ebx
push esi
call dword [ebp - 8]
xor eax, eax

Function at 0x10009d30
Capabilities:
Contain obfuscated stackstrings

Disassembly:
and dword [ebp - 0x700], 0
jmp 0x10009d46
mov eax, dword [ebp - 0x700]
inc eax
mov dword [ebp - 0x700], eax
cmp dword [ebp - 0x700], 5
jge 0x10009d8f
mov eax, dword [ebp - 0x700]
movsx eax, byte [ebp + eax - 0x394]
movsx ecx, byte [ebp - 0x24]
xor eax, ecx
mov ecx, dword [ebp - 0x700]
mov byte [ebp + ecx - 0x394], al
mov eax, dword [ebp - 0x700]
movsx eax, byte [ebp + eax - 0x394]
not eax
mov ecx, dword [ebp - 0x700]
mov byte [ebp + ecx - 0x394], al
jmp 0x10009d39
call fcn.10008939
in eax, dx
xchg ecx, eax
sub al, 0xbe
and byte [ebp - 0x72c], 0
and byte [ebp - 0x72b], 0
movsd dword es:[edi], dword [esi]
aad 0xf8
invalid
inc dword [eax]
mov byte [ebp - 0x72a], 0xc2
and byte [ebp - 0x729], 0
mov byte [ebp - 0x728], 0x6b
mov byte [ebp - 0x727], 0x54
mov byte [ebp - 0x726], 0x4f
mov byte [ebp - 0x725], 0x49
mov byte [ebp - 0x724], 0x48
mov byte [ebp - 0x723], 0x5c
mov byte [ebp - 0x722], 0x51
mov byte [ebp - 0x721], 0x6d
mov byte [ebp - 0x720], 0x4f
mov byte [ebp - 0x71f], 0x52
mov byte [ebp - 0x71e], 0x49
mov byte [ebp - 0x71d], 0x58
mov byte [ebp - 0x71c], 0x5e
mov byte [ebp - 0x71b], 0x49
mov byte [ebp - 0x71a], 0x3d
call fcn.10008939
mov edi, 0x8d7a2ab9
test esp, edx
clc
invalid
Function at 0x444be0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea esi, [ecx + 1]
mov eax, edi
mov dword [ebp - 8], ecx
sub eax, ecx
mov ebx, ecx
mov dword [ebp + 8], eax
not ebx
mov ecx, dword [ebp + 8]
mov eax, 1
sub eax, edi
mov dword [ebp - 4], eax
nop word [eax + eax]
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
lea esi, [esi + 2]
movzx eax, byte [edx + eax]
xor edx, edx
xor al, byte [edi]
mov byte [esi - 3], al
mov eax, dword [ebp - 4]
add eax, edi
add edi, 2
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
xor al, byte [ecx + esi - 2]
mov byte [esi - 2], al
lea eax, [ebx + esi]
cmp eax, 0x1a
jb 0x444c10
mov ecx, dword [ebp - 8]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x1a], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x444d50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], edx
mov edx, 1
sub edx, ecx
mov dword [ebp - 8], edx
mov edx, 2
sub edx, ecx
mov dword [ebp - 0xc], edx
mov edx, 3
sub edx, ecx
push ebx
mov dword [ebp - 0x10], edx
mov ebx, ecx
push esi
lea esi, [ecx + 1]
mov edx, 4
sub edx, ecx
not ebx
mov ecx, 0xfffffffe
mov dword [ebp - 0x14], edx
sub ecx, eax
push edi
mov dword [ebp + 8], ecx
lea edi, [eax + 3]
mov ecx, dword [ebp + 0xc]
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 3]
mov byte [esi - 1], al
mov eax, dword [ebp + 8]
add eax, edi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
mov edx, dword [ebp - 4]
xor al, byte [edx + esi]
xor edx, edx
mov byte [esi], al
mov eax, dword [ebp - 8]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 1]
mov byte [esi + 1], al
mov eax, dword [ebp - 0xc]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x10]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi + 1]
mov byte [esi + 3], al
mov eax, dword [ebp - 0x14]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor al, byte [edi + 2]
add edi, 6
mov byte [esi + 4], al
add esi, 6
lea eax, [ebx + esi]
cmp eax, 0xc
jb 0x444da5
mov ecx, dword [ebp - 0x18]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0xc], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x4457f0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push esi
test edx, edx
je 0x445851
mov eax, edx
mov esi, 0x5a4d
and eax, 0xfffffffc
cmp word [eax], si
jne 0x445851
mov esi, dword [eax + 0x3c]
cmp dword [esi + eax], 0x4550
jne 0x445851
movzx eax, word [esi + eax + 0x18]
mov esi, 0x20b
cmp ax, si
jne 0x445836
pop esi
mov dword [ebp + 0x10], 0
mov dword [ebp + 8], edx
pop ebp
jmp fcn.004487b0
mov esi, 0x10b
cmp ax, si
jne 0x445851
pop esi
mov dword [ebp + 0x10], 0
mov dword [ebp + 8], edx
pop ebp
jmp fcn.00448390
mov dword [ecx + 4], 0xa
xor eax, eax
mov dword [ecx], 6
pop esi
pop ebp
ret 0xc

Function at 0x447480
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], edx
mov edx, 1
sub edx, ecx
mov dword [ebp - 8], edx
mov edx, 2
sub edx, ecx
push ebx
mov dword [ebp - 0xc], edx
mov ebx, ecx
push esi
lea esi, [ecx + 1]
mov edx, 3
sub edx, ecx
not ebx
mov ecx, 0xfffffffe
mov dword [ebp - 0x10], edx
sub ecx, eax
push edi
mov dword [ebp + 8], ecx
lea edi, [eax + 3]
mov ecx, dword [ebp + 0xc]
nop dword [eax + eax]
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 3]
mov byte [esi - 1], al
mov eax, dword [ebp + 8]
add eax, edi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
mov edx, dword [ebp - 4]
xor al, byte [edx + esi]
xor edx, edx
mov byte [esi], al
mov eax, dword [ebp - 8]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 1]
mov byte [esi + 1], al
mov eax, dword [ebp - 0xc]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x10]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor al, byte [edi + 1]
add edi, 5
mov byte [esi + 3], al
add esi, 5
lea eax, [ebx + esi]
cmp eax, 0x28
jb 0x4474d0
mov ecx, dword [ebp - 0x14]
xor eax, eax
pop edi
pop esi
pop ebx
mov word [ecx + 0x28], ax
mov eax, ecx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x447570
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], edx
mov edx, 1
sub edx, ecx
mov dword [ebp - 8], edx
mov edx, 2
sub edx, ecx
mov dword [ebp - 0xc], edx
mov edx, 3
sub edx, ecx
push ebx
mov dword [ebp - 0x10], edx
mov ebx, ecx
push esi
lea esi, [ecx + 1]
mov edx, 4
sub edx, ecx
not ebx
mov ecx, 0xfffffffe
mov dword [ebp - 0x14], edx
sub ecx, eax
push edi
mov dword [ebp + 8], ecx
lea edi, [eax + 3]
mov ecx, dword [ebp + 0xc]
xor edx, edx
lea eax, [esi + ebx]
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 3]
mov byte [esi - 1], al
mov eax, dword [ebp + 8]
add eax, edi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
mov edx, dword [ebp - 4]
xor al, byte [edx + esi]
xor edx, edx
mov byte [esi], al
mov eax, dword [ebp - 8]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 1]
mov byte [esi + 1], al
mov eax, dword [ebp - 0xc]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x10]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi + 1]
mov byte [esi + 3], al
mov eax, dword [ebp - 0x14]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor al, byte [edi + 2]
add edi, 6
mov byte [esi + 4], al
add esi, 6
lea eax, [esi + ebx]
cmp eax, 0x1e
jb 0x4475c5
mov ecx, dword [ebp - 0x18]
xor eax, eax
pop edi
pop esi
pop ebx
mov word [ecx + 0x1e], ax
mov eax, ecx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x447880
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea esi, [ecx + 1]
mov eax, edi
mov dword [ebp - 8], ecx
sub eax, ecx
mov ebx, ecx
mov dword [ebp + 8], eax
not ebx
mov ecx, dword [ebp + 8]
mov eax, 1
sub eax, edi
mov dword [ebp - 4], eax
nop word [eax + eax]
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
lea esi, [esi + 2]
movzx eax, byte [edx + eax]
xor edx, edx
xor al, byte [edi]
mov byte [esi - 3], al
mov eax, dword [ebp - 4]
add eax, edi
add edi, 2
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
xor al, byte [ecx + esi - 2]
mov byte [esi - 2], al
lea eax, [ebx + esi]
cmp eax, 0x16
jb 0x4478b0
mov ecx, dword [ebp - 8]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x16], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x447920
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 8]
mov edx, eax
push ebx
sub edx, ecx
mov dword [ebp - 0x10], ecx
push esi
push edi
mov dword [ebp + 8], edx
lea esi, [ecx + 1]
mov edi, 1
mov ebx, ecx
mov edx, edi
not ebx
sub edx, ecx
lea ecx, [eax + 1]
dec eax
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
mov edx, dword [ebp - 4]
xor al, byte [edx + edi]
xor edx, edx
mov byte [esi - 1], al
mov eax, edi
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
xor edx, edx
xor al, byte [ecx + esi]
mov byte [esi], al
mov eax, dword [ebp - 8]
add eax, esi
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
mov edx, dword [ebp - 0xc]
xor al, byte [edx + edi]
add edi, 3
mov byte [esi + 1], al
add esi, 3
lea eax, [ebx + esi]
cmp eax, 0x15
jb 0x447956
mov ecx, dword [ebp - 0x10]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x15], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x4479d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], edx
mov edx, 1
sub edx, ecx
mov dword [ebp - 8], edx
mov edx, 2
sub edx, ecx
mov dword [ebp - 0xc], edx
mov edx, 3
sub edx, ecx
push ebx
mov dword [ebp - 0x10], edx
mov ebx, ecx
push esi
lea esi, [ecx + 1]
mov edx, 4
sub edx, ecx
not ebx
mov ecx, 0xfffffffe
mov dword [ebp - 0x14], edx
sub ecx, eax
push edi
mov dword [ebp + 8], ecx
lea edi, [eax + 3]
mov ecx, dword [ebp + 0xc]
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 3]
mov byte [esi - 1], al
mov eax, dword [ebp + 8]
add eax, edi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
mov edx, dword [ebp - 4]
xor al, byte [edx + esi]
xor edx, edx
mov byte [esi], al
mov eax, dword [ebp - 8]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 1]
mov byte [esi + 1], al
mov eax, dword [ebp - 0xc]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x10]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi + 1]
mov byte [esi + 3], al
mov eax, dword [ebp - 0x14]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor al, byte [edi + 2]
add edi, 6
mov byte [esi + 4], al
add esi, 6
lea eax, [ebx + esi]
cmp eax, 0x18
jb 0x447a25
mov ecx, dword [ebp - 0x18]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x18], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x447ac0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], edx
mov edx, 1
sub edx, ecx
mov dword [ebp - 8], edx
mov edx, 2
sub edx, ecx
push ebx
mov dword [ebp - 0xc], edx
mov ebx, ecx
push esi
lea esi, [ecx + 1]
mov edx, 3
sub edx, ecx
not ebx
mov ecx, 0xfffffffe
mov dword [ebp - 0x10], edx
sub ecx, eax
push edi
mov dword [ebp + 8], ecx
lea edi, [eax + 3]
mov ecx, dword [ebp + 0xc]
nop dword [eax + eax]
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 3]
mov byte [esi - 1], al
mov eax, dword [ebp + 8]
add eax, edi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
mov edx, dword [ebp - 4]
xor al, byte [edx + esi]
xor edx, edx
mov byte [esi], al
mov eax, dword [ebp - 8]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 1]
mov byte [esi + 1], al
mov eax, dword [ebp - 0xc]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x10]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor al, byte [edi + 1]
add edi, 5
mov byte [esi + 3], al
add esi, 5
lea eax, [ebx + esi]
cmp eax, 0x14
jb 0x447b10
mov ecx, dword [ebp - 0x14]
xor eax, eax
pop edi
pop esi
pop ebx
mov word [ecx + 0x14], ax
mov eax, ecx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x447cb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea esi, [ecx + 1]
mov eax, edi
mov dword [ebp - 8], ecx
sub eax, ecx
mov ebx, ecx
mov dword [ebp + 8], eax
not ebx
mov ecx, dword [ebp + 8]
mov eax, 1
sub eax, edi
mov dword [ebp - 4], eax
nop word [eax + eax]
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
lea esi, [esi + 2]
movzx eax, byte [edx + eax]
xor edx, edx
xor al, byte [edi]
mov byte [esi - 3], al
mov eax, dword [ebp - 4]
add eax, edi
add edi, 2
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
xor al, byte [ecx + esi - 2]
mov byte [esi - 2], al
lea eax, [ebx + esi]
cmp eax, 0x26
jb 0x447ce0
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
pop ebx
mov word [ecx + 0x26], ax
mov eax, ecx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x447d40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea esi, [ecx + 1]
mov eax, edi
mov dword [ebp - 8], ecx
sub eax, ecx
mov ebx, ecx
mov dword [ebp + 8], eax
not ebx
mov ecx, dword [ebp + 8]
mov eax, 1
sub eax, edi
mov dword [ebp - 4], eax
nop word [eax + eax]
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
lea esi, [esi + 2]
movzx eax, byte [edx + eax]
xor edx, edx
xor al, byte [edi]
mov byte [esi - 3], al
mov eax, dword [ebp - 4]
add eax, edi
add edi, 2
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
xor al, byte [ecx + esi - 2]
mov byte [esi - 2], al
lea eax, [ebx + esi]
cmp eax, 0x16
jb 0x447d70
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
pop ebx
mov word [ecx + 0x16], ax
mov eax, ecx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x447de0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea esi, [ecx + 1]
mov eax, edi
mov dword [ebp - 8], ecx
sub eax, ecx
mov ebx, ecx
mov dword [ebp + 8], eax
not ebx
mov ecx, dword [ebp + 8]
mov eax, 1
sub eax, edi
mov dword [ebp - 4], eax
nop word [eax + eax]
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
lea esi, [esi + 2]
movzx eax, byte [edx + eax]
xor edx, edx
xor al, byte [edi]
mov byte [esi - 3], al
mov eax, dword [ebp - 4]
add eax, edi
add edi, 2
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
xor al, byte [ecx + esi - 2]
mov byte [esi - 2], al
lea eax, [ebx + esi]
cmp eax, 0x22
jb 0x447e10
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
pop ebx
mov word [ecx + 0x22], ax
mov eax, ecx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x447f20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea esi, [ecx + 1]
mov eax, edi
mov dword [ebp - 8], ecx
sub eax, ecx
mov ebx, ecx
mov dword [ebp + 8], eax
not ebx
mov ecx, dword [ebp + 8]
mov eax, 1
sub eax, edi
mov dword [ebp - 4], eax
nop word [eax + eax]
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
lea esi, [esi + 2]
movzx eax, byte [edx + eax]
xor edx, edx
xor al, byte [edi]
mov byte [esi - 3], al
mov eax, dword [ebp - 4]
add eax, edi
add edi, 2
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
xor al, byte [ecx + esi - 2]
mov byte [esi - 2], al
lea eax, [ebx + esi]
cmp eax, 0xe
jb 0x447f50
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
pop ebx
mov word [ecx + 0xe], ax
mov eax, ecx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x447fc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], edx
mov edx, 1
sub edx, ecx
mov dword [ebp - 8], edx
mov edx, 2
sub edx, ecx
mov dword [ebp - 0xc], edx
mov edx, 3
sub edx, ecx
push ebx
mov dword [ebp - 0x10], edx
mov ebx, ecx
push esi
lea esi, [ecx + 1]
mov edx, 4
sub edx, ecx
not ebx
mov ecx, 0xfffffffe
mov dword [ebp - 0x14], edx
sub ecx, eax
push edi
mov dword [ebp + 8], ecx
lea edi, [eax + 3]
mov ecx, dword [ebp + 0xc]
xor edx, edx
lea eax, [esi + ebx]
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 3]
mov byte [esi - 1], al
mov eax, dword [ebp + 8]
add eax, edi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
mov edx, dword [ebp - 4]
xor al, byte [edx + esi]
xor edx, edx
mov byte [esi], al
mov eax, dword [ebp - 8]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi - 1]
mov byte [esi + 1], al
mov eax, dword [ebp - 0xc]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi]
mov byte [esi + 2], al
mov eax, dword [ebp - 0x10]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor edx, edx
xor al, byte [edi + 1]
mov byte [esi + 3], al
mov eax, dword [ebp - 0x14]
add eax, esi
div dword [ebp + 0x10]
movzx eax, byte [edx + ecx]
xor al, byte [edi + 2]
add edi, 6
mov byte [esi + 4], al
add esi, 6
lea eax, [esi + ebx]
cmp eax, 0x18
jb 0x448015
mov ecx, dword [ebp - 0x18]
xor eax, eax
pop edi
pop esi
pop ebx
mov word [ecx + 0x18], ax
mov eax, ecx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x448e20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 0x10]
xor eax, eax
push esi
push edi
mov dword [ebp - 4], 0x20
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov ebx, dword [ebp + 0x14]
mov edx, edi
shr edx, 5
mov ecx, edi
shl ecx, 4
xor edx, ecx
mov ecx, eax
and ecx, 3
add edx, edi
mov ecx, dword [ebx + ecx*4]
add ecx, eax
add eax, dword [ebp + 8]
xor edx, ecx
add esi, edx
mov edx, esi
mov ecx, esi
shl ecx, 4
shr edx, 5
xor edx, ecx
mov ecx, eax
shr ecx, 0xb
add edx, esi
and ecx, 3
mov ecx, dword [ebx + ecx*4]
add ecx, eax
xor edx, ecx
add edi, edx
sub dword [ebp - 4], 1
jne 0x448e38
mov ebx, dword [ebp + 0x10]
mov dword [ebx + 4], edi
pop edi
mov dword [ebx], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10

Function at 0x44eec0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 8]
mov edx, eax
sub edx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp + 8], edx
mov edx, 1
sub edx, ecx
push ebx
mov dword [ebp - 8], edx
mov ebx, ecx
push esi
lea esi, [ecx + 1]
mov edx, 2
sub edx, ecx
not ebx
mov ecx, 0xfffffffe
mov dword [ebp - 0xc], edx
sub ecx, eax
push edi
mov dword [ebp - 4], ecx
lea edi, [eax + 3]
mov ecx, dword [ebp + 8]
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
xor edx, edx
xor al, byte [edi - 3]
mov byte [esi - 1], al
mov eax, dword [ebp - 4]
add eax, edi
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
xor edx, edx
xor al, byte [ecx + esi]
mov byte [esi], al
mov eax, dword [ebp - 8]
add eax, esi
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
xor edx, edx
xor al, byte [edi - 1]
mov byte [esi + 1], al
mov eax, dword [ebp - 0xc]
add eax, esi
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
xor al, byte [edi]
add edi, 4
mov byte [esi + 2], al
add esi, 4
lea eax, [ebx + esi]
cmp eax, 0x10
jb 0x44ef01
mov ecx, dword [ebp - 0x10]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x10], 0
mov esp, ebp
pop ebp
ret 0xc