Function at 0x41ced0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x198
mov esi, esp
push eax
sub esp, 8
mov dword [esi + 0x24], esp
mov dword [esi + 8], 0x11841f4d
mov dword [esi + 0xc], 0x15831385
mov dword [esi + 0x10], 0x916178a
mov word [esi + 0x14], 0
mov byte [esi + 0x16], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 8]
lea edx, [eax - 0x312dd7fb]
and edx, ecx
mov ebx, edx
and ebx, 0x1d
mov edi, edx
or edi, 0xfd
inc edi
imul edi, ebx
mov ebx, edx
and ebx, 2
or edx, 2
imul edx, ebx
sub edi, edx
add ecx, eax
add ecx, 0xced22805
add ecx, edi
add cl, 0xe7
mov byte [esi + eax + 8], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0xf
jb 0x41cf10
mov dword [esi + 0x30], 0x83368128
mov dword [esi + 0x34], 0x87368530
mov dword [esi + 0x38], 0x8b658972
mov dword [esi + 0x3c], 0x8f228d63
mov dword [esi + 0x40], 0x9331913f
mov dword [esi + 0x44], 0x973a9535
mov dword [esi + 0x48], 0x9b359930
mov dword [esi + 0x4c], 0x9f2a9d2f
mov dword [esi + 0x50], 0x6362619a
mov dword [esi + 0x54], 0
mov eax, 0x47412fe0
mov ecx, 0xb8bed01f
nop
nop
nop
nop
movzx edx, byte [esi + eax - 0x47412fb0]
lea edi, [edx + edx]
not edi
add edi, edx
mov ebx, edx
and ebx, 0x5b
and edi, 0x40402da4
or edi, ebx
xor edi, 0x40402da4
and edi, eax
not edx
and edx, ecx
or edx, edi
mov edi, 0x471558ef
sub edi, edx
mov edx, edi
and edx, 1
xor edi, 1
lea edx, [edi + edx*2]
add dl, 0xaf
mov byte [esi + eax - 0x47412fb0], dl
inc eax
dec ecx
cmp eax, 0x47413008
jne 0x41cfb0
movzx ecx, word [esi + 0x30]
test cx, cx
mov edi, dword [ebp + 0x10]
lea eax, [esi + 0x154]
je 0x41d031
lea edx, [esi + 0x32]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41d020
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
je 0x41d061
lea edx, [edi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41d050
mov word [eax], 0
movzx ecx, word [esi + 8]
test cx, cx
je 0x41d091
lea edx, [esi + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41d080
mov word [eax], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esi], eax
mov dword [esi + 0x30], 0xf5f0f01a
mov byte [esi + 0x34], 8
mov dword [esi + 0x35], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x30]
mov edi, eax
xor edi, 0x6428f8bc
mov edx, eax
or edx, 3
and edx, edi
mov edi, eax
and edi, 2
mov ebx, edx
or edx, 2
imul edx, edi
xor edi, 2
and ebx, 0xd
imul ebx, edi
mov edi, eax
xor edi, 0x9bd70743
add edi, ebx
add edi, edx
mov ebx, edi
xor ebx, 0xa8
mov edx, ecx
xor edx, 0x57
and edx, ebx
xor edi, 0x57
xor ecx, 0xa8
and ecx, edi
or ecx, edx
add cl, 0xb1
mov byte [esi + eax + 0x30], cl
inc eax
cmp eax, 9
jne 0x41d0c0
movzx eax, byte [esi + 0x30]
test al, al
je 0x41d13d
lea ecx, [esi + 0x31]
mov edi, dword [esi]
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41d130
jmp 0x41d13f
mov edi, dword [esi]
mov byte [edi], 0
lea eax, [esi + 0x13c]
lea ecx, [esi + 0x2c]
lea edx, [esi + 0x154]
push eax
push ecx
push edx
call fcn.0040b530
add esp, 0xc
movzx eax, al
mov eax, dword [eax*4 + 0x446d84]
mov ecx, 0x9d5fbaa8
xor ecx, dword [str.8Lb]
add eax, ecx
inc eax
mov ebx, dword [ebp + 0x10]
jmp eax