Function at 0x100c61f0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 4]
mov edx, dword [eax + 4]
push ebx
push ebp
push esi
mov esi, dword [eax]
ror esi, 0x1d
ror edx, 0x1d
cmp dword [esp + 0x18], 0
push edi
mov edi, dword [esp + 0x18]
je 0x100c633a
add edi, 8
mov dword [esp + 0x18], 8
lea ecx, [ecx]
mov eax, dword [edi - 4]
mov ecx, dword [edi - 8]
xor ecx, esi
xor eax, esi
ror eax, 4
mov ebx, eax
shr ebx, 0x12
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x1016fca8]
mov ebp, eax
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016faa8]
mov ebp, eax
shr ebp, 2
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f8a8]
mov ebp, ecx
shr ebp, 0x12
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016fba8]
mov ebp, ecx
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f9a8]
mov ebp, ecx
shr ebp, 2
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f7a8]
shr eax, 0x1a
xor ebx, dword [eax*4 + 0x1016fea8]
mov eax, dword [edi + 4]
shr ecx, 0x1a
xor ebx, dword [ecx*4 + 0x1016fda8]
mov ecx, dword [edi]
xor edx, ebx
xor ecx, edx
xor eax, edx
ror eax, 4
mov ebx, eax
shr ebx, 0x12
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x1016fca8]
mov ebp, eax
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016faa8]
mov ebp, eax
shr ebp, 2
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f8a8]
mov ebp, ecx
shr ebp, 0x12
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016fba8]
mov ebp, ecx
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f9a8]
mov ebp, ecx
shr ebp, 2
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f7a8]
shr eax, 0x1a
xor ebx, dword [eax*4 + 0x1016fea8]
shr ecx, 0x1a
xor ebx, dword [ecx*4 + 0x1016fda8]
add edi, 0x10
xor esi, ebx
dec dword [esp + 0x18]
jne 0x100c6220
mov eax, dword [esp + 0x14]
ror edx, 3
ror esi, 3
pop edi
mov dword [eax + 4], esi
pop esi
pop ebp
mov dword [eax], edx
pop ebx
ret
add edi, 0x70
mov dword [esp + 0x18], 8
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor ecx, esi
xor eax, esi
ror eax, 4
mov ebx, eax
shr ebx, 0x12
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x1016fca8]
mov ebp, eax
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016faa8]
mov ebp, eax
shr ebp, 2
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f8a8]
mov ebp, ecx
shr ebp, 0x12
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016fba8]
mov ebp, ecx
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f9a8]
mov ebp, ecx
shr ebp, 2
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f7a8]
shr eax, 0x1a
xor ebx, dword [eax*4 + 0x1016fea8]
mov eax, dword [edi + 4]
shr ecx, 0x1a
xor ebx, dword [ecx*4 + 0x1016fda8]
mov ecx, dword [edi]
xor edx, ebx
xor ecx, edx
xor eax, edx
ror eax, 4
mov ebx, eax
shr ebx, 0x12
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x1016fca8]
mov ebp, eax
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016faa8]
mov ebp, eax
shr ebp, 2
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f8a8]
mov ebp, ecx
shr ebp, 0x12
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016fba8]
mov ebp, ecx
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f9a8]
mov ebp, ecx
shr ebp, 2
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1016f7a8]
shr eax, 0x1a
xor ebx, dword [eax*4 + 0x1016fea8]
shr ecx, 0x1a
xor ebx, dword [ecx*4 + 0x1016fda8]
sub edi, 0x10
xor esi, ebx
dec dword [esp + 0x18]
jne 0x100c6345
mov eax, dword [esp + 0x14]
ror edx, 3
ror esi, 3
pop edi
mov dword [eax + 4], esi
pop esi
pop ebp
mov dword [eax], edx
pop ebx
ret