Function at 0x4147c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax + 8]
push ebx
push esi
mov esi, dword [eax + 0x14]
mov dword [ebp - 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x10], esi
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], ecx
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 4], esi
xor ebx, ebx
lea esi, [eax + 8]
push edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], esi
jmp 0x414810
mov eax, dword [ebp + 0xc]
jmp 0x414810
mov eax, dword [eax]
mov esi, dword [ebp - 0x1c]
mov dword [esi - 8], eax
mov dword [ebp - 0x28], eax
mov eax, ecx
shl eax, 0x15
mov esi, ecx
shr esi, 0xb
or eax, esi
mov esi, ecx
shl esi, 0x1a
mov edi, ecx
shr edi, 6
or esi, edi
xor eax, esi
mov esi, ecx
shr esi, 0x19
mov edi, ecx
shl edi, 7
or esi, edi
mov edi, dword [ebp - 0x10]
xor eax, esi
mov esi, dword [ebp - 4]
xor esi, edi
mov edi, dword [ebp - 4]
and esi, ecx
xor esi, edi
mov edi, dword [ebx*4 + 0x4317f0]
mov ebx, dword [ebp - 0x18]
add eax, esi
mov esi, dword [ebp - 0x28]
add eax, edi
add eax, esi
add eax, ebx
mov esi, edx
shl esi, 0x13
mov edi, edx
shr edi, 0xd
or esi, edi
mov edi, edx
shr edi, 0x16
mov ebx, edx
shl ebx, 0xa
or edi, ebx
xor esi, edi
mov edi, edx
shl edi, 0x1e
mov ebx, edx
shr ebx, 2
or edi, ebx
xor esi, edi
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 8]
mov edi, esi
mov ebx, esi
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0xc]
or ebx, edi
and esi, edi
and ebx, edx
or ebx, esi
mov esi, ebx
mov ebx, dword [ebp - 0x18]
add ebx, esi
mov esi, dword [ebp - 4]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], esi
lea esi, [eax + ecx]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], ecx
mov ecx, dword [edx + 4]
lea edi, [ebx + eax]
mov eax, dword [ebp - 0x1c]
mov dword [eax - 4], ecx
mov eax, esi
shl eax, 0x15
mov edx, esi
shr edx, 0xb
or eax, edx
mov edx, esi
shl edx, 0x1a
mov ebx, esi
shr ebx, 6
or edx, ebx
xor eax, edx
mov edx, esi
shr edx, 0x19
mov ebx, esi
shl ebx, 7
or edx, ebx
xor eax, edx
mov edx, dword [ebp - 4]
mov ebx, edx
xor ebx, dword [ebp - 0x10]
and ebx, esi
xor ebx, edx
add eax, ebx
mov ebx, dword [ebp - 0x20]
add eax, dword [ebx*4 + 0x4317f4]
add eax, ecx
add eax, dword [ebp - 0x18]
mov ecx, edi
shl ecx, 0x13
mov edx, edi
shr edx, 0xd
or ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, edi
shr ecx, 0x16
mov edx, edi
shl edx, 0xa
or ecx, edx
xor dword [ebp - 0x18], ecx
mov ecx, edi
shl ecx, 0x1e
mov edx, edi
shr edx, 2
or ecx, edx
mov edx, dword [ebp - 0x18]
xor edx, ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], edx
or ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
and edx, dword [ebp - 0xc]
and ecx, edi
or ecx, edx
mov edx, dword [ebp - 0x18]
add edx, ecx
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 8]
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0xc]
add edx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 8], esi
mov esi, dword [ebp - 0x1c]
mov dword [esi], eax
mov dword [ebp - 0x28], eax
mov eax, ecx
mov dword [ebp - 0xc], edi
shl eax, 0x15
mov esi, ecx
shr esi, 0xb
or eax, esi
mov esi, ecx
shl esi, 0x1a
mov edi, ecx
shr edi, 6
or esi, edi
xor eax, esi
mov esi, ecx
shr esi, 0x19
mov edi, ecx
shl edi, 7
or esi, edi
mov edi, dword [ebp - 0x10]
xor eax, esi
mov esi, dword [ebp - 4]
xor esi, edi
mov edi, dword [ebp - 4]
and esi, ecx
xor esi, edi
mov edi, dword [ebp - 0x28]
add eax, esi
add eax, dword [ebx*4 + 0x4317f8]
mov esi, dword [ebp - 0x18]
add eax, edi
add eax, esi
mov esi, edx
shl esi, 0x13
mov edi, edx
shr edi, 0xd
or esi, edi
mov dword [ebp - 0x18], esi
mov esi, edx
shr esi, 0x16
mov edi, edx
shl edi, 0xa
or esi, edi
xor dword [ebp - 0x18], esi
mov esi, edx
shl esi, 0x1e
mov edi, edx
shr edi, 2
or esi, edi
mov edi, dword [ebp - 0x18]
xor edi, esi
mov esi, dword [ebp - 8]
mov dword [ebp - 0x18], edi
or esi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
and edi, dword [ebp - 0xc]
and esi, edx
or esi, edi
mov edi, dword [ebp - 0x18]
add edi, esi
mov esi, dword [ebp - 4]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], esi
lea esi, [eax + ecx]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
mov edx, dword [ebp + 0xc]
add edi, eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov dword [ecx + 4], eax
mov eax, esi
mov edx, esi
shl eax, 0x15
shr edx, 0xb
or eax, edx
mov ecx, esi
shl ecx, 0x1a
mov edx, esi
shr edx, 6
or ecx, edx
xor eax, ecx
mov ecx, esi
shr ecx, 0x19
mov edx, esi
shl edx, 7
or ecx, edx
mov edx, dword [ebp - 0x10]
xor eax, ecx
mov ecx, dword [ebp - 4]
xor ecx, edx
mov edx, dword [ebp - 4]
and ecx, esi
xor ecx, edx
mov edx, dword [ebp - 0x28]
add eax, ecx
add eax, dword [ebx*4 + 0x4317fc]
mov ecx, dword [ebp - 0x18]
add eax, edx
add eax, ecx
mov ecx, edi
shl ecx, 0x13
mov edx, edi
shr edx, 0xd
or ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, edi
shr ecx, 0x16
mov edx, edi
shl edx, 0xa
or ecx, edx
xor dword [ebp - 0x18], ecx
mov ecx, edi
shl ecx, 0x1e
mov edx, edi
shr edx, 2
or ecx, edx
mov edx, dword [ebp - 0x18]
xor edx, ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], edx
or ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
and edx, dword [ebp - 0xc]
and ecx, edi
or ecx, edx
mov edx, dword [ebp - 0x18]
add edx, ecx
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x14]
add ecx, eax
add edx, eax
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
add ebx, 4
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0xc]
add eax, 0x10
cmp ebx, 0x10
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x20], ebx
mov dword [ebp + 0xc], eax
jl 0x414808
cmp ebx, 0x40
jge 0x414c8b
lea eax, [ebx - 2]
mov dword [ebp + 0xc], eax
mov esi, dword [ebp - 0x24]
lea edi, [eax + 3]
and eax, 0xf
mov eax, dword [esi + eax*4]
and ebx, 0xf
and edi, 0xf
mov edi, dword [esi + edi*4]
lea esi, [esi + ebx*4]
mov dword [ebp - 0x28], esi
mov esi, eax
mov dword [ebp - 0x1c], edi
mov edi, eax
mov ebx, eax
shr esi, 0x11
shl edi, 0xf
or esi, edi
mov edi, eax
shl ebx, 0xd
shr eax, 0xa
shr edi, 0x13
or edi, ebx
xor esi, edi
xor esi, eax
mov eax, dword [ebp - 0x1c]
mov edi, eax
mov ebx, eax
shl ebx, 0xe
shr edi, 0x12
or edi, ebx
mov ebx, eax
shr eax, 7
shl ebx, 0x19
or ebx, eax
mov eax, dword [ebp - 0x1c]
xor edi, ebx
shr eax, 3
xor edi, eax
mov eax, dword [ebp + 0xc]
add esi, edi
mov edi, dword [ebp - 0x24]
add eax, 0xfffffffb
and eax, 0xf
mov ebx, dword [edi + eax*4]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
add esi, ebx
add edi, esi
mov dword [eax], edi
mov eax, ecx
shl eax, 0x15
mov esi, ecx
shr esi, 0xb
or eax, esi
mov esi, ecx
shl esi, 0x1a
mov ebx, ecx
shr ebx, 6
or esi, ebx
xor eax, esi
mov esi, ecx
shr esi, 0x19
mov ebx, ecx
shl ebx, 7
or esi, ebx
xor eax, esi
mov esi, dword [ebp - 4]
mov ebx, esi
xor ebx, dword [ebp - 0x10]
and ebx, ecx
xor ebx, esi
add eax, ebx
mov ebx, dword [ebp - 0x20]
add eax, dword [ebx*4 + 0x4317f0]
add eax, edi
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, edx
shl eax, 0x13
mov esi, edx
shr esi, 0xd
or eax, esi
mov esi, edx
shr esi, 0x16
mov edi, edx
shl edi, 0xa
or esi, edi
xor eax, esi
mov esi, edx
shl esi, 0x1e
mov edi, edx
shr edi, 2
or esi, edi
xor eax, esi
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
mov edi, eax
or edi, esi
and edi, edx
and eax, esi
or edi, eax
mov eax, dword [ebp - 0x28]
add eax, edi
mov edi, dword [ebp - 4]
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x10]
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x14]
add ecx, edi
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], edi
mov edi, edx
mov edx, dword [ebp - 0x20]
add edx, eax
mov eax, dword [ebp + 0xc]
inc ebx
inc eax
cmp ebx, 0x40
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x20], ebx
mov dword [ebp + 0xc], eax
jl 0x414b49
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
add ebx, edx
mov edx, dword [ebp - 0x14]
mov dword [eax], ebx
mov ebx, dword [eax + 4]
add ebx, edi
mov edi, dword [eax + 8]
add edi, esi
mov esi, dword [eax + 0xc]
add esi, edx
mov edx, dword [ebp - 4]
mov dword [eax + 4], ebx
mov ebx, dword [eax + 0x10]
add ebx, ecx
mov ecx, dword [ebp - 0x10]
mov dword [eax + 8], edi
mov edi, dword [eax + 0x14]
mov dword [eax + 0xc], esi
mov esi, dword [eax + 0x18]
add edi, ecx
mov ecx, dword [ebp - 0x18]
add esi, edx
mov edx, dword [eax + 0x1c]
mov dword [eax + 0x14], edi
pop edi
mov dword [eax + 0x18], esi
add edx, ecx
pop esi
mov dword [eax + 0x10], ebx
mov dword [eax + 0x1c], edx
pop ebx
mov esp, ebp
pop ebp
ret