Function at 0x4ea8b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x304
mov eax, dword [0x5a9008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor ebx, ebx
mov edx, 1
nop dword [eax]
mov al, bl
mov byte [ebp + ebx - 0x304], dl
mov byte [ebp + edx - 0x104], al
mov eax, edx
and al, 0x80
mov byte [ebp + ebx - 0x205], dl
movzx ecx, al
inc ebx
neg ecx
lea eax, [edx + edx]
sbb ecx, ecx
and ecx, 0x11b
xor ecx, eax
xor edx, ecx
cmp edx, 1
jne 0x4ea8d0
mov ebx, edx
xor edx, edx
nop dword [eax]
mov eax, ebx
mov byte [edx + 0x5b1580], bl
and al, 0x80
movzx ecx, al
neg ecx
sbb ecx, ecx
add ebx, ebx
and ecx, 0x11b
inc edx
xor ebx, ecx
cmp edx, 0x1e
jb 0x4ea910
xor eax, eax
test al, al
je 0x4ea94f
movzx esi, al
lea edx, [ebp - 0x205]
movzx ecx, byte [ebp + esi - 0x104]
sub edx, ecx
movzx edx, byte [edx]
jmp 0x4ea953
xor edx, edx
xor esi, esi
lea ecx, [edx + edx]
xor ecx, edx
add ecx, ecx
xor ecx, edx
add ecx, ecx
xor ecx, edx
add ecx, ecx
xor edx, ecx
mov ecx, edx
shr ecx, 8
xor cl, dl
xor cl, 0x63
mov byte [eax + 0x5aff80], cl
mov byte [eax*4 + 0x5b0081], cl
mov byte [eax*4 + 0x5b0080], cl
mov byte [eax*4 + 0x5b1da3], cl
mov byte [eax*4 + 0x5b1da0], cl
mov byte [eax*4 + 0x5b0c83], cl
mov byte [eax*4 + 0x5b0c82], cl
mov byte [eax*4 + 0x5b21a2], cl
mov byte [eax*4 + 0x5b21a1], cl
je 0x4ea9ed
movzx edx, cl
movzx ecx, byte [ebp + edx - 0x104]
mov cl, byte [ebp + ecx - 0x2eb]
mov byte [eax*4 + 0x5b0083], cl
mov byte [eax*4 + 0x5b1da2], cl
mov byte [eax*4 + 0x5b0c81], cl
mov byte [eax*4 + 0x5b21a0], cl
movzx ecx, byte [ebp + edx - 0x104]
mov cl, byte [ebp + ecx - 0x303]
jmp 0x4eaa0f
mov byte [eax*4 + 0x5b0083], 0
xor cl, cl
mov byte [eax*4 + 0x5b1da2], 0
mov byte [eax*4 + 0x5b0c81], 0
mov byte [eax*4 + 0x5b21a0], 0
mov byte [eax*4 + 0x5b0082], cl
mov byte [eax*4 + 0x5b1da1], cl
mov byte [eax*4 + 0x5b0c80], cl
mov byte [eax*4 + 0x5b21a3], cl
lea ecx, [esi*8]
xor ecx, esi
shl ecx, 2
xor ecx, esi
lea ebx, [ecx + ecx]
mov edx, ebx
shr edx, 8
mov cl, dl
xor cl, bl
cmp cl, 5
je 0x4eaa82
movzx ecx, bl
xor ecx, 5
xor ecx, edx
lea edx, [ebp - 0x205]
movzx ecx, byte [ebp + ecx - 0x104]
sub edx, ecx
mov bl, byte [edx]
mov byte [eax + 0x5b1480], bl
test bl, bl
je 0x4eaa8a
movzx edx, bl
movzx ecx, byte [ebp + edx - 0x104]
mov cl, byte [ebp + ecx - 0x29c]
jmp 0x4eaa8e
xor bl, bl
mov byte [eax + 0x5b1480], bl
xor edx, edx
xor cl, cl
mov byte [eax*4 + 0x5b1082], cl
mov byte [eax*4 + 0x5b15a1], cl
mov byte [eax*4 + 0x5b25a0], cl
mov byte [eax*4 + 0x5b0483], cl
mov byte [edx*4 + 0x5afb82], cl
mov byte [edx*4 + 0x5b19a1], cl
mov byte [edx*4 + 0x5b0880], cl
mov byte [edx*4 + 0x5af783], cl
test bl, bl
je 0x4eaadb
movzx ecx, byte [ebp + edx - 0x104]
mov cl, byte [ebp + ecx - 0x23d]
jmp 0x4eaadd
xor cl, cl
mov byte [eax*4 + 0x5b1080], cl
mov byte [eax*4 + 0x5b15a3], cl
mov byte [eax*4 + 0x5b25a2], cl
mov byte [eax*4 + 0x5b0481], cl
mov byte [edx*4 + 0x5afb80], cl
mov byte [edx*4 + 0x5b19a3], cl
mov byte [edx*4 + 0x5b0882], cl
mov byte [edx*4 + 0x5af781], cl
test bl, bl
je 0x4eab2a
movzx ecx, byte [ebp + edx - 0x104]
mov cl, byte [ebp + ecx - 0x216]
jmp 0x4eab2c
xor cl, cl
mov byte [eax*4 + 0x5b1081], cl
mov byte [eax*4 + 0x5b15a0], cl
mov byte [eax*4 + 0x5b25a3], cl
mov byte [eax*4 + 0x5b0482], cl
mov byte [edx*4 + 0x5afb81], cl
mov byte [edx*4 + 0x5b19a0], cl
mov byte [edx*4 + 0x5b0883], cl
mov byte [edx*4 + 0x5af782], cl
test bl, bl
je 0x4eab79
movzx ecx, byte [ebp + edx - 0x104]
mov cl, byte [ebp + ecx - 0x225]
jmp 0x4eab7b
xor cl, cl
mov byte [eax*4 + 0x5b1083], cl
mov byte [eax*4 + 0x5b15a2], cl
mov byte [eax*4 + 0x5b25a1], cl
mov byte [eax*4 + 0x5b0480], cl
inc eax
mov byte [edx*4 + 0x5afb83], cl
mov byte [edx*4 + 0x5b19a2], cl
mov byte [edx*4 + 0x5b0881], cl
mov byte [edx*4 + 0x5af780], cl
cmp eax, 0x100
jl 0x4ea933
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.004ef615
mov esp, ebp
pop ebp
ret