Function at 0x14e5d01
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
inc ecx
and esi, 0xff
jmp 0x225ae75
btr cx, cx
dec dl
or ecx, 0x94189e27
lea eax, [ecx*4 - 0x124a2adc]
xor dl, 0xb4
push ecx
sar ecx, cl
cwde
xor bl, dl
bts cx, 3
lea edx, [esp + edx + 0x10]
mov dword [esp + eax - 0x4dbc], ecx
shl dword [esp + eax*2 - 0x9b80], cl
mov dword [esp + eax*2 - 0x9b78], ecx
mov ecx, dword [edx + eax*2 - 0x9b80]
mov edx, 0xb78f8a9e
sub al, al
or eax, dword [esp + eax - 0x4cf4]
lea esi, [esi + eax - 0x67c7fff6]
jns 0x2310daa
add al, 0xc
mov bl, 0xff
dec dword [ebp + 0xa06b4]
cmp byte [eax - 0x4fb276f1], bl
loop 0x14e5d5d
xor edx, ebx
rol edx, 3
push eax
pop ecx
sar eax, 0x83
inc edx
or al, ch
neg edx
call fcn.020f8d66
adc edx, 0xffffffa4
dec ecx
and ah, al
jno 0x14e5d4b
sub byte [esi - 0x6d2ca0d1], dl
sub byte [esi - 0x51f8d4d1], dl
sub byte [esi - 0x6df2ecd1], dl
sub byte [esi + 0x2853b02f], dl
salc
les eax, [eax + 0x54a9a55e]
push esp
sahf
not ah
xchg esp, eax
fmul dword [ebx - 0x59c0a967]
sbb byte [ecx + 0x79772199], bl
loopne 0x14e5dfe
loop 0x14e5deb
dec edx
out 0x72, eax
ljmp 0xae3e
or eax, 0x41dbac20
jecxz 0x14e5d97
sbb byte [ecx + 0x7ad78849], bl
loopne 0x14e5e4e
invalid
jb 0x14e5e3e
cmpsb byte [esi], byte es:[edi]
cwde
out 0xe4, al
jb 0x14e5e44
xchg di, ax
ljmp 0xde6e
add cl, byte [0xb8b5ac82]
imul ecx, dword [eax], 0x49
cmpsd dword [esi], dword es:[edi]
sbb byte [ecx + 0x3f], dh
mov byte [0x160e058a], al
push cs
push ss
xor dword [esi], ecx
int1
jne 0x14e5df2
out 0xdd, eax
lodsb al, byte [esi]
jnp 0x14e5e6e
sbb eax, 0xadf21e14
xor byte [edx], 0xb2
imul ecx, dword [edi + 8], 0xffffffd2
fst qword [0x98366b95]
jae 0x14e5ee1
xor bl, byte [esi + 0x1cc35dbe]
ja 0x14e5e9e
test al, 0x16
push ss
mov al, 0x18
sub al, 0xd0
add bl, ah
je 0x14e5e8b
adc bl, byte [edx + 0x61a19a84]
mov bh, dl
cli
dec ebp
std
sti
shr byte [0xa1e3224b], 0xfe
loopne 0x14e5e77
aas
mov al, 0x8c
push ebx
sbb edx, eax
pop ebp
invalid
lcall 0xe981, 0x663ce8de
lodsb al, byte [esi]
xchg esp, eax
bswap edx
sar cl, 0xa5
not edx
lea eax, [eax*8 - 0x34460548]
sal al, cl
rol edx, 1
cwde
and word [esp + ecx - 0x331b6b00], 0x2535
sar ecx, cl
dec edx
xor ebx, edx
mov word [esp + eax*8 - 0x2d5ff], cx
inc word [esp + ecx*4 - 0x331b6b00]
add edi, edx
mov edx, dword [esi + ecx - 0xcc6dac2]
push eax
push eax
mov cl, byte [esi + ecx*4 - 0x331b6afe]
sal edx, cl
call fcn.02317039
dec edx
mov dword [esp + ebx*8 - 0x185e94b0], esi
ret 0x10
dec ebp
mov eax, dword [ebp]
jmp 0x2311c92
ror dword [esp + ebx*2 - 0x5d632b46], cl
neg ebp
inc ecx
not esi
inc ecx
mov eax, eax
inc ebp
inc sp
xadd dword [esp + ebx - 0x2eb195a1], ebx
not ebp
mov edx, ecx
bswap ebp
call fcn.014d56d2
lea esp, [esp + 0xc]
je 0x21dfad2
push ebx
mov ebx, 0x4e9c241a
not bx
movzx ebx, byte [eax + ebx - 0x4e9cdbe5]
push 0xc404feba
xor ebx, ecx
and ebx, 0xff
rol dword [esp], 0xf5
ror dword [esp], 0xa5
mov ebx, dword [ebx*4 + 0x14bda08]
rol byte [esp + 1], 0x41
shr ecx, 8
push 0xc130a929
xor ecx, ebx
neg byte [esp]
inc eax
and byte [esp + 3], 0x85
xor ecx, 0xd41e8f36
call fcn.021f0fc8
jmp 0x14fcb4a
not edx
lea ebp, [eax + ebp - 0x67c7fff6]
mov ecx, dword [ebp + edx - 0x48707593]
xor dx, ax
mul edx
xor ecx, ebx
jmp 0x2304b7b
not ecx
mov eax, 0xa28cc61a
movzx edx, ax
inc edx
mov dword [esi + edx*4 - 0x3186c], ecx
btr edx, 0x90
jmp edi
bt ecx, edx
xor eax, 0x9e262489
bt ecx, edx
setae cl
inc cx
bswap eax
xor cx, dx
xor eax, 0x18320399
xor ebx, eax
sar cl, 0x25
inc edx
add edi, eax
neg dx
mov si, word [esi]
jg fcn.01499eee
inc edi
mov esi, dword [esp + esi*4]
neg word [esp + 2]
xor byte [esp + 2], 0xb0
jbe 0x21cbefe
inc ecx
shr ebx, 8
dec eax
inc dword [esp]
inc ebp
xor ebx, esi
dec eax
inc ebx
inc ecx
xor ebx, 0x9b36ff07
push 0xee1a5dab
dec ecx
dec eax
push 0x808c639a
dec eax
lea esp, [esp + 0x18]
jne 0x2310ddb
mov ebx, 0x6289592e
mov ebp, ebx
inc esp
movsx esi, ch
inc ecx
pop esp
inc ecx
mov ecx, 0x21821a2
inc ecx
movsx ebx, cx
inc ecx
not ebx
inc ebp
movsx edx, cx
inc edi
mov dword [ebp + ecx*2 - 0x4304344], ebx
inc ebp
mov ebx, edx
inc ebp
xadd cl, dl
dec esp
lea esi, [ebx + ebx*8 - 0x6751e680]
dec ecx
lea edi, [ecx + edi - 0x2182148]
inc esi
mov edx, dword [edi + ecx*2 - 0x4304288]
mov edx, 0xff2c392b
inc ebp
mov edi, ecx
dec ebp
lea eax, [esi - 0x44ee116a]
inc ebp
xor edx, esp
inc ecx
movzx ecx, si
inc ecx
inc edx
inc ecx
neg al
inc ebp
xadd dh, al
sar bx, 0x4f
inc ecx
rol edx, 1
inc cx
btc eax, 0x9d
dec eax
shr edx, 0x2d
dec eax
inc ebx
inc ecx
xor edx, 0xdc3b762b
inc sp
btc edx, eax
dec ecx
dec ecx
dec ecx
rol edi, 0xb5
inc ecx
not edx
movzx ebp, dx
call fcn.0231f496
neg dword [ebx]
mov dh, 0xc4
cmp eax, 0x175d5ef5
lodsd eax, dword [esi]
sbb dword [edi + 0x6d5835c4], edx
push esp
and al, 0x19
invalid
dec ecx
or eax, eax
xadd word [esp + eax - 0x2ca06ea8], ax
cwde
xor ecx, 0x65222215
mul eax
dec ecx
pop eax
mov byte [esp + eax - 0x6fffffff], dl
xor ecx, 0xae919b03
idiv dword [esp + eax - 0x6ffffffc]
dec byte [esp + 9]
sub ecx, 0x17897e9c
cwde
xor ebx, ecx
bt dx, ax
not word [esp + 3]
adc edx, edx
add edi, ecx
and edx, 0x33b8f6af
dec dword [esp + edx*2 - 0x4641200b]
pop ecx
pop edx
pop edx
jne fcn.01499eee
add byte [eax], al
push edx
inc ebx
jb 0x2304c43
popal
je 0x2304c46
dec ebx
jns 0x2304c2a
js 0x2304c28
invalid
jb 0x21e4f01
xor dl, al
mov dword [esi + eax - 0x67c7fff2], ecx
jge 0x21d16c0
dec ebp
test eax, eax
push 0x1f91b82f
dec eax
lea esp, [esp + 0x20]
je 0x225aec4
inc ecx
push esp
inc ecx
mov esp, 0xaaaee18b
dec esp
lea esp, [0xfffe3935]
inc ecx
mov esi, 0x96340808
inc esp
movzx esi, byte [ebx]
push 0x7598f98b
dec eax
not dword [esp]
neg dword [esp + 2]
inc ebp
xor esi, ebx
jmp 0x14e331d
dec ebp
mov esi, dword [ebp + 8]
mov edx, 0x70b6b5a9
dec esp
lea edi, [edx + edx - 0x7b4618ed]
inc ecx
movzx ebp, di
inc edx
mov cl, byte [edx + ebp - 0x70b6b599]
dec eax
lea edx, [edx*2 - 0x16e1d0d4]
mov ebx, edx
dec esi
lea ebp, [ebp + ebp - 0x525b]
inc esp
movzx ebx, dl
inc ecx
neg ebx
adc ebp, ebp
dec ebp
shld eax, esi, cl
inc ecx
rol ebx, 0x95
dec ebp
mov dword [ebp + ebp*2 - 0x14996], eax
dec bp
inc esp
mov ecx, ebp
inc ebp
movzx edx, bl
dec edx
lea edi, [edi + edi - 0x66275269]
dec eax
not edx
call fcn.021e2b20
mov eax, dword [esi + eax - 0x7a20e6ba]
mov ecx, 0x158986a7
not edx
sub cx, cx
btc ecx, 0x15
add cx, cx
not eax
or cx, cx
add cl, ch
add ecx, ecx
or edx, eax
movsx eax, cl
mov dword [eax + esi + 4], edx
mul eax
adc eax, dword [ebp + eax*2 - 4]
lea ebp, [ebp + ecx*2 - 0x56a40004]
xor eax, ebx
inc dl
btr edx, ecx
adc eax, edx
neg eax
sal edx, 0x5c
ja 0x230be7e
add ecx, ecx
sbb eax, 0x8b1d3003
shl cx, 0xa8
lea ecx, [edx + edx - 0x7c4a2d57]
neg eax
shr dx, 0x68
xor ebx, eax
add edi, eax
mov esi, dword [esi + edx*2 + 4]
lea eax, [ecx*8 - 0xa663be4]
push eax
xor byte [esp + edx + 2], al
pop ecx
jno fcn.01499eee