Function at 0x284a161
Capabilities:
Encode data using xor

Disassembly:
push eax
inc edx
sub cl, al
xor cl, 0x24
neg al
sbb cl, 0x91
xadd byte [esp + edx + 4], ah
neg cl
idiv word [esp + edx*2 + 0xa]
div eax
dec word [esp + eax*2 - 0x3250]
dec cl
shr edx, 0x9d
rol cl, 1
sal dword [esp + eax*2 - 0x3259], 0x82
shr dx, 0x27
neg edx
xor bl, cl
mov dword [esp + eax*2 - 0x3252], edi
call fcn.025c5d8c
shr eax, 0x72
or cl, cl
not edx
neg ax
adc ecx, eax
ror edx, 3
xor ebx, edx
dec eax
xor cx, cx
adc esi, edx
mov edx, eax
push edx
mov eax, dword [ebp + ecx*2]
or cl, 0xaf
jb 0x2301e2e
mov cl, byte [ecx + ebp - 0xab]
xor edx, edx
inc edx
lea ebp, [edx + ebp + 5]
dec edx
mov byte ss:[eax + edx], cl
mov dword [esp + edx*4], esi
ret
xor edx, ebx
sub eax, ecx
push eax
bswap edx
push eax
dec edx
inc ecx
sar word [esp + ecx - 3], 0xe9
adc word [esp + ecx - 8], 0x9ea9
neg edx
inc edx
xadd byte [esp + ecx*4 - 0x1b], cl
dec ax
neg cl
rol edx, 2
neg cx
cbw
xor ebx, edx
xor al, al
xchg ch, cl
adc ebp, edx
cdq
movzx ecx, byte [edi + ecx - 0x1fff]
add edi, 1
dec al
cdq
cbw
xor cl, bl
jmp 0x15d7b7e
mov eax, dword [ebp + 4]
call fcn.0163de40
mov eax, dword [ebp]
mov edx, 0x8124933e
push edx
add ebp, 4
shr dword [esp], 0x9d
inc dx
movzx ecx, byte [edi]
and edx, 0xb30fd101
adc edi, 1
call fcn.0265bd1a
inc ecx
xor edx, ecx
inc ebp
movzx ebx, dx
not edx
inc ebp
movzx edi, bx
dec edx
lea eax, [edi*2 + 0x1cb37b10]
ror edx, 3
inc ecx
push ebx
inc edx
inc ecx
neg ebx
inc ecx
movsx esi, bx
ror edx, 1
inc cx
not ebx
shl ax, 0x48
dec eax
cwde
dec esi
mov dword [esp - 0x55a2f08d], ecx
inc edx
xor dword [esp + edi*2 - 0xf96e], edx
dec ecx
lea ecx, [ebx + eax - 0xc71ba43]
inc ebp
add bl, dh
inc ecx
pop ecx
jb 0x2535831
mov eax, 0xc13f3dae
movsx ecx, ax
mov edx, dword [edi + ecx - 0x3dae]
shr ecx, 0x8b
inc eax
lea edi, [edi + ecx*4 - 0x18]
jl 0x1625820
rol al, 1
rol ecx, cl
sbb al, 0x12
rol al, 1
shl cx, 0xaf
xchg ch, cl
xor bl, al
add eax, esp
mov dword [eax], edx
xor ecx, ecx
lea eax, [ecx + 0x50b6e60e]
lea edx, [eax + 0x418260d]
mov eax, dword [edi + ecx*4]
lea edi, [edi + ecx + 4]
xor cx, cx
xor eax, ebx
sub eax, 0x913dce2e
jmp 0x27f92ef
add esi, edx
lea edx, [eax*8 + 0x6411809b]
jmp 0x27d2fbc
xor ebx, ecx
call fcn.0162b2bb
mov edx, 0x798064a0
movzx eax, dl
sub eax, 0xc6a5b331
mov ax, word [eax + esi - 0x395a4d6f]
call fcn.0280c347
xor dword [esp + edx*4 - 0x3fb], 0xa9354bc
mov cl, byte [edi + edx*8 - 0x7f6]
add edx, edx
lea edi, [edi + edx*8 - 0xfee]
add edx, edx
jno 0x2733a98
pop ebx
pop edx
and al, 0xdf
adc eax, 0x4444bce6
sar byte [ebp - 0x38], 1
pop ebx
cmp al, 0xf0
pop ebp
inc esp
sbb bl, bl
or eax, 0xf9ad4fe
xor eax, 0xc1bf9bd6
insb byte es:[edi], dx
inc ebx
cmc
stc
test al, 0x41
xchg ebx, eax
jp 0x24c61c3
pop ebx
pop edx
sti
lock adc cl, byte [ebp + 0x3c0eac46]
push edi
push edi
cmp esp, 0xe24e2342
rcl dword [esi + 0x25], cl
pop ebx
hlt
lea edi, [edi + eax*2 - 0x298dfffe]
mov dword [esp + eax - 0x14c70000], 0x673271b5
shr al, 0x22
cwde
shl dx, cl
mov ecx, 0x1c9efc8c
call fcn.028552ab
inc ecx
mov esi, 0x8e087cb7
inc ecx
mov edx, esi
inc esp
mov edx, edx
inc ecx
mov edx, dword [eax]
dec ecx
add eax, 4
inc ecx
mov esp, 0x55a2f08d
jmp 0x22fc6a5
dec ecx
shr esi, cl
inc cx
sar ebx, 0x46
dec eax
arpl dx, dx
inc ecx
setae ah
inc ecx
add edx, 0xb310bf1e
ror ecx, 0xae
dec eax
adc ebx, edx
dec ebp
btr edx, edi
inc sp
cmovae esi, esi
inc edi
movzx esp, byte [esi + eax - 0x8349]
inc ecx
not edi
dec edi
lea eax, [esi + eax - 0x8348]
inc ecx
xor ecx, esi
dec ecx
and eax, ebx
inc ecx
inc ebp
xor ah, cl
dec eax
cdq
inc ecx
ror edx, cl
inc ecx
ror ah, cl
inc esp
movsx ebp, si
inc eax
mul dh
inc ecx
not ah
inc ecx
inc ah
shl cl, cl
dec ebx
lea ebp, [esi + ebx - 0x36dbbbc2]
inc ecx
ror ah, 1
inc ecx
dec ah
inc ecx
btc esi, 0xba
inc ecx
xor ah, 0xba
jmp 0x262e36b
dec ecx
bswap esi
dec eax
not ecx
inc ecx
sub ah, 0x33
dec eax
xadd esi, eax
xor eax, esi
inc ecx
rol ah, 1
rol bp, 0x2d
jb 0x26925dd
inc eax
ror dh, 0xe1
inc ebp
xor cl, ah
dec esp
add esp, esp
cwd
inc ecx
shr edi, 0x98
inc di
mov edx, dword [edi - 0xff]
dec edx
lea edi, [edi + edi*4 - 0x3fe]
inc bp
mov dword [edi + edi - 0xff], edx
inc bp
inc sp
btc ebp, ebp
jae fcn.027a8c5b
sub dl, byte [0x4965f6a1]
xchg ebp, eax
inc ebp
xchg edx, eax
mov eax, 0x79f80efb
int1
sti
push cs
clc
jns 0x2692615
mov ebp, 0x354e9ec
fcmovu st(0), st(2)
jae 0x269261f
push ebp
ja 0x269265e
iretd
pop eax
lodsd eax, dword [esi]
inc ecx
cmp al, byte [0xf8f02cee]
jmp 0xe276f20e
loopne 0x2692651
push 0x400e90f2
arpl sp, bp
lock or ecx, dword [esi + 0x170ebb7f]
push edi
imul ebx, dword [edi], 0xe
sub byte [ecx + 0x78faff8c], ah
xchg esi, eax
fild dword [ecx - 0x33]
call 0xa810c911
mov al, 0x83
lcall 0xb14c, 0x1d8321d1
xchg esi, eax
lds esp, [edi + 0x48]
or bh, cl
popfd
wait
xor al, 6
test byte [edx - 0x7d0a638], bh
pop eax
mov byte [esi], dh
call 0x40d07b82
inc esi
invalid
cwde
mov eax, dword [edi + edx - 0x64117d83]
mov dx, word [edi + edx - 0x64117d7f]
xor ecx, ecx
and ecx, 0x3a8fe5b3
lea edi, [edi + ecx + 6]
jo 0x24c6160
mov word ss:[ecx + eax], dx
lea eax, [ecx + ecx*2 - 0x7f127d0]
adc ecx, esi
jmp ecx
ror eax, 3
lea edx, [edx + ecx*4 - 0x5ccc8f77]
xchg dx, cx
add cl, 0x93
inc eax
bts edx, edx
rol eax, 1
xadd ecx, edx
adc edx, ecx
neg eax
not ecx
xor eax, 0x7c23b19c
not dx
dec dl
ror edx, cl
xor ebx, eax
add esi, eax
jmp esi
ror eax, cl
mov cl, byte [eax + edi - 0x14c6fffe]
jae 0x24eb2e3
mov eax, 0xc2dd21f
ror al, 0x24
mov ecx, dword [ebp + eax*2 - 0x185ba5e2]
ror eax, 0x5b
btr eax, eax
jae 0x2282fdc
loop 0x284a1ee
add byte [ecx], bl
xor ebx, ebp
mov dword [0x582e44f2], eax
mov eax, 0x52e35107
inc eax
out dx, eax
sbb byte [ebx + 0x5850c6e3], al
add byte [esi], dh
cwde
cli
in eax, dx
mov edi, 0x5c4ced72
or esi, dword [esp + eax*2 - 0x213afd8e]
jl 0x284a21c
cmp esi, ecx
pop esi
cmc
push ds
clc
iretd
stc
mov ah, 0x34
arpl sp, di
aad 0xe
fisub word [esi]
salc
pop edi
mov dh, 4
das
pushal
or eax, 0xb31001fa
in eax, 0x9d
and al, 0x74
bound edx, qword [ecx - 0x36]
mov al, byte [0x8e62287d]
mov bh, 0xf9
sal dl, 1
xchg edi, eax
inc ecx
pop es
mov esi, 0xb2021104
scasd eax, dword es:[edi]
mov ebp, 0x247cf5d4
aam 0xf5
jl 0x284a244
test al, 0x9e
sub eax, 0x2d65f52e
xor eax, 0x6d73743
mov ebx, 0xd2798b7c
push ebx
inc ebx
push ebp
dec eax
stc
xchg ebx, eax
inc dword [eax - 0x48d2a495]
push eax
sub al, 0x44
sub eax, 0x738f42c
hlt
pop es
js 0x284a242
retf 0xd2ed