Function at 0x4a662e
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
push ebx
dec edx
dec edx
push esi
push edi
je 0x4a6860
dec edx
je 0x4a6773
dec edx
jne 0x4a690f
xor edx, edx
lea esi, [ecx + 8]
movzx ebx, byte [eax + 0xc]
movzx ecx, dl
movzx edi, byte [ecx + 0x3a0a0]
xor edi, ebx
movzx edi, byte [edi + 0x3a0a0]
movzx ebx, byte [eax + 8]
xor edi, ebx
movzx edi, byte [edi + 0x39fa0]
movzx ebx, byte [eax + 4]
xor edi, ebx
movzx edi, byte [edi + 0x39fa0]
movzx ebx, byte [eax]
xor edi, ebx
mov edi, dword [edi*4 + 0x38fa0]
mov dword [esi - 8], edi
mov ebx, dword [eax + 0xc]
shr ebx, 8
movzx edi, bl
movzx ebx, byte [ecx + 0x39fa0]
xor edi, ebx
movzx edi, byte [edi + 0x3a0a0]
mov ebx, dword [eax + 8]
shr ebx, 8
movzx ebx, bl
xor edi, ebx
movzx edi, byte [edi + 0x3a0a0]
mov ebx, dword [eax + 4]
shr ebx, 8
movzx ebx, bl
xor edi, ebx
movzx edi, byte [edi + 0x39fa0]
mov ebx, dword [eax]
shr ebx, 8
movzx ebx, bl
xor edi, ebx
mov edi, dword [edi*4 + 0x393a0]
mov dword [esi - 4], edi
movzx ebx, byte [ecx + 0x39fa0]
movzx edi, byte [eax + 0xe]
xor edi, ebx
movzx edi, byte [edi + 0x39fa0]
movzx ebx, byte [eax + 0xa]
xor edi, ebx
movzx edi, byte [edi + 0x39fa0]
movzx ebx, byte [eax + 6]
xor edi, ebx
movzx edi, byte [edi + 0x3a0a0]
movzx ebx, byte [eax + 2]
xor edi, ebx
mov edi, dword [edi*4 + 0x397a0]
mov dword [esi], edi
movzx ecx, byte [ecx + 0x3a0a0]
movzx edi, byte [eax + 0xf]
xor edi, ecx
movzx ecx, byte [edi + 0x39fa0]
movzx edi, byte [eax + 0xb]
xor ecx, edi
movzx ecx, byte [ecx + 0x3a0a0]
movzx edi, byte [eax + 7]
xor ecx, edi
movzx ecx, byte [ecx + 0x3a0a0]
movzx edi, byte [eax + 3]
xor ecx, edi
mov ecx, dword [ecx*4 + 0x39ba0]
mov dword [esi + 4], ecx
inc edx
add esi, 0x10
cmp edx, 0x100
jb 0x4a6652
jmp 0x4a690f
xor edx, edx
lea esi, [ecx + 8]
movzx ebx, byte [eax + 8]
movzx ecx, dl
movzx edi, byte [ecx + 0x3a0a0]
xor edi, ebx
movzx edi, byte [edi + 0x39fa0]
movzx ebx, byte [eax + 4]
xor edi, ebx
movzx edi, byte [edi + 0x39fa0]
movzx ebx, byte [eax]
xor edi, ebx
mov edi, dword [edi*4 + 0x38fa0]
mov dword [esi - 8], edi
mov ebx, dword [eax + 8]
shr ebx, 8
movzx edi, bl
movzx ebx, byte [ecx + 0x3a0a0]
xor edi, ebx
movzx edi, byte [edi + 0x3a0a0]
mov ebx, dword [eax + 4]
shr ebx, 8
movzx ebx, bl
xor edi, ebx
movzx edi, byte [edi + 0x39fa0]
mov ebx, dword [eax]
shr ebx, 8
movzx ebx, bl
xor edi, ebx
mov edi, dword [edi*4 + 0x393a0]
mov dword [esi - 4], edi
movzx ebx, byte [ecx + 0x39fa0]
movzx edi, byte [eax + 0xa]
xor edi, ebx
movzx edi, byte [edi + 0x39fa0]
movzx ebx, byte [eax + 6]
xor edi, ebx
movzx edi, byte [edi + 0x3a0a0]
movzx ebx, byte [eax + 2]
xor edi, ebx
mov edi, dword [edi*4 + 0x397a0]
mov dword [esi], edi
movzx ecx, byte [ecx + 0x39fa0]
movzx edi, byte [eax + 0xb]
xor edi, ecx
movzx ecx, byte [edi + 0x3a0a0]
movzx edi, byte [eax + 7]
xor ecx, edi
movzx ecx, byte [ecx + 0x3a0a0]
movzx edi, byte [eax + 3]
xor ecx, edi
mov ecx, dword [ecx*4 + 0x39ba0]
mov dword [esi + 4], ecx
inc edx
add esi, 0x10
cmp edx, 0x100
jb 0x4a6778
jmp 0x4a690f
xor edx, edx
lea esi, [ecx + 8]
movzx ebx, byte [eax + 4]
movzx ecx, dl
movzx edi, byte [ecx + 0x39fa0]
xor edi, ebx
movzx edi, byte [edi + 0x39fa0]
movzx ebx, byte [eax]
xor edi, ebx
mov edi, dword [edi*4 + 0x38fa0]
mov dword [esi - 8], edi
mov ebx, dword [eax + 4]
shr ebx, 8
movzx edi, bl
movzx ebx, byte [ecx + 0x3a0a0]
xor edi, ebx
movzx edi, byte [edi + 0x39fa0]
mov ebx, dword [eax]
shr ebx, 8
movzx ebx, bl
xor edi, ebx
mov edi, dword [edi*4 + 0x393a0]
mov dword [esi - 4], edi
movzx ebx, byte [ecx + 0x39fa0]
movzx edi, byte [eax + 6]
xor edi, ebx
movzx edi, byte [edi + 0x3a0a0]
movzx ebx, byte [eax + 2]
xor edi, ebx
mov edi, dword [edi*4 + 0x397a0]
mov dword [esi], edi
movzx ecx, byte [ecx + 0x3a0a0]
movzx edi, byte [eax + 7]
xor edi, ecx
movzx ecx, byte [edi + 0x3a0a0]
movzx edi, byte [eax + 3]
xor ecx, edi
mov ecx, dword [ecx*4 + 0x39ba0]
mov dword [esi + 4], ecx
inc edx
add esi, 0x10
cmp edx, 0x100
jb 0x4a6865
pop edi
pop esi
pop ebx
ret