Function at 0x4c3088
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push ebx
push esi
push edi
mov ebx, dword [ebp + 0xc]
push dword [ebp + 0x10]
push ebx
push dword [ebp + 8]
call fcn.004c17d6
add esp, 0xc
mov dword [ebp - 4], eax
mov eax, ebx
mov edx, dword [ebp - 4]
shl edx, 2
shl edx, 2
add edx, eax
mov ecx, dword [eax]
mov dword [ebp - 8], ecx
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov dword [ebp - 0xc], esi
mov esi, dword [edx]
mov dword [eax], esi
mov esi, dword [edx + 4]
mov dword [eax + 4], esi
mov esi, dword [edx + 8]
mov dword [eax + 8], esi
mov esi, dword [edx + 0xc]
mov dword [eax + 0xc], esi
mov esi, dword [ebp - 8]
mov dword [edx], esi
mov dword [edx + 4], ecx
mov dword [edx + 8], ebx
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0xc], ecx
add eax, 0x10
sub edx, 0x10
cmp edx, eax
jbe 0x4c33ab
mov ecx, dword [eax]
shl ecx, 8
mov ebx, dword [eax]
shr ebx, 8
xor ecx, ebx
mov ebx, dword [eax]
shl ebx, 0x10
xor ecx, ebx
mov ebx, dword [eax]
shr ebx, 0x10
xor ecx, ebx
mov ebx, dword [eax]
shl ebx, 0x18
xor ecx, ebx
mov ebx, dword [eax]
shr ebx, 0x18
xor ecx, ebx
mov dword [ebp - 8], ecx
mov ecx, dword [eax + 4]
shl ecx, 8
mov ebx, dword [eax + 4]
shr ebx, 8
xor ecx, ebx
mov ebx, dword [eax + 4]
shl ebx, 0x10
xor ecx, ebx
mov ebx, dword [eax + 4]
shr ebx, 0x10
xor ecx, ebx
mov ebx, dword [eax + 4]
shl ebx, 0x18
xor ecx, ebx
mov ebx, dword [eax + 4]
shr ebx, 0x18
xor ecx, ebx
mov ebx, dword [eax + 8]
shl ebx, 8
mov esi, dword [eax + 8]
shr esi, 8
xor ebx, esi
mov esi, dword [eax + 8]
shl esi, 0x10
xor ebx, esi
mov esi, dword [eax + 8]
shr esi, 0x10
xor ebx, esi
mov esi, dword [eax + 8]
shl esi, 0x18
xor ebx, esi
mov esi, dword [eax + 8]
shr esi, 0x18
xor ebx, esi
mov esi, dword [eax + 0xc]
shl esi, 8
mov edi, dword [eax + 0xc]
shr edi, 8
xor esi, edi
mov edi, dword [eax + 0xc]
shl edi, 0x10
xor esi, edi
mov edi, dword [eax + 0xc]
shr edi, 0x10
xor esi, edi
mov edi, dword [eax + 0xc]
shl edi, 0x18
xor esi, edi
mov edi, dword [eax + 0xc]
shr edi, 0x18
xor esi, edi
mov dword [ebp - 0xc], esi
xor ecx, ebx
xor ebx, dword [ebp - 0xc]
xor dword [ebp - 8], ecx
xor dword [ebp - 0xc], ecx
xor ebx, dword [ebp - 8]
xor ecx, ebx
mov esi, ecx
shl esi, 8
and esi, 0xff00ff00
shr ecx, 8
and ecx, 0xff00ff
xor esi, ecx
mov ecx, esi
mov esi, ebx
shl esi, 0x10
and esi, 0xffff0000
shr ebx, 0x10
and ebx, 0xffff
xor esi, ebx
mov ebx, esi
mov esi, dword [ebp - 0xc]
shl esi, 0x18
mov edi, dword [ebp - 0xc]
shr edi, 0x18
xor esi, edi
mov edi, dword [ebp - 0xc]
and edi, 0xff00
shl edi, 8
xor esi, edi
mov edi, dword [ebp - 0xc]
and edi, 0xff0000
shr edi, 8
xor esi, edi
mov dword [ebp - 0xc], esi
xor ecx, ebx
xor ebx, dword [ebp - 0xc]
xor dword [ebp - 8], ecx
xor dword [ebp - 0xc], ecx
xor ebx, dword [ebp - 8]
xor ecx, ebx
mov esi, dword [ebp - 8]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [edx]
shl ecx, 8
mov ebx, dword [edx]
shr ebx, 8
xor ecx, ebx
mov ebx, dword [edx]
shl ebx, 0x10
xor ecx, ebx
mov ebx, dword [edx]
shr ebx, 0x10
xor ecx, ebx
mov ebx, dword [edx]
shl ebx, 0x18
xor ecx, ebx
mov ebx, dword [edx]
shr ebx, 0x18
xor ecx, ebx
mov dword [ebp - 8], ecx
mov ecx, dword [edx + 4]
shl ecx, 8
mov ebx, dword [edx + 4]
shr ebx, 8
xor ecx, ebx
mov ebx, dword [edx + 4]
shl ebx, 0x10
xor ecx, ebx
mov ebx, dword [edx + 4]
shr ebx, 0x10
xor ecx, ebx
mov ebx, dword [edx + 4]
shl ebx, 0x18
xor ecx, ebx
mov ebx, dword [edx + 4]
shr ebx, 0x18
xor ecx, ebx
mov ebx, dword [edx + 8]
shl ebx, 8
mov esi, dword [edx + 8]
shr esi, 8
xor ebx, esi
mov esi, dword [edx + 8]
shl esi, 0x10
xor ebx, esi
mov esi, dword [edx + 8]
shr esi, 0x10
xor ebx, esi
mov esi, dword [edx + 8]
shl esi, 0x18
xor ebx, esi
mov esi, dword [edx + 8]
shr esi, 0x18
xor ebx, esi
mov esi, dword [edx + 0xc]
shl esi, 8
mov edi, dword [edx + 0xc]
shr edi, 8
xor esi, edi
mov edi, dword [edx + 0xc]
shl edi, 0x10
xor esi, edi
mov edi, dword [edx + 0xc]
shr edi, 0x10
xor esi, edi
mov edi, dword [edx + 0xc]
shl edi, 0x18
xor esi, edi
mov edi, dword [edx + 0xc]
shr edi, 0x18
xor esi, edi
mov dword [ebp - 0xc], esi
xor ecx, ebx
xor ebx, dword [ebp - 0xc]
xor dword [ebp - 8], ecx
xor dword [ebp - 0xc], ecx
xor ebx, dword [ebp - 8]
xor ecx, ebx
mov esi, ecx
shl esi, 8
and esi, 0xff00ff00
shr ecx, 8
and ecx, 0xff00ff
xor esi, ecx
mov ecx, esi
mov esi, ebx
shl esi, 0x10
and esi, 0xffff0000
shr ebx, 0x10
and ebx, 0xffff
xor esi, ebx
mov ebx, esi
mov esi, dword [ebp - 0xc]
shl esi, 0x18
mov edi, dword [ebp - 0xc]
shr edi, 0x18
xor esi, edi
mov edi, dword [ebp - 0xc]
and edi, 0xff00
shl edi, 8
xor esi, edi
mov edi, dword [ebp - 0xc]
and edi, 0xff0000
shr edi, 8
xor esi, edi
mov dword [ebp - 0xc], esi
xor ecx, ebx
xor ebx, dword [ebp - 0xc]
xor dword [ebp - 8], ecx
xor dword [ebp - 0xc], ecx
xor ebx, dword [ebp - 8]
xor ecx, ebx
mov esi, dword [ebp - 8]
mov dword [eax], esi
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x10]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x14]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x18]
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [edx + 0xc], ecx
add eax, 0x10
sub edx, 0x10
cmp edx, eax
ja 0x4c30f9
mov ecx, dword [eax]
shl ecx, 8
mov ebx, dword [eax]
shr ebx, 8
xor ecx, ebx
mov ebx, dword [eax]
shl ebx, 0x10
xor ecx, ebx
mov ebx, dword [eax]
shr ebx, 0x10
xor ecx, ebx
mov ebx, dword [eax]
shl ebx, 0x18
xor ecx, ebx
mov ebx, dword [eax]
shr ebx, 0x18
xor ecx, ebx
mov dword [ebp - 8], ecx
mov ecx, dword [eax + 4]
shl ecx, 8
mov ebx, dword [eax + 4]
shr ebx, 8
xor ecx, ebx
mov ebx, dword [eax + 4]
shl ebx, 0x10
xor ecx, ebx
mov ebx, dword [eax + 4]
shr ebx, 0x10
xor ecx, ebx
mov ebx, dword [eax + 4]
shl ebx, 0x18
xor ecx, ebx
mov ebx, dword [eax + 4]
shr ebx, 0x18
xor ecx, ebx
mov ebx, dword [eax + 8]
shl ebx, 8
mov esi, dword [eax + 8]
shr esi, 8
xor ebx, esi
mov esi, dword [eax + 8]
shl esi, 0x10
xor ebx, esi
mov esi, dword [eax + 8]
shr esi, 0x10
xor ebx, esi
mov esi, dword [eax + 8]
shl esi, 0x18
xor ebx, esi
mov esi, dword [eax + 8]
shr esi, 0x18
xor ebx, esi
mov esi, dword [eax + 0xc]
shl esi, 8
mov edi, dword [eax + 0xc]
shr edi, 8
xor esi, edi
mov edi, dword [eax + 0xc]
shl edi, 0x10
xor esi, edi
mov edi, dword [eax + 0xc]
shr edi, 0x10
xor esi, edi
mov edi, dword [eax + 0xc]
shl edi, 0x18
xor esi, edi
mov eax, dword [eax + 0xc]
shr eax, 0x18
xor esi, eax
mov dword [ebp - 0xc], esi
xor ecx, ebx
xor ebx, dword [ebp - 0xc]
xor dword [ebp - 8], ecx
xor dword [ebp - 0xc], ecx
xor ebx, dword [ebp - 8]
xor ecx, ebx
mov eax, ecx
shl eax, 8
and eax, 0xff00ff00
shr ecx, 8
and ecx, 0xff00ff
xor eax, ecx
mov ecx, eax
mov eax, ebx
shl eax, 0x10
and eax, 0xffff0000
shr ebx, 0x10
and ebx, 0xffff
xor eax, ebx
mov ebx, eax
mov eax, dword [ebp - 0xc]
shl eax, 0x18
mov esi, dword [ebp - 0xc]
shr esi, 0x18
xor eax, esi
mov esi, dword [ebp - 0xc]
and esi, 0xff00
shl esi, 8
xor eax, esi
mov esi, dword [ebp - 0xc]
and esi, 0xff0000
shr esi, 8
xor eax, esi
mov dword [ebp - 0xc], eax
xor ecx, ebx
xor ebx, dword [ebp - 0xc]
xor dword [ebp - 8], ecx
xor dword [ebp - 0xc], ecx
xor ebx, dword [ebp - 8]
xor ecx, ebx
mov eax, dword [ebp - 8]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov dword [edx + 8], ebx
mov ecx, dword [ebp - 0xc]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret