Function at 0xcc6b5b
Capabilities:
Encode data using xor

Disassembly:
movzx eax, byte [esp + ebp - 0x8d]
dec ebp
lea edx, [esp + ebp + 0xa1d888c]
dec eax
lea edi, [edi + ebp - 0x95]
inc ecx
bts esp, ebp
inc ecx
setb ah
inc bp
bts esi, edi
inc ecx
xor edx, ebx
dec edx
mov dword [esp + esi - 0x7ebe8c10], 0x2bb38b31
dec esi
and edi, dword [esp + esi - 0x7ebe8c10]
dec edx
dec ecx
bswap esp
ror edx, 3
inc ecx
sar bh, 0xa1
dec edx
lea ebp, [ecx + ecx*4 + 0x27b61ebc]
bswap edx
btc eax, ebp
inc edx
shr byte [esp + edi - 0x2bb38b0b], 4
inc edx
setbe byte [esp + esi - 0x7ebe8c07]
ror edx, 1
inc edx
lea edx, [edx + edi - 0x44d208d2]
inc cx
add ecx, edx
not edx
movzx ebx, bp
jno 0xd71561
fsub qword [ebp + edx - 0x4294ee9c]
movsx eax, dx
bt dx, ax
or eax, eax
lea esi, [esi + ecx - 0xa0]
ror edx, cl
shl ecx, 0x7d
mov eax, dword [ecx + esi - 0x80000000]
call fcn.015aa983
cld
push ecx
xor ebx, edi
jae 0xcd02ed
dec ecx
pop es
xchg edi, eax
cmpsb byte [esi], byte es:[edi]
mov edx, 0x5f82c61b
mov edx, dword [edx + esi - 0x5f82c61b]
mov eax, 0x4eb95a06
xor edx, ebx
movsx ecx, al
inc cx
rol eax, cl
lea edx, [ecx + edx + 0x13b45b97]
shr cx, cl
or cl, cl
adc ax, cx
bswap edx
dec edx
jmp 0x15b39f3
sbb byte [esi], 0x66
mov dword [ebp + 2], ecx
mov ecx, dword [esi - 4]
add edx, eax
setl dl
sal dl, 0xa2
sbb esi, 4
add dword [esp + 1], eax
xor ecx, ebx
inc eax
jnp 0x151f4c8
xor ecx, 0xb3018339
ror word [esp], 0xe1
mul eax
push eax
neg ecx
cwde
sub dword [esp + eax*8 - 0x22040], eax
pop edx
bswap ecx
sbb eax, eax
add edx, 0xf7260599
call fcn.015163d1
mov ax, word [ebp]
mov ecx, 0xf3917c9d
movzx edx, cx
btr dx, cx
lea ebp, [ebp + edx - 0x5c9b]
bts dx, dx
inc dx
lea ecx, [ecx + edx*8 - 0x42cfb379]
lea esi, [esi + edx*4 - 0x1f279]
xor cl, 0x2d
cmovns edx, ecx
movzx ecx, byte [esi]
dec edx
or dl, 0x2b
xor cl, bl
sub cl, 0xe
shl edx, 7
sub edx, edx
rol cl, 1
lea edx, [edx + edx*8 + 0x67007417]
xor cl, 0x9c
shr edx, 0xaf
push edx
not dl
neg cl
sal dword [esp + edx*2 - 0x19dfe], 0x98
adc cl, 0x2e
sub edx, edx
jge 0x15a5877
inc esp
mov edx, dword [esi]
inc esp
mov eax, dword [esi + 4]
inc ecx
mov edi, 0x193d210c
inc ecx
not edx
inc ecx
not eax
inc ebp
mov esp, edi
dec ecx
lea ecx, [edi - 0x3d76e744]
inc ebp
movzx esi, di
inc ebp
and edx, eax
inc ecx
push esp
inc esi
mov dword [esi + edi*4 - 0x64f4842c], edx
inc si
xor dword [esp + edi*2 - 0x327a4217], edi
inc dx
xchg dword [esp + edi - 0x193d210c], ecx
inc esi
mov esi, dword [edi - 0x193d210c]
inc cx
neg edi
inc ebp
movsx ecx, ah
inc ecx
ror bh, 0x61
dec ecx
lea edi, [edi + edi - 0x193dde76]
inc edx
mov edx, dword [esp + edi*2 - 0x327bbcf1]
inc ecx
sal cl, 0xe4
inc ecx
push esp
inc ebp
xor esi, ebx
inc ecx
not esi
dec ecx
btr ecx, 0x20
dec esi
xchg dword [esp + edi*2 - 0x327bbcef], edi
inc cx
sal ecx, cl
inc edi
lea esi, [esi + 0x497772a3]
inc edx
inc esi
or byte [esp - 0x64f4842f], ah
inc edx
inc dword [esp - 0x193d2109]
inc ecx
neg esi
inc ecx
bswap esi
dec esi
mov dword [esp - 0x193d2104], ebx
inc edx
movsx ebx, byte [esp - 0x64f4842e]
jmp 0x1556551
jne 0xd733d6
mov edx, 0x4294ee9c
movzx ecx, dl
jmp 0xcd024c
rol edx, 3
dec ebp
lea ecx, [ecx + ebp + 0x488fcc0d]
sal ebp, cl
bswap edx
xor edx, 0x8824688e
dec eax
bswap ecx
inc dx
neg dword [esp + edi - 0x2bb38b17]
inc ecx
setb dl
dec esi
mov dword [esp + esi - 0x7ebe8c08], ebx
inc edx
xor dword [esp + edi - 0x2bb38b10], edx
inc ecx
pushfd
xor al, 0xf8
jae 0xd73443
add dword [edx + 0x31], 0x74f03c94
dec esp
aam 0x41
pop ecx
call fcn.00d886c3
lds esp, [ebx + ebp]
add dword [ebx + eax*2 + 0x7b38ee3b], ebx
popal
push ebp
sub ebx, esi
cmp byte [ebx + 0x61], bh
and al, 0x47
mov esi, 0x7d617b38
in al, 0xac
jecxz 0xd733fd
pop ds
push ss
or byte [ecx], dh
leave
and ah, 0x30
mov esi, dword [ebp - 0x34]
hlt
push es
pop edi
retf 0xf4c5