Function at 0xc41c6e
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
push ebx
push esi
push edi
push 6
pop ecx
mov esi, 0xc6f2bc
lea edi, [ebp - 0x24]
xor edx, edx
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x24], 0x6f
mov eax, edx
jne 0xc41ca7
mov cl, 0x6f
test cl, cl
je 0xc41ca7
cmp byte [ebp + eax - 0x24], dl
je 0xc41ca7
mov cl, byte [eax + 0xc6fb31]
inc eax
cmp cl, byte [ebp + eax - 0x24]
je 0xc41c90
movzx ecx, byte [eax + 0xc6fb30]
movzx eax, byte [ebp + eax - 0x24]
sub ecx, eax
cmp ecx, 0x10fe
mov ecx, dword [0xc770a0]
jae 0xc41cd2
mov ebx, dword [0xc7709c]
mov eax, ecx
or eax, 0xe755a608
jmp 0xc41cdd
mov eax, dword [0xc77078]
lea ebx, [eax + 0x6bea686a]
xor ecx, 0xa3aff5a5
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
mov esi, edx
add ebx, 0x227f8775
inc esi
cmp word [esi*2 + 0xc6f920], dx
jne 0xc41ceb
mov edi, dword [ebp - 0xc]
cmp edi, esi
jae 0xc41d1e
lea ebx, [ecx + 0x325678f5]
cmp edi, 0x1d4d
jne 0xc41d16
xor eax, 0x6bcd6e42
inc edi
cmp edi, esi
jb 0xc41d09
mov dword [ebp - 4], eax
push 0x12
pop ecx
push 0x53
mov esi, 0xc6f3d0
mov dword [ebp - 8], edx
lea edi, [ebp - 0x6c]
pop eax
rep movsd dword es:[edi], dword [esi]
cmp ax, word [ebp - 0x6c]
jne 0xc41d5e
mov esi, eax
mov ecx, edx
mov eax, edx
test si, si
je 0xc41d5b
cmp word [ebp + ecx - 0x6c], dx
je 0xc41d5b
inc eax
lea ecx, [eax + eax]
movzx esi, word [ecx + 0xc6f920]
cmp si, word [ebp + ecx - 0x6c]
je 0xc41d3d
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
movzx ecx, byte [eax*2 + 0xc6f920]
movzx eax, byte [ebp + eax*2 - 0x6c]
sub ecx, eax
mov eax, dword [ebp - 4]
cmp ecx, 0x251a
jbe 0xc41d85
mov ecx, dword [ebp - 0xc]
or eax, 0x55c6a358
jmp 0xc41d8b
lea ecx, [eax + 0x5abbac98]
xor ecx, 0xbaa7f97a
mov esi, edx
add eax, 0x4204200b
inc esi
cmp word [esi*2 + 0xc6f920], dx
jne 0xc41d93
cmp esi, 0x11ef
jbe 0xc41db3
and ecx, 0x46333c68
jmp 0xc41dbb
mov ebx, ecx
or ebx, 0x15713d49
mov esi, 0xc6f420
lea edi, [ebp - 0x20]
push 0x53
and eax, 0xf1af99d9
mov dword [ebp - 4], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop esi
cmp si, word [ebp - 0x20]
jne 0xc41e2c
mov edi, edx
mov eax, edx
test si, si
je 0xc41dfc
cmp word [ebp + edi - 0x20], dx
je 0xc41dfc
inc eax
lea edi, [eax + eax]
movzx esi, word [edi + 0xc6f920]
cmp si, word [ebp + edi - 0x20]
je 0xc41dde
mov esi, dword [ebp - 0xc]
cmp esi, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
jae 0xc41e2c
mov edi, dword [ebp - 8]
or eax, 0x1d7b258b
mov dword [ebp - 0xc], eax
cmp esi, 0xeb7
jne 0xc41e22
imul ecx, ebx, 0xd001a996
inc esi
mov ebx, eax
cmp esi, edi
jb 0xc41e14
mov eax, dword [ebp - 4]
mov esi, edx
or ebx, 0xfcf418ba
inc esi
cmp byte [esi + 0xc6fa90], dl
jne 0xc41e2e
mov dword [ebp - 0xc], ebx
mov edi, dword [ebp - 0xc]
cmp edi, esi
jae 0xc41e6a
mov edx, dword [ebp - 0xc]
mov ebx, ecx
xor ebx, 0x30489c49
cmp edi, 0xcdf
jne 0xc41e61
mov eax, edx
and eax, 0x79136deb
inc edi
mov edx, ebx
cmp edi, esi
jb 0xc41e52
xor edx, edx
xor ecx, 0x4898a0da
inc edx
cmp byte [edx + 0xc6fb30], 0
jne 0xc41e6a
cmp dword [ebp - 0xc], edx
jae 0xc41e8c
sub edx, dword [ebp - 0xc]
xor eax, 0xc126d9ed
sub edx, 1
jne 0xc41e82
lea eax, [ebx + 0x40ecc743]
imul eax, eax, 0x5be5730b
pop edi
pop esi
pop ebx
imul eax, eax, 0x7de1fa7b
mov dword [0xc770a0], eax
add eax, 0x34199df7
mov dword [0xc7709c], eax
add eax, 0xd71c1546
mov dword [0xc77078], eax
leave
ret