Function at 0x10027870
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, eax
mov eax, dword [ecx + 0x1074]
mov edx, dword [esi + 4]
push edi
mov edi, dword [ecx + 0x64]
mov ecx, dword [edi]
xor ecx, dword [esi]
lea esi, [edi + 8]
mov dword [esp + 0x10], 2
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [eax + ebx*4 + 0x400]
mov dword [esp + 0x14], edx
mov ebp, ecx
shr ebp, 0x18
add ebx, dword [eax + ebp*4]
mov edx, ecx
shr edx, 8
movzx ebp, dl
xor ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x14]
movzx ebp, cl
add ebx, dword [eax + ebp*4 + 0xc00]
mov dword [esp + 0x14], ecx
xor ebx, dword [esi - 4]
xor edx, ebx
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [eax + ebx*4 + 0x400]
mov ebp, edx
shr ebp, 0x18
add ebx, dword [eax + ebp*4]
mov ecx, edx
shr ecx, 8
movzx ebp, cl
xor ebx, dword [eax + ebp*4 + 0x800]
mov ecx, dword [esp + 0x14]
movzx ebp, dl
add ebx, dword [eax + ebp*4 + 0xc00]
mov dword [esp + 0x14], edx
xor ebx, dword [esi]
xor ecx, ebx
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [eax + ebx*4 + 0x400]
mov ebp, ecx
shr ebp, 0x18
add ebx, dword [eax + ebp*4]
mov edx, ecx
shr edx, 8
movzx ebp, dl
xor ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x14]
movzx ebp, cl
add ebx, dword [eax + ebp*4 + 0xc00]
mov dword [esp + 0x14], ecx
xor ebx, dword [esi + 4]
xor edx, ebx
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [eax + ebx*4 + 0x400]
mov ebp, edx
shr ebp, 0x18
add ebx, dword [eax + ebp*4]
mov ecx, edx
shr ecx, 8
movzx ebp, cl
xor ebx, dword [eax + ebp*4 + 0x800]
mov ecx, dword [esp + 0x14]
movzx ebp, dl
add ebx, dword [eax + ebp*4 + 0xc00]
mov dword [esp + 0x14], edx
xor ebx, dword [esi + 8]
xor ecx, ebx
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [eax + ebx*4 + 0x400]
mov ebp, ecx
shr ebp, 0x18
add ebx, dword [eax + ebp*4]
mov edx, ecx
shr edx, 8
movzx ebp, dl
xor ebx, dword [eax + ebp*4 + 0x800]
movzx ebp, cl
add ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x14]
xor ebx, dword [esi + 0xc]
mov dword [esp + 0x14], ecx
xor edx, ebx
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [eax + ebx*4 + 0x400]
mov ebp, edx
shr ebp, 0x18
add ebx, dword [eax + ebp*4]
mov ecx, edx
shr ecx, 8
movzx ebp, cl
xor ebx, dword [eax + ebp*4 + 0x800]
mov ecx, dword [esp + 0x14]
movzx ebp, dl
add ebx, dword [eax + ebp*4 + 0xc00]
mov dword [esp + 0x14], edx
xor ebx, dword [esi + 0x10]
add esi, 0x20
xor ecx, ebx
mov ebx, ecx
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [eax + ebx*4 + 0x400]
mov ebp, ecx
shr ebp, 0x18
add ebx, dword [eax + ebp*4]
mov edx, ecx
shr edx, 8
movzx ebp, dl
xor ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x14]
movzx ebp, cl
add ebx, dword [eax + ebp*4 + 0xc00]
mov dword [esp + 0x14], ecx
xor ebx, dword [esi - 0xc]
xor edx, ebx
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [eax + ebx*4 + 0x400]
mov ebp, edx
shr ebp, 0x18
add ebx, dword [eax + ebp*4]
mov ecx, edx
shr ecx, 8
movzx ebp, cl
xor ebx, dword [eax + ebp*4 + 0x800]
mov ecx, dword [esp + 0x14]
movzx ebp, dl
add ebx, dword [eax + ebp*4 + 0xc00]
xor ebx, dword [esi - 8]
xor ecx, ebx
dec dword [esp + 0x10]
jne 0x10027894
mov esi, dword [edi + 0x44]
mov eax, dword [esp + 0x1c]
xor esi, edx
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov dword [eax + 4], ecx
pop ebx
add esp, 8
ret 4