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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x5080e8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
sub esp, 0x28
mov byte [ebp - 0x51], 0
mov eax, esp
lea ecx, [ebp - 0x51]
mov dword [eax], 0x4f88fc
mov dword [eax + 4], ecx
mov dword [eax + 0x24], eax
call fcn.00471960
mov al, byte [ebp - 0x51]
add esp, 0x28
test al, al
je 0x45a47e
xor esi, esi
mov dword [ebp - 0xc], 0x6f727245
mov word [ebp - 8], 0x72
mov dword [ebp - 0x58], 4
mov dword [ebp - 0x5c], 3
lea ebx, [esi + 5]
lea edi, [esi + 2]
mov eax, 0xba2e8ba3
mov ecx, esi
mul esi
shr edx, 3
imul eax, edx, 0xb
sub ecx, eax
movzx eax, byte [ecx + 0x4f8a88]
lea ecx, [edi - 1]
xor al, byte [esi + 0x4f8a98]
mov byte [ebp + esi - 0x50], al
mov eax, 0xba2e8ba3
mul ecx
mov ecx, esi
shr edx, 3
imul eax, edx, 0xb
sub ecx, eax
movzx eax, byte [ecx + 0x4f8a89]
mov ecx, esi
xor al, byte [esi + 0x4f8a99]
mov byte [ebp + esi - 0x4f], al
mov eax, 0xba2e8ba3
mul edi
shr edx, 3
imul eax, edx, 0xb
sub ecx, eax
movzx eax, byte [ecx + 0x4f8a8a]
xor al, byte [edi + 0x4f8a98]
add edi, 6
mov ecx, dword [ebp - 0x5c]
mov byte [ebp + ecx - 0x51], al
mov eax, 0xba2e8ba3
mul ecx
mov ecx, esi
shr edx, 3
imul eax, edx, 0xb
sub ecx, eax
movzx eax, byte [ecx + 0x4f8a8b]
mov ecx, dword [ebp - 0x5c]
add dword [ebp - 0x5c], 6
xor al, byte [ecx + 0x4f8a98]
mov ecx, dword [ebp - 0x58]
mov byte [ebp + ecx - 0x51], al
mov eax, 0xba2e8ba3
mul ecx
mov ecx, esi
shr edx, 3
imul eax, edx, 0xb
sub ecx, eax
movzx eax, byte [ecx + 0x4f8a8c]
mov ecx, dword [ebp - 0x58]
add dword [ebp - 0x58], 6
xor al, byte [ecx + 0x4f8a98]
mov ecx, esi
mov byte [ebp + ebx - 0x51], al
mov eax, 0xba2e8ba3
mul ebx
shr edx, 3
imul eax, edx, 0xb
sub ecx, eax
movzx eax, byte [ecx + 0x4f8a8d]
xor al, byte [ebx + 0x4f8a98]
add ebx, 6
mov byte [ebp + esi - 0x4b], al
add esi, 6
cmp edi, 0x44
jb 0x45a361
mov eax, dword [0x558bfc]
mov byte [ebp - 0xe], 0
test eax, eax
je 0x45a468
mov eax, dword [eax + 0x54]
jmp 0x45a46a
xor eax, eax
push 0x10
lea ecx, [ebp - 0xc]
push ecx
lea ecx, [ebp - 0x50]
push ecx
push eax
call dword [str.P_nku._a]
mov al, byte [ebp - 0x51]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b992a
mov esp, ebp
pop ebp
ret
Function at 0x462f80
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, 0x3f
jb 0x462fb6
mov ecx, dword [ebp - 0x10]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x3f], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x463050
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, 0x12
jb 0x4630a5
mov ecx, dword [ebp - 0x18]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x12], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x4631a0
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, 0x60
jb 0x4631f5
mov ecx, dword [ebp - 0x18]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x60], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x4632a0
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, 0x36
jb 0x4632f5
mov ecx, dword [ebp - 0x18]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x36], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x463470
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, 0x41
jb 0x4634c0
mov ecx, dword [ebp - 0x14]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x41], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x463620
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, 0x2c
jb 0x463661
mov ecx, dword [ebp - 0x10]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x2c], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x4636e0
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, 0x3a
jb 0x463710
mov ecx, dword [ebp - 8]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x3a], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x463790
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, 0x1c
jb 0x4637d1
mov ecx, dword [ebp - 0x10]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x1c], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x463860
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, 0x20
jb 0x4638a1
mov ecx, dword [ebp - 0x10]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x20], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x463930
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
mov ebx, ecx
xor edi, edi
mov eax, 1
nop dword [eax]
mov dl, byte [eax + 0x4f8b4f]
mov esi, edi
and esi, 7
mov ecx, eax
and ecx, 7
xor dl, byte [esi + 0x4f8b44]
mov byte [edi + ebx], dl
add edi, 2
mov cl, byte [ecx + 0x4f8b44]
xor cl, byte [eax + 0x4f8b50]
mov byte [eax + ebx], cl
add eax, 2
cmp eax, 0x57
jb 0x463940
pop edi
pop esi
mov byte [ebx + 0x56], 0
mov eax, ebx
pop ebx
ret 0xc
Function at 0x4639d0
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, 0x2a
jb 0x463a25
mov ecx, dword [ebp - 0x18]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x2a], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x464a30
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, 0x33
jb 0x464a66
mov ecx, dword [ebp - 0x10]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x33], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x464e60
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d5a63
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x5080e8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x55b060]
cmp eax, dword [ecx + 4]
jle 0x465027
push 0x55b060
call fcn.004b9f28
add esp, 4
cmp dword [0x55b060], 0xffffffff
jne 0x465027
sub esp, 8
mov dword [ebp - 4], 0
mov ecx, 0x55b070
mov dword [0x55b068], 0
mov dword [0x55b06c], 0
push 0x1571
call fcn.00452c20
mov dword [0x55c400], 0
mov dword [0x55c3f8], 0
mov dword [0x55c3fc], 0
mov byte [ebp - 4], 1
mov esi, 0x55c488
mov dword [0x55c404], 0
mov edi, 0x10
mov dword [0x55c428], 0
mov ecx, esi
call fcn.00464c20
add esi, 0x20
sub edi, 1
jne 0x464f24
mov ecx, 0x55c688
call fcn.00464c20
mov ecx, 0x55c6a8
call fcn.00464c20
mov ecx, 0x55c6c8
call fcn.00464c20
mov ecx, 0x55c6e8
call fcn.00464c20
mov dword [0x55c778], edi
mov dword [0x55c77c], edi
mov dword [0x55c780], edi
mov dword [0x55c784], edi
mov dword [0x55c788], edi
mov dword [0x55c78c], edi
mov dword [0x55c790], edi
mov dword [0x55c794], edi
mov dword [0x55c798], edi
mov dword [0x55c79c], edi
mov dword [0x55c7a0], edi
mov dword [0x55c7a4], edi
mov byte [ebp - 4], 5
mov eax, dword [0x558c58]
or eax, dword [0x558c5c]
mov word [0x55c7a8], di
jne 0x464fc6
push 0x558c58
call fcn.0067e899
ret
xorps xmm0, xmm0
mov byte [0x55c7b8], 0
movlpd qword [0x55c7b0], xmm0
call fcn.004b9572
mov dword [0x55b074], eax
mov edx, 1
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [edx*4 + 0x55b074], eax
inc edx
cmp edx, 0x270
jb 0x464fe7
push 0x4d89d0
mov dword [0x55b070], 0x270
call fcn.004b9de0
push 0x55b060
call fcn.004b9ede
add esp, 8
mov eax, 0x55b068
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x46a560
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov edx, ecx
mov ecx, 0x4fb94c
sub ecx, edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], ecx
mov ecx, 1
push ebx
sub ecx, edx
lea eax, [edx + 2]
push esi
mov dword [ebp - 0xc], ecx
mov esi, 0x4fb94d
mov ecx, esi
mov ebx, edx
sub ecx, edx
not ebx
push edi
mov dword [ebp - 0x10], ecx
mov edi, 0xfffffffe
sub edi, edx
mov ecx, 2
mov edx, dword [ebp - 4]
sub ecx, esi
mov dword [ebp - 8], ecx
nop dword [eax]
lea ecx, [edi + eax]
and ecx, 7
movzx ecx, byte [ecx + 0x4fb940]
xor cl, byte [esi - 1]
mov byte [eax - 2], cl
lea ecx, [ebx + eax]
and ecx, 7
movzx ecx, byte [ecx + 0x4fb940]
xor cl, byte [esi]
mov byte [eax - 1], cl
mov ecx, dword [ebp - 8]
add ecx, esi
add esi, 4
and ecx, 7
movzx ecx, byte [ecx + 0x4fb940]
xor cl, byte [edx + eax]
mov edx, dword [ebp - 0x10]
mov byte [eax], cl
mov ecx, dword [ebp - 0xc]
add ecx, eax
and ecx, 7
movzx ecx, byte [ecx + 0x4fb940]
xor cl, byte [edx + eax]
mov edx, dword [ebp - 4]
mov byte [eax + 1], cl
add eax, 4
lea ecx, [edi + eax]
cmp ecx, 0x38
jb 0x46a5b0
mov edx, dword [ebp - 0x14]
mov eax, edx
pop edi
pop esi
pop ebx
mov byte [edx + 0x38], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x46a6a0
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, 0x2c
jb 0x46a6e1
mov ecx, dword [ebp - 0x10]
xor eax, eax
pop edi
pop esi
pop ebx
mov word [ecx + 0x2c], ax
mov eax, ecx
mov esp, ebp
pop ebp
ret 0xc