joyce8/EMBER2024-capa huggingface dataset:
Function at 0x44f080
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 0x44f0d0
mov ecx, dword [ebp - 0x14]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x14], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x44f160
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, 0x12
jb 0x44f1b5
mov ecx, dword [ebp - 0x18]
xor eax, eax
pop edi
pop esi
pop ebx
mov word [ecx + 0x12], ax
mov eax, ecx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x451090
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], 0
push edi
mov edx, dword [eax]
mov edi, edx
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 0xc]
mov esi, dword [ebp - 8]
shrd edx, ecx, 8
mov dword [ebp + 8], ebx
xor ebx, ebx
shr ecx, 8
or ebx, edx
mov edx, dword [ebp - 4]
shl edi, 0x18
or edi, ecx
add ebx, dword [eax + 8]
mov dword [eax], ebx
adc edi, dword [ebp + 8]
xor ecx, ecx
mov dword [eax + 4], edi
xor ebx, dword [esi + edx*8]
mov esi, dword [esi + edx*8 + 4]
mov edx, dword [ebp + 8]
xor esi, edi
mov dword [eax], ebx
mov dword [eax + 4], esi
mov edi, dword [eax + 8]
shld dword [ebp + 8], edi, 3
or ecx, dword [ebp + 8]
xor ecx, esi
shr edx, 0x1d
shl edi, 3
mov dword [eax + 0xc], ecx
or edx, edi
mov ecx, dword [ebp - 4]
xor edx, ebx
inc ecx
mov dword [eax + 8], edx
mov dword [ebp - 4], ecx
cmp ecx, 0x20
jl 0x4510a6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x452900
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov edx, ecx
mov ecx, 0x4faa58
sub ecx, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 4], ecx
mov ecx, 1
sub ecx, edx
mov dword [ebp - 0xc], ecx
lea eax, [edx + 2]
push ebx
push esi
mov esi, 0x4faa59
mov ebx, edx
mov ecx, esi
not ebx
sub ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 2
sub ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, 0x4faa5a
sub ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, 3
sub ecx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, 0x4faa5b
sub ecx, edx
push edi
mov dword [ebp - 0x20], ecx
mov edi, 0xfffffffe
sub edi, edx
mov ecx, 2
mov edx, dword [ebp - 4]
sub ecx, esi
mov dword [ebp - 8], ecx
lea ecx, [edi + eax]
and ecx, 7
movzx ecx, byte [ecx + 0x4faa4c]
xor cl, byte [esi - 1]
mov byte [eax - 2], cl
lea ecx, [ebx + eax]
and ecx, 7
movzx ecx, byte [ecx + 0x4faa4c]
xor cl, byte [esi]
mov byte [eax - 1], cl
mov ecx, dword [ebp - 8]
add ecx, esi
add esi, 6
and ecx, 7
movzx ecx, byte [ecx + 0x4faa4c]
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 + 0x4faa4c]
xor cl, byte [edx + eax]
mov edx, dword [ebp - 0x18]
mov byte [eax + 1], cl
mov ecx, dword [ebp - 0x14]
add ecx, eax
and ecx, 7
movzx ecx, byte [ecx + 0x4faa4c]
xor cl, byte [edx + eax]
mov edx, dword [ebp - 0x20]
mov byte [eax + 2], cl
mov ecx, dword [ebp - 0x1c]
add ecx, eax
and ecx, 7
movzx ecx, byte [ecx + 0x4faa4c]
xor cl, byte [edx + eax]
mov edx, dword [ebp - 4]
mov byte [eax + 3], cl
add eax, 6
lea ecx, [edi + eax]
cmp ecx, 0xc
jb 0x452971
mov edx, dword [ebp - 0x24]
xor eax, eax
pop edi
pop esi
pop ebx
mov word [edx + 0xc], ax
mov eax, edx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x452a20
Capabilities:
Encode data using xor

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

