Function at 0x49ef40
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 4]
push ebx
push ebp
push esi
mov esi, dword [eax + 4]
push edi
mov edi, dword [eax]
rol esi, 1
rol edi, 1
cmp dword [esp + 0x18], 0
je 0x49f08e
lea ebx, [ecx + 8]
mov dword [esp + 0x18], 8
mov edx, dword [ebx - 4]
xor edx, edi
mov eax, edx
shr edx, 4
mov ecx, dword [ebx - 8]
shl eax, 0x1c
add eax, edx
mov edx, eax
shr edx, 0x18
and edx, 0x3f
mov edx, dword [edx*4 + 0x627840]
mov ebp, eax
shr ebp, 0x10
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627640]
mov ebp, eax
shr ebp, 8
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627440]
xor ecx, edi
mov ebp, ecx
shr ebp, 0x18
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627740]
mov ebp, ecx
shr ebp, 0x10
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627540]
mov ebp, ecx
shr ebp, 8
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627340]
and eax, 0x3f
or edx, dword [eax*4 + 0x627240]
and ecx, 0x3f
or edx, dword [ecx*4 + 0x627140]
mov ecx, dword [ebx]
xor esi, edx
mov edx, dword [ebx + 4]
xor edx, esi
mov eax, edx
shr edx, 4
shl eax, 0x1c
add eax, edx
mov edx, eax
shr edx, 0x18
and edx, 0x3f
mov edx, dword [edx*4 + 0x627840]
mov ebp, eax
shr ebp, 0x10
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627640]
mov ebp, eax
shr ebp, 8
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627440]
xor ecx, esi
mov ebp, ecx
shr ebp, 0x18
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627740]
mov ebp, ecx
shr ebp, 0x10
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627540]
mov ebp, ecx
shr ebp, 8
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627340]
and eax, 0x3f
or edx, dword [eax*4 + 0x627240]
and ecx, 0x3f
or edx, dword [ecx*4 + 0x627140]
add ebx, 0x10
xor edi, edx
sub dword [esp + 0x18], 1
jne 0x49ef67
mov eax, dword [esp + 0x14]
ror esi, 1
ror edi, 1
mov dword [eax + 4], edi
pop edi
mov dword [eax], esi
pop esi
pop ebp
pop ebx
ret
lea ebx, [ecx + 0x70]
mov dword [esp + 0x18], 8
lea esp, [esp]
mov edx, dword [ebx + 0xc]
xor edx, edi
mov eax, edx
shr edx, 4
mov ecx, dword [ebx + 8]
shl eax, 0x1c
add eax, edx
mov edx, eax
shr edx, 0x18
and edx, 0x3f
mov edx, dword [edx*4 + 0x627840]
mov ebp, eax
shr ebp, 0x10
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627640]
mov ebp, eax
shr ebp, 8
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627440]
xor ecx, edi
mov ebp, ecx
shr ebp, 0x18
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627740]
mov ebp, ecx
shr ebp, 0x10
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627540]
mov ebp, ecx
shr ebp, 8
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627340]
and eax, 0x3f
or edx, dword [eax*4 + 0x627240]
and ecx, 0x3f
or edx, dword [ecx*4 + 0x627140]
mov ecx, dword [ebx]
xor esi, edx
mov edx, dword [ebx + 4]
xor edx, esi
mov eax, edx
shr edx, 4
shl eax, 0x1c
add eax, edx
mov edx, eax
shr edx, 0x18
and edx, 0x3f
mov edx, dword [edx*4 + 0x627840]
mov ebp, eax
shr ebp, 0x10
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627640]
mov ebp, eax
shr ebp, 8
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627440]
xor ecx, esi
mov ebp, ecx
shr ebp, 0x18
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627740]
mov ebp, ecx
shr ebp, 0x10
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627540]
mov ebp, ecx
shr ebp, 8
and ebp, 0x3f
or edx, dword [ebp*4 + 0x627340]
and eax, 0x3f
or edx, dword [eax*4 + 0x627240]
and ecx, 0x3f
or edx, dword [ecx*4 + 0x627140]
sub ebx, 0x10
xor edi, edx
sub dword [esp + 0x18], 1
jne 0x49f0a0
mov eax, dword [esp + 0x14]
ror esi, 1
ror edi, 1
mov dword [eax + 4], edi
pop edi
mov dword [eax], esi
pop esi
pop ebp
pop ebx
ret