Function at 0x6308402e
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push edx
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ebx, dword [ebx + 4]
mov eax, dword [eax]
ror eax, 0x1d
mov edx, ebx
ror edx, 0x1d
cmp dword [ebp + 0x10], 0
mov dword [ebp - 0x10], edx
je 0x6308418e
xor ebx, ebx
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi + ebx*4 + 4]
mov esi, dword [edi + ebx*4]
xor ecx, eax
xor esi, eax
ror ecx, 4
mov edx, ecx
mov edi, ecx
shr edx, 8
shr edi, 0x10
and edi, 0xfc
and edx, 0xfc
mov edx, dword [edx + 0x630c67c0]
xor edx, dword [edi + 0x630c69c0]
mov edi, ecx
and edi, 0xfc
shr ecx, 0x18
xor edx, dword [edi + 0x630c65c0]
and ecx, 0xfc
mov edi, dword [ebp + 0xc]
xor edx, dword [ecx + 0x630c6bc0]
mov ecx, esi
and ecx, 0xfc
xor edx, dword [ecx + 0x630c64c0]
mov ecx, esi
shr ecx, 8
and ecx, 0xfc
xor edx, dword [ecx + 0x630c66c0]
mov ecx, esi
shr esi, 0x18
shr ecx, 0x10
and esi, 0xfc
and ecx, 0xfc
xor edx, dword [ecx + 0x630c68c0]
xor edx, dword [esi + str.A_OK]
xor dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x10]
xor ecx, dword [edi + ebx*4 + 0xc]
ror ecx, 4
mov edx, ecx
mov esi, dword [ebp - 0x10]
shr edx, 8
xor esi, dword [edi + ebx*4 + 8]
mov edi, ecx
and edx, 0xfc
and edi, 0xfc
mov edx, dword [edx + 0x630c67c0]
xor edx, dword [edi + 0x630c65c0]
xor eax, edx
mov edx, ecx
shr ecx, 0x18
shr edx, 0x10
and ecx, 0xfc
add ebx, 4
and edx, 0xfc
xor eax, dword [edx + 0x630c69c0]
mov edx, esi
and edx, 0xfc
xor eax, dword [ecx + 0x630c6bc0]
xor eax, dword [edx + 0x630c64c0]
mov edx, esi
shr edx, 8
and edx, 0xfc
xor eax, dword [edx + 0x630c66c0]
mov edx, esi
shr esi, 0x18
shr edx, 0x10
and esi, 0xfc
and edx, 0xfc
xor eax, dword [edx + 0x630c68c0]
xor eax, dword [esi + str.A_OK]
cmp ebx, 0x20
jne 0x63084057
jmp 0x630842c5
mov ebx, 0x1e
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi + ebx*4 + 4]
mov esi, dword [edi + ebx*4]
xor ecx, eax
xor esi, eax
ror ecx, 4
mov edx, ecx
mov edi, ecx
shr edx, 8
shr edi, 0x10
and edi, 0xfc
and edx, 0xfc
mov edx, dword [edx + 0x630c67c0]
xor edx, dword [edi + 0x630c69c0]
mov edi, ecx
and edi, 0xfc
shr ecx, 0x18
xor edx, dword [edi + 0x630c65c0]
and ecx, 0xfc
mov edi, dword [ebp + 0xc]
xor edx, dword [ecx + 0x630c6bc0]
mov ecx, esi
and ecx, 0xfc
xor edx, dword [ecx + 0x630c64c0]
mov ecx, esi
shr ecx, 8
and ecx, 0xfc
xor edx, dword [ecx + 0x630c66c0]
mov ecx, esi
shr esi, 0x18
shr ecx, 0x10
and esi, 0xfc
and ecx, 0xfc
xor edx, dword [ecx + 0x630c68c0]
xor edx, dword [esi + str.A_OK]
xor dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x10]
xor ecx, dword [edi + ebx*4 - 4]
ror ecx, 4
mov edx, ecx
mov esi, dword [ebp - 0x10]
shr edx, 8
xor esi, dword [edi + ebx*4 - 8]
mov edi, ecx
and edx, 0xfc
and edi, 0xfc
mov edx, dword [edx + 0x630c67c0]
xor edx, dword [edi + 0x630c65c0]
xor eax, edx
mov edx, ecx
shr ecx, 0x18
shr edx, 0x10
and ecx, 0xfc
sub ebx, 4
and edx, 0xfc
xor eax, dword [edx + 0x630c69c0]
mov edx, esi
and edx, 0xfc
xor eax, dword [ecx + 0x630c6bc0]
xor eax, dword [edx + 0x630c64c0]
mov edx, esi
shr edx, 8
and edx, 0xfc
xor eax, dword [edx + 0x630c66c0]
mov edx, esi
shr esi, 0x18
shr edx, 0x10
and esi, 0xfc
and edx, 0xfc
xor eax, dword [edx + 0x630c68c0]
xor eax, dword [esi + str.A_OK]
cmp ebx, 0xfffffffe
jne 0x63084193
mov ebx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
ror eax, 3
ror edx, 3
mov dword [ebx + 4], eax
mov dword [ebx], edx
pop eax
pop ebx
pop esi
pop edi
pop ebp
ret