Function at 0x452c20
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push esi
push edi
mov dword [ecx + 0x1384], 0xffffffff
lea edi, [ecx + 8]
mov dword [ecx + 4], edx
mov esi, 1
nop dword [eax]
mov eax, edx
lea edi, [edi + 4]
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, esi
inc esi
mov dword [edi - 4], edx
cmp esi, 0x270
jb 0x452c40
pop edi
mov dword [ecx], 0x270
mov eax, ecx
pop esi
pop ebp
ret 0xc
Function at 0x452f30
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edi
mov eax, dword [edi]
cmp eax, 0x270
jne 0x452f8e
lea edx, [edi + 8]
mov esi, eax
nop dword [eax]
mov ecx, dword [edx - 4]
lea edx, [edx + 4]
xor ecx, dword [edx - 4]
and ecx, 0x7fffffff
xor ecx, dword [edx - 8]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edx + 0x62c]
xor eax, ecx
mov dword [edx + 0x9b8], eax
sub esi, 1
jne 0x452f50
mov eax, dword [edi]
jmp 0x453079
cmp eax, 0x4e0
jb 0x453079
mov eax, dword [edi + 0x9c4]
push ebx
lea ebx, [edi + 0x9c4]
mov edi, 0xe3
nop dword [eax + eax]
mov ecx, dword [ebx + 4]
lea edx, [ebx + 4]
xor ecx, eax
and ecx, 0x7fffffff
xor ecx, eax
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [ebx + 0x634]
xor eax, ecx
mov dword [ebx - 0x9c0], eax
lea ebx, [edx]
mov eax, dword [edx]
sub edi, 1
jne 0x452fb0
mov ebx, dword [ebp - 4]
mov edi, 0x18c
add ebx, 0xd50
mov eax, dword [ebx]
nop dword [eax]
mov ecx, eax
lea edx, [ebx + 4]
xor ecx, dword [edx]
and ecx, 0x7fffffff
xor ecx, eax
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [ebx - 0xd4c]
xor eax, ecx
mov dword [ebx - 0x9c0], eax
lea ebx, [edx]
mov eax, dword [edx]
sub edi, 1
jne 0x453000
mov edi, dword [ebp - 4]
pop ebx
mov ecx, dword [edi + 0x1380]
xor ecx, dword [edi + 4]
and ecx, 0x7fffffff
xor ecx, dword [edi + 0x1380]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edi + 0x634]
xor eax, ecx
mov dword [edi + 0x9c0], eax
xor eax, eax
mov dword [edi], 0
mov edx, dword [edi + eax*4 + 4]
inc eax
mov dword [edi], eax
mov ecx, edx
mov eax, dword [edi + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
pop edi
xor eax, edx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x4578e0
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, 0x2d
jb 0x457930
mov ecx, dword [ebp - 0x14]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x2d], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x4579d0
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, 0x32
jb 0x457a20
mov ecx, dword [ebp - 0x14]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x32], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x457ab0
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, 0x21
jb 0x457ae6
mov ecx, dword [ebp - 0x10]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x21], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x457b70
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, 0x24
jb 0x457bc5
mov ecx, dword [ebp - 0x18]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x24], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x457c70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea esi, [ecx + 1]
mov eax, edi
mov dword [ebp - 0xc], ecx
sub eax, ecx
mov dword [ebp + 8], 0xa
mov dword [ebp - 4], eax
mov ebx, ecx
mov ecx, dword [ebp - 4]
mov eax, 1
sub eax, edi
not ebx
mov dword [ebp - 8], eax
xor edx, edx
lea eax, [ebx + esi]
div dword [ebp + 8]
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 - 8]
add eax, edi
add edi, 2
div dword [ebp + 8]
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, 0x52
jb 0x457ca1
mov ecx, dword [ebp - 0xc]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x52], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x459be0
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, 0x1b
jb 0x459c16
mov ecx, dword [ebp - 0x10]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x1b], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x459ca0
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 0x459cd0
mov ecx, dword [ebp - 8]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0xe], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x459d20
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, 0x19
jb 0x459d70
mov ecx, dword [ebp - 0x14]
mov eax, ecx
pop edi
pop esi
pop ebx
mov byte [ecx + 0x19], 0
mov esp, ebp
pop ebp
ret 0xc
Function at 0x45a0c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x5080e8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [edx]
mov ebx, ecx
push 0xc
push 0x4f8550
push 0x4f8560
lea ecx, [ebp - 0x38]
lea esi, [edi + 8]
call fcn.00459ca0
push eax
push esi
call fcn.004c5095
add esp, 8
mov dword [ebp - 0x30], 0
mov word [ebp - 0x2c], 0
xorps xmm0, xmm0
movq qword [ebp - 0x38], xmm0
mov byte [ebp - 0x2a], 0
test eax, eax
jne 0x45a135
mov eax, dword [ebx]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
pop edi
mov dword [eax + 0x28], ecx
pop esi
mov dword [eax + 0x2c], edx
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b992a
mov esp, ebp
pop ebp
ret
xor esi, esi
mov eax, 0x24924925
mul esi
mov eax, esi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 3
lea ecx, [eax*8]
sub ecx, eax
mov eax, esi
add ecx, ecx
sub eax, ecx
mov al, byte [eax + 0x4f8570]
xor al, byte [esi + 0x4f8580]
mov byte [ebp + esi - 0x10], al
inc esi
cmp esi, 0xb
jb 0x45a137
lea eax, [ebp - 0x10]
mov byte [ebp - 5], 0
push eax
lea eax, [edi + 8]
push eax
call fcn.004c5095
add esp, 8
mov dword [ebp - 8], 0
xorps xmm0, xmm0
movq qword [ebp - 0x10], xmm0
test eax, eax
jne 0x45a1b5
mov eax, dword [ebx]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
pop edi
mov dword [eax + 0x30], ecx
pop esi
mov dword [eax + 0x34], edx
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b992a
mov esp, ebp
pop ebp
ret
xor esi, esi
mov eax, 0xaaaaaaab
mul esi
mov eax, esi
shr edx, 3
lea ecx, [edx + edx*2]
shl ecx, 2
sub eax, ecx
mov al, byte [eax + 0x4f858c]
xor al, byte [esi + 0x4f859c]
mov byte [ebp + esi - 0x1c], al
inc esi
cmp esi, 0xb
jb 0x45a1b7
lea eax, [ebp - 0x1c]
mov byte [ebp - 0x11], 0
push eax
lea esi, [edi + 8]
push esi
call fcn.004c5095
add esp, 8
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
movq qword [ebp - 0x1c], xmm0
test eax, eax
jne 0x45a228
mov eax, dword [ebx]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
pop edi
mov dword [eax + 0x38], ecx
pop esi
mov dword [eax + 0x3c], edx
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b992a
mov esp, ebp
pop ebp
ret
push 8
push 0x4f85a8
push 0x4f85b4
lea ecx, [ebp - 0x28]
call fcn.00447780
push eax
push esi
call fcn.004c5095
add esp, 8
mov word [ebp - 0x20], 0
mov byte [ebp - 0x1e], 0
xorps xmm0, xmm0
movq qword [ebp - 0x28], xmm0
test eax, eax
jne 0x45a27c
mov eax, dword [ebx]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
pop edi
mov dword [eax + 0x40], ecx
pop esi
mov dword [eax + 0x44], edx
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b992a
mov esp, ebp
pop ebp
ret
push 0xd
push 0x4f783c
push 0x4f784c
lea ecx, [ebp - 0x44]
call fcn.00444c70
push eax
push esi
call fcn.004c5095
add esp, 8
test eax, eax
jne 0x45a2ab
mov eax, dword [ebx]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b992a
mov esp, ebp
pop ebp
ret