Function at 0x574bd0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x44
push ebx
push ebp
push esi
mov esi, dword [esp + 0x54]
push edi
mov ecx, 0x10
lea edi, [esp + 0x14]
mov dword [esp + 0x10], 0xa
rep movsd dword es:[edi], dword [esi]
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
add edx, edi
xor ecx, edx
mov eax, ecx
shr eax, 0x10
shl ecx, 0x10
or eax, ecx
add esi, eax
xor edi, esi
mov ecx, edi
shr ecx, 0x14
shl edi, 0xc
or ecx, edi
mov edi, dword [esp + 0x28]
add edx, ecx
add ebx, edi
xor eax, edx
mov dword [esp + 0x14], edx
mov edx, eax
shr edx, 0x18
shl eax, 8
or edx, eax
add esi, edx
xor ecx, esi
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x48]
mov eax, ecx
shr eax, 0x19
shl ecx, 7
xor esi, ebx
or eax, ecx
mov ecx, esi
shr ecx, 0x10
shl esi, 0x10
or ecx, esi
add ebp, ecx
xor edi, ebp
mov esi, edi
shr esi, 0x14
shl edi, 0xc
or esi, edi
add ebx, esi
xor ecx, ebx
mov dword [esp + 0x18], ebx
mov edi, ecx
mov ebx, dword [esp + 0x4c]
shr edi, 0x18
shl ecx, 8
or edi, ecx
add ebp, edi
xor esi, ebp
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x2c]
mov ecx, esi
shr ecx, 0x19
shl esi, 7
or ecx, esi
mov esi, dword [esp + 0x1c]
add esi, ebp
xor ebx, esi
mov dword [esp + 0x1c], esi
mov esi, ebx
shr esi, 0x10
shl ebx, 0x10
or esi, ebx
mov ebx, dword [esp + 0x3c]
add ebx, esi
xor ebp, ebx
mov dword [esp + 0x3c], ebx
mov ebx, ebp
shr ebx, 0x14
shl ebp, 0xc
or ebx, ebp
mov ebp, dword [esp + 0x1c]
add ebp, ebx
xor esi, ebp
mov dword [esp + 0x1c], ebp
mov ebp, esi
shr ebp, 0x18
shl esi, 8
or ebp, esi
mov esi, dword [esp + 0x3c]
add esi, ebp
xor ebx, esi
mov dword [esp + 0x3c], esi
mov esi, ebx
shr esi, 0x19
shl ebx, 7
or esi, ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x20]
add esi, ebx
mov ebx, dword [esp + 0x50]
xor ebx, esi
mov dword [esp + 0x20], esi
mov esi, ebx
shr esi, 0x10
shl ebx, 0x10
or esi, ebx
mov ebx, dword [esp + 0x40]
add ebx, esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x30]
xor ebx, dword [esp + 0x40]
mov esi, ebx
shr esi, 0x14
shl ebx, 0xc
or esi, ebx
mov ebx, dword [esp + 0x20]
add ebx, esi
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x20], ebx
xor esi, ebx
mov ebx, esi
shr ebx, 0x18
shl esi, 8
or ebx, esi
mov esi, dword [esp + 0x40]
add esi, ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x30]
xor esi, dword [esp + 0x40]
mov ebx, esi
shr ebx, 0x19
shl esi, 7
or ebx, esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x50]
add esi, ecx
xor ebx, esi
mov dword [esp + 0x14], esi
mov esi, ebx
shr esi, 0x10
shl ebx, 0x10
or esi, ebx
mov ebx, dword [esp + 0x3c]
add ebx, esi
xor ecx, ebx
mov dword [esp + 0x3c], ebx
mov ebx, ecx
shr ebx, 0x14
shl ecx, 0xc
or ebx, ecx
mov ecx, dword [esp + 0x14]
add ecx, ebx
xor esi, ecx
mov dword [esp + 0x14], ecx
mov ecx, esi
shr ecx, 0x18
shl esi, 8
or esi, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x50], esi
add ecx, esi
mov esi, dword [esp + 0x2c]
xor ebx, ecx
mov dword [esp + 0x3c], ecx
mov ecx, ebx
shr ecx, 0x19
shl ebx, 7
or ecx, ebx
mov ebx, dword [esp + 0x18]
add ebx, esi
mov dword [esp + 0x28], ecx
xor edx, ebx
mov ecx, edx
shr ecx, 0x10
shl edx, 0x10
or ecx, edx
mov edx, dword [esp + 0x40]
add edx, ecx
xor esi, edx
mov dword [esp + 0x40], edx
mov edx, esi
shr edx, 0x14
shl esi, 0xc
or edx, esi
add ebx, edx
xor ecx, ebx
mov dword [esp + 0x18], ebx
mov esi, ecx
shr esi, 0x18
shl ecx, 8
or ecx, esi
mov esi, dword [esp + 0x40]
add esi, ecx
mov dword [esp + 0x44], ecx
xor edx, esi
mov dword [esp + 0x40], esi
mov ecx, edx
mov esi, dword [esp + 0x34]
shr ecx, 0x19
shl edx, 7
or ecx, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x1c]
add ecx, edx
xor edi, ecx
mov dword [esp + 0x1c], ecx
mov ecx, edi
shr ecx, 0x10
shl edi, 0x10
or ecx, edi
add esi, ecx
xor edx, esi
mov dword [esp + 0x30], edx
mov edi, dword [esp + 0x30]
shr edx, 0x14
shl edi, 0xc
or edx, edi
mov edi, dword [esp + 0x1c]
add edi, edx
xor ecx, edi
mov dword [esp + 0x1c], edi
mov edi, ecx
shr edi, 0x18
shl ecx, 8
or ecx, edi
mov edi, dword [esp + 0x20]
add esi, ecx
mov dword [esp + 0x48], ecx
xor edx, esi
add edi, eax
mov ecx, edx
xor ebp, edi
shr ecx, 0x19
shl edx, 7
or ecx, edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ecx
mov ecx, ebp
shr ecx, 0x10
shl ebp, 0x10
or ecx, ebp
mov ebp, dword [esp + 0x38]
add ebp, ecx
xor eax, ebp
mov edx, eax
shr edx, 0x14
shl eax, 0xc
or edx, eax
add edi, edx
xor ecx, edi
mov dword [esp + 0x20], edi
mov eax, ecx
shr eax, 0x18
shl ecx, 8
or eax, ecx
add ebp, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x10]
xor edx, ebp
mov ecx, edx
mov dword [esp + 0x38], ebp
shr ecx, 0x19
shl edx, 7
or ecx, edx
dec eax
mov edi, ecx
mov dword [esp + 0x10], eax
jne 0x574bfe
mov ebp, dword [esp + 0x58]
lea edx, [esp + 0x14]
mov ecx, ebp
mov dword [esp + 0x24], edi
sub ecx, edx
lea eax, [esp + 0x14]
mov edx, 0x10
mov esi, dword [ecx + eax]
mov ebx, dword [eax]
add ebx, esi
mov dword [eax], ebx
add eax, 4
dec edx
jne 0x574f0a
lea esi, [esp + 0x14]
lea eax, [ebp + 0x45]
mov edi, 0x10
mov cl, byte [esi]
add esi, 4
mov byte [eax - 1], cl
mov ecx, dword [esi - 4]
mov edx, ecx
add eax, 4
shr edx, 8
mov byte [eax - 4], dl
mov edx, ecx
shr edx, 0x10
shr ecx, 0x18
mov byte [eax - 3], dl
mov byte [eax - 2], cl
dec edi
jne 0x574f25
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x40], 0
inc eax
mov dword [ebp + 0x30], eax
jne 0x574f5f
inc dword [ebp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret