Function at 0x14c88ca
Capabilities:
Encode data using xor

Disassembly:
inc ecx
mov ebp, dword [edx]
mov eax, 0x783de2b
call fcn.01766081
ror ecx, 3
mov eax, 0xcb2527b9
lea ecx, [eax + ecx - 0x4d8d1509]
movzx edx, al
shl eax, 0xc
xor ecx, 0xa3b81081
shr dx, 0x68
xor ebx, ecx
lea eax, [edx + eax*4 + 0x6db81e9b]
not edx
jmp 0x172ede5
jge fcn.0162c0c2
xor eax, ebx
shr dx, 0x2d
ror eax, 1
jmp 0x173d791
xor ebx, edx
shl cx, 0x4d
add ebp, edx
sub eax, eax
pop edx
pop eax
pop edx
jae fcn.00e67de4
sub edi, 4
mov ecx, 0x8531141c
movzx eax, cl
jmp 0x1524e9e
mov eax, dword [esp]
pop ecx
jae fcn.0162c0c2
pop eax
jmp edi
mov eax, dword [edi + eax - 0x1c]
xor eax, ebx
shl ecx, cl
dec eax
rol eax, 1
neg ecx
jl 0x156b5f8
dec eax
ror ecx, 0xe7
movsx edx, cx
not eax
setae dl
call fcn.00e0c998
inc eax
movsx edx, ax
not ecx
and edx, 0x3cb5c114
and eax, eax
sar eax, 0x17
cmp al, 0x23
rol cl, 0xf8
pop ss
rol ecx, 1
sar dx, 0x8e
bswap ecx
call fcn.0176debb
mov bh, 0x6a
sahf
lodsd eax, dword [esi]
loop 0x1524ecd
inc edi
cld
sbb al, 0x4f
or byte [eax + 0x2c7ee309], ah
xchg dword [ecx - 0x4a], edi
loop 0x1524f47
mov dh, 0xe2
push edx
xor eax, 0x701d00dd
or eax, 0x7fe32f60
shr byte [ebp - 0x7bfae324], 1
push 0x1d
add ecx, dword [edi - 0x10]
cmp byte [ebp - 0x75], bl
jo 0x1524ef2
inc ecx
xchg dword [edi + 0x15], edx
salc
daa
sub ebp, eax
push edi
hlt
add byte [esi], cl
cmp al, byte [eax]
mov edi, 0x618282d
inc edi
xor edx, dword [esi]
sal byte [ebx], 0x13
lcall 0x5ad, 0x8bd5712a
loopne 0x1524f10
ret 0xbe4b
ror eax, 2
push edx
xor eax, 0x5185d09b
pop edx
neg eax
lea ecx, [edx + edx*4 - 0x3a77daf3]
xor ebx, eax
not edx
add esi, eax
lea edi, [edx + edi - 0x73d043fa]
movzx eax, byte [edi + edx - 0x73d043f9]
xor al, bl
shr dl, 3
sar edx, 0x6d
neg al
shr ecx, 0xc7
ror al, 1
add al, 0x31
dec ecx
neg al
pop edx
dec cx
rol al, 1
xor bl, al
sub edx, 0x8c2a14bd
bswap edx
lea ebp, [ebp + ecx*8 - 0x8276d02]
neg edx
mov word [ebp + edx - 0x3522977], ax
jg 0x1662773
mov dword [esp + ecx*4 - 0x12eaf], esi
dec eax
not ebp
dec word [esp + ecx - 0x4ba2]
dec esp
xor eax, ebp
dec esi
lea edx, [ecx + edx - 0x4bb6]
push ebx
sal word [esp + ecx*2 - 0x9754], cl
dec ecx
mov dword [edx + esi - 0x2f84c195], ebp
pop eax
pop ebp
inc ecx
pop esp
jne fcn.015e9c5f
mov eax, 0xa03b383d
sub ax, ax
mov edx, dword [edi]
setbe al
mov eax, dword [edi + 4]
mov ecx, 0x6c86bca5
sbb cx, 0x423b
mov ecx, dword [edi + ecx - 0x6c867a62]
call fcn.015625f7
jmp 0xdbc9f2
jb 0xe5a1d5
rol al, 1
push 0x9b1efe99
xor bl, al
rol byte [esp + 0xe], 0xc1
lea eax, [esp + eax + 0x18]
jb 0x14fc8d3
mov ecx, 0x3b365505
mov byte [eax + ecx*2 - 0x766caa0a], dl
pop edx
mov dword [esp + ecx*2 - 0x766caa00], ecx
mov eax, dword [esi + ecx*2 - 0x766caa0a]
setno cl
lea esi, [esi + ecx*2 - 0x766ca9fe]
xor eax, ebx
lea eax, [edx + eax - 0x48234ba4]
xchg dx, cx
call fcn.016d7b46
lea eax, [eax + edx*4 - 0x42fd32c4]
ror cl, 0xc1
bswap eax
ror edx, 0x2a
sbb ecx, edx
sal dl, 0x64
ror eax, 1
sal dx, 0xc9
ror dl, 3
xor ebx, eax
inc dx
add ebp, eax
movsx eax, cl
mov edx, dword [edx + edi - 0x820001]
mov cx, word [edi + ecx*2 - 0x13278398]
inc eax
add edi, 2
sal eax, 0xa2
or eax, eax
shr cx, 1
rcr edx, cl
mov ecx, eax
sal ecx, 0x6e
xchg ecx, eax
mov dword [edi], edx
xor ecx, 0x92dbab5
jmp ebp