Function at 0x474b3b
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, dword [edx]
mov ebx, ecx
rol esi, 4
mov eax, esi
xor eax, dword [edx + 4]
and eax, 0xf0f0f0f0
xor esi, eax
xor eax, dword [edx + 4]
rol eax, 0x14
mov ecx, esi
xor ecx, eax
and ecx, 0xfff0000f
xor esi, ecx
xor ecx, eax
rol ecx, 0xe
mov eax, esi
xor eax, ecx
and eax, 0x33333333
xor ecx, eax
xor eax, esi
push edi
rol eax, 0x16
mov edi, eax
xor edi, ecx
and edi, 0x3fc03fc
xor ecx, edi
xor edi, eax
rol edi, 9
mov ebp, edi
xor ebp, ecx
and ebp, 0xaaaaaaaa
xor edi, ebp
xor ebp, ecx
rol ebp, 1
cmp dword [esp + 0x1c], 0
je 0x474cb2
lea eax, [ebx + 8]
mov dword [esp + 0x10], 8
mov dword [esp + 0x1c], eax
mov ebx, 0xfc
mov edx, dword [eax - 4]
mov esi, dword [eax - 8]
xor edx, edi
ror edx, 4
xor esi, edi
mov ecx, edx
mov eax, edx
shr eax, 0x10
and eax, ebx
shr ecx, 0x18
and ecx, ebx
mov ecx, dword [ecx + 0x4a99f0]
xor ecx, dword [eax + 0x4a97f0]
mov eax, edx
shr eax, 8
and edx, ebx
and eax, ebx
xor ecx, dword [eax + 0x4a95f0]
mov eax, esi
shr eax, 0x18
and eax, ebx
xor ecx, dword [eax + 0x4a98f0]
mov eax, esi
shr eax, 0x10
and eax, ebx
xor ecx, dword [eax + 0x4a96f0]
mov eax, esi
shr eax, 8
and esi, ebx
and eax, ebx
xor ecx, dword [eax + 0x4a94f0]
xor ecx, dword [edx + 0x4a93f0]
xor ecx, dword [esi + 0x4a92f0]
mov edx, dword [esp + 0x1c]
xor ebp, ecx
mov esi, dword [edx]
mov edx, dword [edx + 4]
xor esi, ebp
xor edx, ebp
ror edx, 4
mov ecx, edx
mov eax, edx
shr eax, 0x10
and eax, ebx
shr ecx, 0x18
and ecx, ebx
mov ecx, dword [ecx + 0x4a99f0]
xor ecx, dword [eax + 0x4a97f0]
mov eax, edx
shr eax, 8
and edx, ebx
and eax, ebx
xor ecx, dword [eax + 0x4a95f0]
mov eax, esi
shr eax, 0x18
and eax, ebx
xor ecx, dword [eax + 0x4a98f0]
mov eax, esi
shr eax, 0x10
and eax, ebx
xor ecx, dword [eax + 0x4a96f0]
mov eax, esi
shr eax, 8
and esi, ebx
and eax, ebx
xor ecx, dword [eax + 0x4a94f0]
xor ecx, dword [edx + 0x4a93f0]
xor ecx, dword [esi + 0x4a92f0]
mov eax, dword [esp + 0x1c]
xor edi, ecx
add eax, 0x10
sub dword [esp + 0x10], 1
mov dword [esp + 0x1c], eax
jne 0x474bba
jmp 0x474db9
lea eax, [ebx + 0x7c]
mov dword [esp + 0x10], 8
mov dword [esp + 0x1c], eax
mov ebx, 0xfc
mov edx, dword [eax]
mov esi, dword [eax - 4]
xor edx, edi
ror edx, 4
xor esi, edi
mov ecx, edx
mov eax, edx
shr eax, 0x10
and eax, ebx
shr ecx, 0x18
and ecx, ebx
mov ecx, dword [ecx + 0x4a99f0]
xor ecx, dword [eax + 0x4a97f0]
mov eax, edx
shr eax, 8
and edx, ebx
and eax, ebx
xor ecx, dword [eax + 0x4a95f0]
mov eax, esi
shr eax, 0x18
and eax, ebx
xor ecx, dword [eax + 0x4a98f0]
mov eax, esi
shr eax, 0x10
and eax, ebx
xor ecx, dword [eax + 0x4a96f0]
mov eax, esi
shr eax, 8
and esi, ebx
and eax, ebx
xor ecx, dword [eax + 0x4a94f0]
xor ecx, dword [edx + 0x4a93f0]
xor ecx, dword [esi + 0x4a92f0]
mov edx, dword [esp + 0x1c]
xor ebp, ecx
mov esi, dword [edx - 0xc]
mov edx, dword [edx - 8]
xor esi, ebp
xor edx, ebp
ror edx, 4
mov ecx, edx
mov eax, edx
shr eax, 0x10
and eax, ebx
shr ecx, 0x18
and ecx, ebx
mov ecx, dword [ecx + 0x4a99f0]
xor ecx, dword [eax + 0x4a97f0]
mov eax, edx
shr eax, 8
and edx, ebx
and eax, ebx
xor ecx, dword [eax + 0x4a95f0]
mov eax, esi
shr eax, 0x18
and eax, ebx
xor ecx, dword [eax + 0x4a98f0]
mov eax, esi
shr eax, 0x10
and eax, ebx
xor ecx, dword [eax + 0x4a96f0]
mov eax, esi
shr eax, 8
and esi, ebx
and eax, ebx
xor ecx, dword [eax + 0x4a94f0]
xor ecx, dword [edx + 0x4a93f0]
xor ecx, dword [esi + 0x4a92f0]
mov eax, dword [esp + 0x1c]
xor edi, ecx
sub eax, 0x10
sub dword [esp + 0x10], 1
mov dword [esp + 0x1c], eax
jne 0x474cc6
ror edi, 1
mov eax, edi
xor eax, ebp
and eax, 0xaaaaaaaa
xor edi, eax
xor eax, ebp
ror eax, 9
mov ecx, edi
xor ecx, eax
and ecx, 0x3fc03fc
xor edi, ecx
xor ecx, eax
ror ecx, 0x16
mov eax, edi
xor eax, ecx
and eax, 0x33333333
xor ecx, eax
xor eax, edi
ror eax, 0xe
mov esi, eax
xor esi, ecx
and esi, 0xfff0000f
xor ecx, esi
xor esi, eax
ror esi, 0x14
mov edx, esi
xor edx, ecx
and edx, 0xf0f0f0f0
mov eax, edx
xor eax, ecx
mov ecx, dword [esp + 0x18]
pop edi
ror eax, 4
xor edx, esi
pop esi
pop ebp
mov dword [ecx], eax
mov dword [ecx + 4], edx
pop ebx
pop ecx
ret