Function at 0x473820
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [ebp + 8]
movups xmm0, xmmword [ecx]
mov dword [ebp - 0x5c], ecx
push ebx
movups xmmword [eax], xmm0
push esi
movups xmm0, xmmword [ecx + 0x10]
push edi
mov dword [ebp - 0x38], 0xa
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [eax + 0x30], xmm0
mov ecx, dword [eax + 0x30]
mov dword [ebp - 4], ecx
mov ecx, dword [eax + 0x14]
mov ebx, dword [eax + 0x10]
mov esi, dword [eax]
mov edi, dword [eax + 0x20]
mov dword [ebp - 8], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x14], ecx
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x34], ecx
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x20], ecx
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x28], ecx
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x30], ecx
nop dword [eax]
lea ecx, [ebx + esi]
xor eax, ecx
mov edx, eax
shl eax, 0x10
shr edx, 0x10
or edx, eax
mov eax, dword [ebp - 0x10]
add edi, edx
xor ebx, edi
mov esi, ebx
shl ebx, 0xc
shr esi, 0x14
or esi, ebx
mov ebx, dword [ebp - 8]
add ecx, esi
mov dword [ebp - 0x40], ecx
xor ecx, edx
mov edx, ecx
shl ecx, 8
shr edx, 0x18
or edx, ecx
mov dword [ebp - 4], edx
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x48], ecx
xor ecx, esi
mov edx, ecx
shl ecx, 7
shr edx, 0x19
or edx, ecx
mov ecx, dword [ebp - 0xc]
add ecx, ebx
mov dword [ebp - 0x50], edx
xor eax, ecx
mov edx, eax
shl eax, 0x10
shr edx, 0x10
or edx, eax
mov eax, dword [ebp - 0x18]
add edi, edx
xor ebx, edi
mov esi, ebx
shl ebx, 0xc
shr esi, 0x14
or esi, ebx
mov ebx, dword [ebp - 0x20]
add ecx, esi
mov dword [ebp - 0x10], ecx
xor ecx, edx
mov edx, ecx
shl ecx, 8
shr edx, 0x18
or edx, ecx
mov dword [ebp - 0x44], edx
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x58], ecx
add edi, eax
xor ecx, esi
mov edx, ecx
shl ecx, 7
shr edx, 0x19
or edx, ecx
mov ecx, edi
xor ecx, dword [ebp - 0x34]
mov dword [ebp - 0x14], edx
mov edx, ecx
shl ecx, 0x10
shr edx, 0x10
or edx, ecx
add ebx, edx
xor eax, ebx
mov esi, eax
shl eax, 0xc
shr esi, 0x14
or esi, eax
lea ecx, [edi + esi]
mov dword [ebp - 0x1c], ecx
xor ecx, edx
mov edx, ecx
shr edx, 0x18
shl ecx, 8
or edx, ecx
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x54], edx
lea ecx, [ebx + edx]
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
xor ecx, esi
mov edx, ecx
shl ecx, 7
shr edx, 0x19
or edx, ecx
mov ecx, dword [ebp - 0x28]
add ecx, ebx
mov dword [ebp - 0x34], edx
xor eax, ecx
mov edx, eax
shl eax, 0x10
shr edx, 0x10
or edx, eax
add edi, edx
xor ebx, edi
mov esi, ebx
shl ebx, 0xc
shr esi, 0x14
or esi, ebx
add ecx, esi
mov dword [ebp - 0x4c], ecx
xor ecx, edx
mov edx, ecx
shl ecx, 8
shr edx, 0x18
or edx, ecx
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x30], ecx
xor ecx, esi
mov esi, dword [ebp - 0x40]
mov ebx, ecx
add esi, dword [ebp - 0x14]
shl ecx, 7
shr ebx, 0x19
or ebx, ecx
mov ecx, esi
xor ecx, edx
mov dword [ebp - 0x28], ebx
mov ebx, ecx
shl ecx, 0x10
shr ebx, 0x10
or ebx, ecx
add edi, ebx
mov ecx, edi
xor ecx, dword [ebp - 0x14]
mov edx, ecx
shl ecx, 0xc
shr edx, 0x14
or edx, ecx
lea eax, [esi + edx]
mov esi, dword [ebp - 0x10]
add esi, dword [ebp - 0x34]
xor ebx, eax
mov dword [ebp - 0x3c], eax
mov ecx, esi
xor ecx, dword [ebp - 4]
mov eax, ebx
shr eax, 0x18
shl ebx, 8
or eax, ebx
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
add eax, edi
mov dword [ebp - 0x20], eax
xor eax, edx
mov edx, ecx
ror eax, 0x19
shr edx, 0x10
shl ecx, 0x10
or edx, ecx
mov dword [ebp - 8], eax
add ebx, edx
mov ecx, ebx
xor ecx, dword [ebp - 0x34]
mov edi, ecx
shl ecx, 0xc
shr edi, 0x14
or edi, ecx
lea eax, [esi + edi]
mov esi, dword [ebp - 0x1c]
add esi, dword [ebp - 0x28]
mov ecx, eax
xor ecx, edx
mov dword [ebp - 0xc], eax
mov eax, ecx
shl ecx, 8
shr eax, 0x18
or eax, ecx
lea ecx, [ebx + eax]
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 0x30], ecx
xor ecx, edi
ror ecx, 0x19
mov dword [ebp - 0x18], ecx
mov ecx, esi
xor ecx, dword [ebp - 0x44]
mov edx, ecx
shl ecx, 0x10
shr edx, 0x10
or edx, ecx
add ebx, edx
mov ecx, ebx
xor ecx, dword [ebp - 0x28]
mov edi, ecx
shl ecx, 0xc
shr edi, 0x14
or edi, ecx
lea ecx, [esi + edi]
mov dword [ebp - 0x1c], ecx
xor ecx, edx
mov edx, ecx
shl ecx, 8
shr edx, 0x18
or edx, ecx
mov dword [ebp - 0x10], edx
lea ecx, [ebx + edx]
mov edx, dword [ebp - 0x4c]
add edx, dword [ebp - 0x50]
mov dword [ebp - 0x40], ecx
xor ecx, edi
mov edi, dword [ebp - 0x58]
ror ecx, 0x19
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x54]
xor ecx, edx
mov ebx, ecx
shl ecx, 0x10
shr ebx, 0x10
or ebx, ecx
add edi, ebx
mov ecx, edi
xor ecx, dword [ebp - 0x50]
mov esi, ecx
shl ecx, 0xc
shr esi, 0x14
or esi, ecx
lea ecx, [esi + edx]
xor ebx, ecx
mov dword [ebp - 0x28], ecx
mov edx, ebx
shl ebx, 8
shr edx, 0x18
or edx, ebx
mov dword [ebp - 0x34], edx
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x40]
mov ebx, ecx
mov dword [ebp - 0x14], ecx
xor ebx, esi
mov esi, dword [ebp - 0x3c]
ror ebx, 0x19
sub dword [ebp - 0x38], 1
jne 0x4738b0
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 8]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0xc]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x34], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x28], ecx
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x1c], ecx
mov ecx, dword [ebp - 0x28]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax], esi
mov esi, dword [ebp - 0x14]
mov dword [eax + 0x3c], ecx
mov ecx, dword [ebp - 0x5c]
mov dword [eax + 0x24], esi
mov esi, dword [ebp - 0x30]
mov dword [eax + 0x10], ebx
movups xmm0, xmmword [ecx]
mov dword [eax + 0x20], edi
mov dword [eax + 0x2c], esi
mov dword [eax + 0x38], edx
movups xmm1, xmmword [eax]
pop edi
pop esi
paddd xmm1, xmm0
movups xmmword [eax], xmm1
pop ebx
movups xmm0, xmmword [eax + 0x10]
movups xmm1, xmmword [ecx + 0x10]
paddd xmm1, xmm0
movups xmmword [eax + 0x10], xmm1
movups xmm0, xmmword [eax + 0x20]
movups xmm1, xmmword [ecx + 0x20]
paddd xmm1, xmm0
movups xmm0, xmmword [ecx + 0x30]
add dword [ecx + 0x30], 1
movups xmmword [eax + 0x20], xmm1
movups xmm1, xmmword [eax + 0x30]
paddd xmm1, xmm0
movups xmmword [eax + 0x30], xmm1
jne 0x473bc8
inc dword [ecx + 0x34]
mov esp, ebp
pop ebp
ret 4