Function at 0x41a6e3
Capabilities:
Encode data using xor

Disassembly:
movzx esi, al
inc ecx
mov esi, dword [ebx + esi*4]
movzx edi, ah
shr eax, 0x10
inc ecx
mov edi, dword [ebx + edi*4 + 0x400]
movzx ebp, al
inc ecx
mov ebp, dword [ebx + ebp*4 + 0x800]
movzx eax, ah
inc ebp
mov eax, dword [ebx + eax*4 + 0xc00]
movzx eax, bl
inc ecx
xor edi, dword [ebx + eax*4]
movzx eax, bh
shr ebx, 0x10
inc ecx
xor ebp, dword [ebx + eax*4 + 0x400]
movzx eax, bl
inc ebp
xor eax, dword [ebx + eax*4 + 0x800]
movzx eax, bh
inc ecx
xor esi, dword [ebx + eax*4 + 0xc00]
movzx eax, cl
inc ecx
xor ebp, dword [ebx + eax*4]
movzx ebx, ch
shr ecx, 0x10
inc ebp
xor eax, dword [ebx + ebx*4 + 0x400]
movzx eax, cl
inc ecx
xor esi, dword [ebx + eax*4 + 0x800]
movzx ebx, ch
inc ecx
xor edi, dword [ebx + ebx*4 + 0xc00]
movzx eax, dl
inc ebp
xor eax, dword [ebx + eax*4]
movzx ebx, dh
shr edx, 0x10
inc ecx
xor esi, dword [ebx + ebx*4 + 0x400]
movzx eax, dl
inc ecx
xor edi, dword [ebx + eax*4 + 0x800]
movzx ebx, dh
inc ecx
xor ebp, dword [ebx + ebx*4 + 0xc00]
inc ecx
mov eax, dword [ecx - 0x20]
inc ecx
mov ebx, dword [ecx - 0x1c]
xor eax, esi
inc ecx
mov ecx, dword [ecx - 0x18]
shr ebx, 0x10
inc ecx
xor ebp, dword [ebx + eax*4 + 0x400]
movzx eax, bl
inc ebp
xor eax, dword [ebx + eax*4 + 0x800]
movzx eax, bh
inc ecx
xor esi, dword [ebx + eax*4 + 0xc00]
movzx eax, cl
inc ecx
xor ebp, dword [ebx + eax*4]
movzx ebx, ch
shr ecx, 0x10
inc ebp
xor eax, dword [ebx + ebx*4 + 0x400]
movzx eax, cl
inc ecx
xor esi, dword [ebx + eax*4 + 0x800]
movzx ebx, ch
inc ecx
xor edi, dword [ebx + ebx*4 + 0xc00]
movzx eax, dl
inc ebp
xor eax, dword [ebx + eax*4]
movzx ebx, dh
shr edx, 0x10
inc ecx
xor esi, dword [ebx + ebx*4 + 0x400]
movzx eax, dl
inc ecx
xor edi, dword [ebx + eax*4 + 0x800]
movzx ebx, dh
inc ecx
xor ebp, dword [ebx + ebx*4 + 0xc00]
inc ecx
mov eax, dword [ecx - 0x10]
inc ecx
mov ebx, dword [ecx - 0xc]
xor eax, esi
inc ecx
mov ecx, dword [ecx - 8]
xor ebx, edi
inc ecx
mov edx, dword [ecx - 4]
xor ecx, ebp
inc ecx
xor edx, eax
dec ebp
cmp ecx, edx
dec ebp
lea ecx, [ecx + 0x20]
jb 0x41a5e9
movzx esi, al
inc ecx
movzx esi, byte [esp + esi]
movzx edi, ah
shr eax, 0x10
inc ecx
movzx edi, byte [esp + edi]
movzx ebp, al
shl edi, 8
inc ecx
movzx ebp, byte [esp + ebp]
shl ebp, 0x10
movzx eax, ah
inc ebp
movzx eax, byte [esp + eax]
inc ecx
shl eax, 0x18
movzx eax, bl
inc ecx
movzx eax, byte [esp + eax]
or edi, eax
movzx eax, bh
shr ebx, 0x10
inc ecx
movzx eax, byte [esp + eax]
shl eax, 8
or ebp, eax
movzx eax, bl
inc ecx
movzx eax, byte [esp + eax]
movzx ebx, bh
shl eax, 0x10
inc ecx
movzx ebx, byte [esp + ebx]
inc esp
or eax, eax
shl ebx, 0x18
or esi, ebx
movzx eax, cl
movzx ebx, ch
inc ecx
movzx eax, byte [esp + eax]
shr ecx, 0x10
inc ecx
movzx ebx, byte [esp + ebx]
shl ebx, 8
or ebp, eax
inc esp
or eax, ebx
movzx eax, cl
inc ecx
movzx eax, byte [esp + eax]
movzx ebx, ch
inc ecx
movzx ebx, byte [esp + ebx]
shl eax, 0x10
shl ebx, 0x18
or esi, eax
or edi, ebx
movzx eax, dl
movzx ebx, dh
inc ecx
movzx eax, byte [esp + eax]
shr edx, 0x10
inc ecx
movzx ebx, byte [esp + ebx]
shl ebx, 8
inc esp
or eax, eax
or esi, ebx
movzx eax, dl
inc ecx
movzx eax, byte [esp + eax]
movzx ebx, dh
inc ecx
movzx ebx, byte [esp + ebx]
shl eax, 0x10
shl ebx, 0x18
or edi, eax
or ebp, ebx
inc ecx
xor esi, dword [edx]
inc ecx
xor edi, dword [edx + 4]
inc ecx
xor ebp, dword [edx + 8]
inc ebp
xor eax, dword [edx + 0xc]
ret