Function at 0x1003cb10
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 4]
push ebx
push ebp
push esi
mov esi, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x18]
push edi
ror esi, 0x1d
ror edx, 0x1d
test eax, eax
je 0x1003cc68
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], 8
lea edi, [eax + 8]
mov eax, dword [edi - 4]
mov ecx, dword [edi - 8]
xor eax, esi
xor ecx, esi
ror eax, 4
mov ebx, eax
mov ebp, eax
shr ebx, 0x12
shr ebp, 0xa
and ebx, 0x3f
and ebp, 0x3f
add edi, 0x10
mov ebx, dword [ebx*4 + 0x1009cb0c]
xor ebx, dword [ebp*4 + 0x1009c90c]
mov ebp, eax
shr ebp, 2
and ebp, 0x3f
shr eax, 0x1a
xor ebx, dword [ebp*4 + 0x1009c70c]
mov ebp, ecx
shr ebp, 0x12
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1009ca0c]
mov ebp, ecx
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1009c80c]
mov ebp, ecx
shr ebp, 2
and ebp, 0x3f
shr ecx, 0x1a
xor ebx, dword [ebp*4 + 0x1009c60c]
mov ebp, dword [eax*4 + 0x1009cd0c]
mov eax, dword [edi - 0x10]
xor ebx, ebp
mov ebp, dword [ecx*4 + 0x1009cc0c]
xor ebx, ebp
xor edx, ebx
mov ecx, edx
xor ecx, eax
mov eax, dword [edi - 0xc]
xor eax, edx
ror eax, 4
mov ebx, eax
mov ebp, eax
shr ebx, 0x12
and ebx, 0x3f
shr ebp, 0xa
mov ebx, dword [ebx*4 + 0x1009cb0c]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1009c90c]
mov ebp, eax
shr ebp, 2
and ebp, 0x3f
shr eax, 0x1a
xor ebx, dword [ebp*4 + 0x1009c70c]
mov ebp, ecx
shr ebp, 0x12
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1009ca0c]
mov ebp, ecx
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1009c80c]
mov ebp, ecx
shr ebp, 2
and ebp, 0x3f
shr ecx, 0x1a
xor ebx, dword [ebp*4 + 0x1009c60c]
mov ebp, dword [eax*4 + 0x1009cd0c]
mov eax, dword [ecx*4 + 0x1009cc0c]
xor ebx, ebp
xor ebx, eax
mov eax, dword [esp + 0x18]
xor esi, ebx
dec eax
mov dword [esp + 0x18], eax
jne 0x1003cb3e
mov eax, dword [esp + 0x14]
pop edi
ror edx, 3
ror esi, 3
mov dword [eax + 4], esi
pop esi
pop ebp
mov dword [eax], edx
pop ebx
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], 8
lea edi, [ecx + 0x70]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor eax, esi
xor ecx, esi
ror eax, 4
mov ebx, eax
mov ebp, eax
shr ebx, 0x12
shr ebp, 0xa
and ebx, 0x3f
and ebp, 0x3f
sub edi, 0x10
mov ebx, dword [ebx*4 + 0x1009cb0c]
xor ebx, dword [ebp*4 + 0x1009c90c]
mov ebp, eax
shr ebp, 2
and ebp, 0x3f
shr eax, 0x1a
xor ebx, dword [ebp*4 + 0x1009c70c]
mov ebp, ecx
shr ebp, 0x12
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1009ca0c]
mov ebp, ecx
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1009c80c]
mov ebp, ecx
shr ebp, 2
and ebp, 0x3f
shr ecx, 0x1a
xor ebx, dword [ebp*4 + 0x1009c60c]
mov ebp, dword [eax*4 + 0x1009cd0c]
mov eax, dword [edi + 0x14]
xor ebx, ebp
mov ebp, dword [ecx*4 + 0x1009cc0c]
mov ecx, dword [edi + 0x10]
xor ebx, ebp
xor edx, ebx
xor eax, edx
xor ecx, edx
ror eax, 4
mov ebx, eax
mov ebp, eax
shr ebx, 0x12
and ebx, 0x3f
shr ebp, 0xa
mov ebx, dword [ebx*4 + 0x1009cb0c]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1009c90c]
mov ebp, eax
shr ebp, 2
and ebp, 0x3f
shr eax, 0x1a
xor ebx, dword [ebp*4 + 0x1009c70c]
mov ebp, ecx
shr ebp, 0x12
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1009ca0c]
mov ebp, ecx
shr ebp, 0xa
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x1009c80c]
mov ebp, ecx
shr ebp, 2
and ebp, 0x3f
shr ecx, 0x1a
xor ebx, dword [ebp*4 + 0x1009c60c]
mov ebp, dword [eax*4 + 0x1009cd0c]
mov eax, dword [ecx*4 + 0x1009cc0c]
xor ebx, ebp
xor ebx, eax
mov eax, dword [esp + 0x18]
xor esi, ebx
dec eax
mov dword [esp + 0x18], eax
jne 0x1003cc77
mov eax, dword [esp + 0x14]
pop edi
ror edx, 3
ror esi, 3
mov dword [eax + 4], esi
pop esi
pop ebp
mov dword [eax], edx
pop ebx
ret