Function at 0x1cd7e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa00
mov esi, esp
push 0x1000
call fcn.001ac630
add esp, 4
mov dword [esi + 0x6c], eax
mov dword [esi + 0x7f0], 0xc3f2e40a
mov dword [esi + 0x7f4], 0x2556614d
mov word [esi + 0x7f8], 0xe908
mov dword [esi + 0x7fa], 0
mov dword [esi + 0x5d8], 0
mov eax, dword [esi + 0x5d8]
cmp eax, 0xd
ja 0x1cd8aa
nop
nop
nop
mov eax, dword [esi + 0x5d8]
mov ecx, dword [esi + 0x5d8]
movzx ecx, byte [esi + ecx + 0x7f0]
mov edx, eax
xor edx, 0xfcb320fc
and eax, 0xfcb320fc
lea edx, [edx + eax*2]
lea eax, [edx + ecx]
mov edi, ecx
not edi
or edi, edx
add ecx, edi
inc ecx
sub eax, ecx
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov dword [esi + 0x1c4], ecx
mov eax, dword [esi + 0x1c4]
add al, 0x14
mov ecx, dword [esi + 0x5d8]
mov byte [esi + ecx + 0x7f0], al
inc dword [esi + 0x5d8]
mov eax, dword [esi + 0x5d8]
cmp eax, 0xe
jb 0x1cd840
mov eax, dword [0x1ea684]
mov dword [esi + 4], eax
mov dword [esi + 0x5d8], 0x98f6fcde
mov dword [esi + 0x5dc], 0xbab8a7a7
mov dword [esi + 0x5e0], 0xbea0acbb
mov dword [esi + 0x5e4], 0xa9a9b4a0
mov word [esi + 0x5e8], 0xf99e
mov byte [esi + 0x5ea], 0xe6
mov dword [esi + 0x5eb], 0
mov byte [esi + 0x5ef], 0
mov dword [esi + 0xd8], 0
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x17
ja 0x1cd964
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0xd8]
movzx edx, byte [esi + edx + 0x5d8]
mov edi, ecx
xor edi, 0x7a60c94e
and ecx, 0xfa60c94e
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esi + 0x1c4], ecx
mov ecx, dword [esi + 0x1c4]
add cl, 0x7a
mov edx, dword [esi + 0xd8]
mov byte [esi + edx + 0x5d8], cl
inc dword [esi + 0xd8]
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x18
jb 0x1cd910
mov ecx, dword [str.c2CoW0__4]
mov dword [esi + 0x1c4], 0x2af8a9a7
mov dword [esi + 0x1c8], 0x2020952d
mov dword [esi + 0x1cc], 0xc39ef72b
mov dword [esi + 0x1d0], 0x2ffa9df7
mov dword [esi + 0x1d4], 0xc6332c25
mov dword [esi + 0x1d8], 0x30393636
mov dword [esi + 0x1dc], 0x8098363e
mov dword [esi + 0x1e0], 0x3237e38c
mov dword [esi + 0x1e4], 0x43bbd682
mov dword [esi + 0x1e8], 0x4046f540
mov dword [esi + 0x1ec], 0xff984ebb
mov dword [esi + 0x1f0], 0x4e47499c
mov dword [esi + 0x1f4], 0xa653b84d
mov dword [esi + 0x1f8], 0x5faf525a
mov dword [esi + 0x1fc], 0xf95252ae
mov dword [esi + 0x200], 0x56beed99
mov dword [esi + 0x204], 0xb8975c5d
mov dword [esi + 0x208], 0x6ebcd5aa
mov dword [esi + 0x20c], 0xb9926599
mov dword [esi + 0x210], 0x6b9782dc
mov dword [esi + 0x214], 0xc7bea8d8
mov dword [esi + 0x218], 0xbfbcb5ba
mov dword [esi + 0x21c], 0x9bceb4d6
mov dword [esi + 0x220], 0xcbaca1a5
mov byte [esi + 0x224], 0xe8
mov byte [esi + 0x229], 0
mov dword [esi + 0x225], 0
mov dword [esi + 0x52c], 0
mov edx, dword [esi + 0x52c]
cmp edx, 0x65
ja 0x1cdaec
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esi + 0x52c]
mov edx, dword [esi + 0x52c]
movzx edx, byte [esi + edx + 0x1c4]
mov ebx, edi
xor ebx, 0xcc27501e
mov eax, edi
xor eax, 0x33d8afe1
or edi, 0x4c27501e
and edi, eax
lea eax, [ebx + edi*2]
xor eax, edx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0x6a
mov edx, dword [esi + 0x52c]
mov byte [esi + edx + 0x1c4], al
inc dword [esi + 0x52c]
mov eax, dword [esi + 0x52c]
cmp eax, 0x66
jb 0x1cda90
movzx edx, byte [esi + 0x1c4]
mov eax, dword [esi + 0x6c]
test dl, dl
je 0x1cdb1b
lea edi, [esi + 0x1c5]
mov eax, dword [esi + 0x6c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x1cdb10
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
mov edi, eax
je 0x1cdb3d
inc ecx
mov eax, dword [esi + 4]
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x1cdb30
jmp 0x1cdb40
mov eax, dword [esi + 4]
mov byte [edi], 0
movzx ecx, byte [esi + 0x5d8]
test cl, cl
je 0x1cdb6b
lea edx, [esi + 0x5d9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x1cdb60
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x1cdb8b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x1cdb80
mov byte [edi], 0
movzx eax, byte [esi + 0x7f0]
test al, al
je 0x1cdbab
lea ecx, [esi + 0x7f1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x1cdba0
mov byte [edi], 0
push 0
call fcn.001e46d0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x1ee0a4]