Function at 0x149ce49
Capabilities:
Encode data using xor

Disassembly:
movzx eax, cl
mov edx, dword [ebp + eax]
dec eax
add ecx, 0x62397ba2
lea ebp, [ebp + ecx - 0x62397b9e]
xor edx, ebx
btr eax, ecx
jb 0x14cbcb7
inc ecx
push ebp
inc eax
inc ch
inc esp
xor dword [esp + ebp + 0xf], esp
pop esi
dec ebx
lea eax, [esi + edx*8 - 0x5743787c]
dec word [esp + ebp + 3]
dec eax
mov edi, dword [esp + ebp + 7]
jp 0xf78686
dec ebp
arpl sp, sp
sete byte [esp + ebp - 1]
js 0xf744ec
dec esp
mov dword [esp + ebp + 7], ecx
dec ecx
add ebx, esp
dec eax
cwde
inc ecx
mov edx, edx
pop edx
inc ebp
xor edx, dword [eax + ebp - 5]
call fcn.00ec830e
call fcn.014aa2c7
neg edx
call fcn.00d64a89
lea edx, [ecx - 0x7ee915fe]
rol al, 1
sal ecx, 0xe8
jb 0xf8dfc3
call fcn.00ee710e
sysenter
call fcn.00e89ba1
inc ecx
bswap edi
inc ecx
shr esp, 0x33
inc eax
adc ch, 0xb3
inc ecx
ror edi, 2
dec ecx
inc esp
dec edx
lea ecx, [0x62a1a33b]
inc ecx
dec edx
push edi
inc cx
ror esp, 0x25
call fcn.00f9e8eb
inc cx
xor ebp, edx
inc ecx
not bh
call fcn.014b1786
xchg dword [edi + 8], esi
add dword [ecx - 0x15], ebp
mov edx, 0x92bd8c00
add byte [ebp - 0x57e5dd48], dh
test byte [ebx], 1
dec esi
imul eax, dword [eax + 0x389d3300], 0xffffff97
add byte [eax], al
add byte [eax], al
xlatb
add byte [ebx - 0x537b5000], bh
add byte [esi - 0x7b], ah
jg 0xf786e6
xchg ecx, eax
loop 0xf7871d
jecxz 0xf7873b
sub al, 0xc
add dword [ebx - 0x27], ecx
imul eax, dword [eax], 0xc83493a3
mov edx, 0x27010b01
mov edi, 0x8937008c
sbb al, cl
in eax, dx
or al, 1
mov ebx, 0x89007cc6
jnp 0xf78742
pushal
or eax, ebp
stosd dword es:[edi], eax
add byte [0x92006208], bl
neg byte [ebx]
enter 0x4195, 0xc
add ebp, edi
movsb byte es:[edi], byte [esi]
nop
add byte [eax], ah
push ss
and esi, 0x5e
imul ebp, dword [edi + 0x4cbd5000], 0
sbb ch, byte [edi]
das
mov al, byte [0xdd72a3d]
add dword [ecx], esp
jno 0xf7879a
add byte [ecx], ah
or dword [edx], ebx
scasd eax, dword es:[edi]
push edx
push es
scasb al, byte es:[edi]
add byte [edx - 0x56ff714c], bl
sbb al, 0xb7
lcall 0xb71c, 0xa9008eb4
outsd dx, dword [si]
xor eax, 0x2d12010a
mov al, byte [eax]
mov ebp, dword [eax + 0x62972b87]
or byte [ecx], al
sbb byte [edx + 0x59], cl
add byte [edx + ebx*4], ah
adc al, 0x2a
outsd dx, dword [esi]
adc bh, byte [ebx + 0x4312a900]
add byte [edi + 0x47838a57], bl
dec eax
test al, 0
lodsb al, byte [esi]
popal
or eax, 0
add byte [ecx + 0x43], ch
push cs
add dword [esi + 0x4a], esi
push 0x80021700
test byte [edx], dl
jl 0xf7872f
add byte [eax + ecx*4 + 0x48c006a], ah
mov bl, 0xd7
xlatb
push ss
lodsd eax, dword [esi]
add byte [esi + 0x1b008b40], bl
arpl word [edi], bx
sbb esp, dword [ebx + 0x1f]
nop
add dword [ebx - 0x5ab6ff56], 0xd0950000
mov dword [edi], eax
wait
pop esi
mov bh, 0
mov ebp, 0x91008a75
jl 0xf787e4
dec ecx
rcl edx, cl
or eax, 0x74990701
add byte [eax - 0x4711eb11], bh
or byte [ebx], 1
and eax, 0x1f006c76
sub eax, 0x464a4699
mov edx, 0x89914100
add byte [ecx + 0x45998df5], dl
inc edx
or al, 1
jl 0xf787eb
jg 0xf787e2
or ebp, 0xe3fe97ab
mov edx, 0x7a0da300
add byte [edi], bh
add dword ds:[esi], 0xf
stosd dword es:[edi], eax
xchg edi, eax
invalid
or eax, 0x653f007a
add dword ds:[esi], 0xf
mov ebx, 0x8a90a200
add byte [edi + 0x7dc317af], bl
wait
stosd dword es:[edi], eax
add byte [edi - 0x67ffa591], dh
stosd dword es:[edi], eax
aas
invalid
rol eax, 2
rol cx, cl
jae 0xecbb25
mov eax, 0xdd27e7a5
xor ax, ax
mov dx, word [ecx]
mov ecx, eax
mov word [edi + 2], dx
call fcn.00eea56c
not al
and cx, cx
ror dx, 0x21
call fcn.014acb22
jmp 0xefcb29
mov dword [esp + ecx*4 - 0x13eb8], ecx
sbb byte [esp + ecx*2 - 0x9f59], ch
xor eax, ebx
bswap eax
call fcn.00ed4e51
inc al
sal cl, 0xc1
neg al
and ecx, ecx
rol cl, cl
sbb ecx, ecx
xor bl, al
shr ecx, 0x93
adc eax, esp
mov dword [eax + ecx], edx
jmp 0xe9cadf
neg edx
inc edx
neg al
rol edx, cl
bts cx, 0x8d
jb 0xee5d51
mov word ss:[ecx], dx
mov eax, dword [ebp]
mov ecx, 0x2a933c80
mov dword [esp + ecx*2 - 0x55267900], ecx
xadd dword [esp + ecx*2 - 0x55267900], ecx
xor eax, ebx
rol eax, 1
movsx edx, cl
dec dword [esp + ecx - 0x2a933c80]
bswap ecx
dec eax
bt cx, 0xb7
or cl, byte [esp]
shl dl, 0xc6
bswap eax
and ecx, 0xae21aea6
btr edx, 0x93
shl edx, 0xd6
neg eax
jmp 0xf8a91d