Function at 0x14db446
Capabilities:
Encode data using xor

Disassembly:
xor esi, 0xbc871a28
btr ax, 8
neg esi
inc bl
rol dword [esp + ebx - 0x373f7f3f], cl
adc esi, edx
jmp 0xcf5ebd
inc bl
mov dword [esp + ebx - 0x373f7f1c], edi
lea edi, [esp + ebx - 0x373f7f3c]
lea eax, [ebx + edi - 0x373f8014]
push ecx
mov esp, eax
sar ecx, 0xff
neg ax
xor edx, 0x6eb5b4a9
neg al
sbb eax, 0x458138a8
sub ecx, ecx
not edx
xor ebx, edx
bts ax, 0x8e
rol cl, 0xa4
adc esi, edx
mul cl
sbb eax, ecx
push eax
xor cl, byte [edi + ecx - 5]
not ax
lea edi, [eax + edi - 0x29d80004]
lea edx, [eax*8 - 0x7fe93479]
xor cl, bl
not eax
shr eax, 0xc4
adc dword [esp + eax*2 - 0x1ac50000], eax
adc cl, 0x9b
mul edx
rol cl, 1
sub dword [esp + edx - 0xad07dfa], edx
mul al
dec cl
neg cl
shl byte [esp + edx*4 - 0x2b41f7e7], 0x66
rol cl, 1
xadd byte [esp + edx - 0xad07df7], al
xadd ax, dx
xor bl, cl
push eax
xadd word [esp + edx*4 - 0x2b4000ac], dx
shl word [esp + edx*2 - 0x15a10009], 0x47
mov word [ebp + edx*2 - 0x15a1000a], cx
sar eax, 0xfe
sub dword [esp + edx - 0xad08005], 0x529a0db0
movsx ecx, byte [esp + edx - 0xad08002]
lea ebp, [ebp + edx - 0xad08004]
cwde
shr ecx, 0xc8
btr eax, edx
mov dword [esp + edx - 0xad08006], esi
ret 4
mov word [ebp + eax*2 - 0x2002], dx
movzx ecx, byte [esi + eax*4 - 0x3ffb]
lea esi, [eax + esi - 0xffa]
xor cl, bl
movzx edx, al
call fcn.0141a86f
mov ecx, dword [esi]
mov eax, 0x31047ca4
shl eax, 0xb6
mov eax, dword [esi + eax - 0x28fffffc]
call fcn.01529e8c
ja 0x12f0109
outsd dx, dword [esi]
sub eax, 0x6f6a4ae7
jl 0x14bd7af
jno 0x14bd7c5
inc ebp
xor eax, 0x339820f0
retf
xor edx, ebx
neg edx
rol edx, 1
jmp 0x14282c9
mov eax, 0xca0fc403
mov dword [esp + edx - 0x4adb313e], edx
xor cl, bl
xor word [esp + edx - 0x4adb313d], 0x3696
jg 0x1546afa
not cl
btr edx, 0x16
neg dx
mov eax, edx
neg cl
shr byte [esp + edx - 0x4a9bcec2], 0x61
ja 0x1580769
mov ecx, 0x60a8478b
mov eax, ecx
mov ecx, dword [ecx + ebp - 0x60a8478b]
sub ax, ax
mov eax, dword [ebp + eax - 0x60a7fffc]
jbe 0x1504241
pop edx
jbe 0x140e084
push 0xcdb864a3
mul ecx
mov ecx, 0xaf9c8d97
push ecx
or ecx, dword [esp + 4]
mov dword [ebp], edx
not byte [esp + 4]
xadd byte [esp + 1], cl
mov dword [ebp + 4], eax
sbb edi, 3
dec dword [esp + 4]
movsx edx, cx
mov ecx, dword [edi]
movsx eax, dl
xor ecx, ebx
and edx, dword [esp + 2]
inc ecx
rol ax, 0x6b
sub dword [esp + edx - 0x645bad8b], 0x2b023fba
neg ecx
lea ecx, [ecx + eax - 0x5565807a]
bswap ecx
bswap edx
shl dl, 0x47
ror ecx, 1
rol word [esp + 5], 0x6a
add dword [esp], 0x1baae31d
pop edx
xor ebx, ecx
add esi, ecx
cdq
lea ecx, [edx + eax*2 - 0x72f3c0c6]
or byte [esp], dh
pop eax
jmp esi
movzx ebp, cl
dec esi
xor esi, 0xd7bc058d
lea ebp, [ebp + ebx*2 + 0x5236b414]
inc esi
sar dword [esp + ebx*2 - 0x6e7efe7c], 0xd0
xor byte [esp + ebx*2 - 0x6e7efe7b], bl
jg 0xc54ff8
pop esp
pop eax
and eax, 0xa5c40837
inc ebx
jno 0x1546ba2
dec edx
fdivr qword [0x4a77712b]
mov bh, 0x78
mov eax, dword [0x57490335]
salc
and al, 0
add dword [0x35076280], esp
pop edi
and byte [eax + ebp*2 + 0x2a], ch
mov dl, 0x7a
lea eax, [eax]
invalid
invalid
cmpsb byte [esi], byte es:[edi]
lahf
sbb dh, al
pop ecx
inc edi
push cs
movsb byte es:[edi], byte [esi]
mov eax, 0x9296a012
jl 0x1546b94
xchg esi, eax
invalid
xor cl, 0x3c
shl al, 0x21
add dword [esp + eax - 0x4a9bce84], eax
not cl
shl eax, 0xaa
shl dword [esp + edx - 0x4a9bcec2], 0x7c
xor bl, cl
push eax
cwde
lea ecx, [esp + ecx + 8]
movzx dx, byte [ecx + edx - 0x4a9bcec2]
sar word [esp + eax*4 - 0x3ffb], 0x8e
jns 0x14bd708