Function at 0x2526ac2
Capabilities:
Encode data using xor

Disassembly:
lea eax, [ecx + ecx + 0x749a5fa8]
xor eax, ecx
xor edx, ebx
inc edx
not edx
ror edx, 2
inc eax
not edx
xor edx, 0x308ecd2f
xor cl, 0x2a
inc cl
adc cl, al
xor ebx, edx
add eax, 0xb800a8a9
sbb ecx, ecx
add ecx, 0xdb184482
adc edi, edx
movzx cx, byte [ebp]
movsx edx, al
sar edx, 0x8b
adc dl, byte [ebp + edx + 2]
rol ax, 0xc6
add ebp, 2
xor ax, ax
adc eax, 0xf8cde83
jae 0x25a87ed
lea eax, [eax + edx*2 - 0x1b851a21]
adc cl, 0xbc
not cx
neg ecx
bswap eax
xor ebx, eax
shl cx, 0xed
add edi, eax
jmp edi
ret
ja 0x14f48a0
add cl, 0x20
test al, al
jmp 0x1e31d99
shl cl, 6
neg dl
rol al, 0xc6
sbb dl, 0x8a
lea ecx, [eax + ecx*4 + 0x46197f1d]
call fcn.02532063
clc
sub cl, 0x41
jmp 0x247e80e
ret
dec byte [esp + ecx*4 - 0x2c35]
rol ecx, 1
ror dl, 1
push ecx
xchg byte [esp + ecx*4 - 0x586d], cl
inc ecx
sub dl, 0xb4
pop ecx
dec cl
neg dl
push ecx
and ecx, ecx
adc ecx, 0x29014cb2
inc dl
neg dl
xor bl, dl
shr ecx, cl
lea edx, [esp + edx + 8]
mov byte [ecx + edx - 0x2280b], al
mov dword [esp + ecx - 0x2280b], edi
ret 4
mov edx, eax
mov eax, dword [ebp]
lea ecx, [ecx + edx*2 + 0x7a392fa0]
add cx, dx
call fcn.014c6954
dec dx
shl edx, 0xcc
lea esi, [esi + ecx*8 - 0x15ffe]
adc dx, 0x438b
lea ebp, [ebp + ecx - 0x2c01]
movzx edx, byte [ebp + ecx*2 - 0x5800]
xor dl, bl
rol byte [esp + ecx - 0x2bfe], 0xa7
cmovb cx, word [esp + ecx*4 - 0xaffb]
ror dl, 1
pop ecx
inc cx
jns 0x2505d74
mov ecx, 0x7084360b
lea ebp, [ebp + ecx - 0x7084360f]
mov edx, dword [ebp + ecx - 0x7084360b]
movsx eax, cl
not eax
sal al, 0xa6
xor edx, ebx
not ecx
push eax
dec edx
call fcn.015eb570
mov edx, ecx
fsub qword [edi]
mov eax, 0xb1b630ae
mov eax, dword [esi]
lea edx, [edx + edx*4 - 0x44456959]
sar ecx, cl
lea esi, [esi + edx*2 - 0x6c2c7ae0]
xor eax, ebx
jmp 0x246dfc6
mov cl, byte [edi]
bswap bx
mov al, byte [esi]
mov ebx, 0xa7b3bd0d
bswap ebx
movzx ebx, si
mov byte [ebp - 1], cl
mov ebx, 0xca88bd25
movzx ebx, dx
mov cl, dl
mov bh, 0xad
xchg bh, bl
setnp bh
inc esi
bswap ebx
inc edi
cmc
ror bh, cl
mov bh, 0x1a
mov ebx, 0x2522913c
clc
rol ebx, cl
dec cl
test bp, si
cmp edi, 0x1b3edfa9
add bl, dl
dec cl
xor al, bl
rcl cl, cl
mov cl, al
test eax, 0x4b02290
jmp 0x1504a85
je 0x1e31da7
cmp al, cl
je 0x17062b9
pop edi
bsr ebx, edi
rcr bl, cl
pop esi
bsf bx, bx
pop ebx
cmp esi, 0x389adcb8
cmp cl, al
jmp 0x24bce4a
mov esp, ebp
bswap ebp
pop ebp
jmp 0x15c7adf
dec eax
call fcn.02512289
rcr eax, cl
mov dword [edi + edx - 0x25f13d22], eax
add dx, dx
call fcn.024a99b2
mov eax, 0x9517c51a
shr al, 6
mov edx, dword [esi]
mov ecx, dword [esi + 4]
not al
call fcn.015988da
call fcn.02591d2d
call fcn.0252cdfd
xor byte [esp + 6], dl
sal dx, 4
dec al
not al
xor bl, al
xchg dword [esp + 4], ecx
lea eax, [esp + eax + 8]
lea ecx, [ecx + edx + 0x40806a0b]
add edx, dword [esp + ecx - 0x73811b38]
mov cx, word [eax + ecx - 0x73811b3c]
mov eax, dword [esp + 4]
sub esi, 2
or dx, word [esp + 6]
mov word [esi], cx
jae 0x24e7b6e
mov eax, 0xd89788af
mov ecx, 0x7a324102
lea edx, [eax + eax*8 - 0x51671ac6]
lea ebp, [ebp + ecx - 0x7a324106]
mov edx, dword [ebp + edx - 0x4becb361]
xor edx, ebx
rol edx, 1
neg edx
ror edx, 3
not edx
call fcn.02574043
sub esi, 4
mov ecx, 0x8ea66528
mov edx, dword [esi]
jmp 0x14c8cb6
sbb eax, eax
neg eax
mov esp, ebp
bswap ebp
pop ebp
jmp 0x14d336b
inc edx
cmp ax, 0xe706
cmp cl, 0x19
ja 0x247e829
add al, 0x20
mov cl, 0x37
cmp dx, bp
cmp edi, 0x1c202829
mov cl, byte [ebp - 1]
test edi, edx
neg bl
mov bl, cl
cmp esi, edi
cmp dl, 0xbb
test sp, 0x59d
sub bl, 0x41
cmp edx, 0xc60e548a
cmp bl, 0x19
jmp 0x14f4897
jbe 0x246ec43
or eax, 0xffffffff
jmp 0x24682b2
sbb ebp, 4
and dl, ah
sar eax, 0xaa
mov ecx, dword [ebp]
or edx, 0x51824119
xor ecx, ebx
xor ecx, 0x8a0c1091
xchg dword [esp + 2], eax
not byte [esp + 6]
inc dx
lea ecx, [ecx + edx - 0x405714ea]
jp 0x2537725
jmp 0x16642fe
add dl, 0x96
jmp 0x15e7716
ror eax, 0x96
call fcn.02436a12
neg eax
xchg byte [esp + ecx - 0x2c00], dl
push edx
add dl, ch
xor ebx, eax
not edx
add edi, eax
bswap edx
neg dl
lea eax, [edx*2 + 0x6dba5d90]
mov ax, word [esi + ecx - 0x2c00]
jns 0x166ce08
ror ecx, 1
not ecx
dec edx
xadd word [esp + 4], dx
ror ecx, 2
add ax, 0xc9a3
neg ax
xor ebx, ecx
xor eax, edx
not ax
adc edi, ecx
sub al, byte [esp + eax - 0x304846d4]
movsx ecx, al
pop eax
pop eax
jp 0x254429a
dec eax
inc dl
jmp 0x1504a6d
not cl
or al, ah
not dl
ror eax, 0x7e
and cl, dl
mov word [ebp], cx
bswap eax
call fcn.0251a88c
xor ecx, 0x1217130
neg ecx
xchg dword [esp + eax*4 - 0x3c], edx
lea ecx, [ecx + edx*4 + 0x2facdb57]
neg ecx
xor ebx, ecx
add esi, ecx
and byte [esp + edx - 0xf], dh
shr al, 1
mov edx, dword [edx + edi - 0xf]
mov ecx, dword [eax + edx - 7]
mov dword [edi + eax - 7], ecx
lea edx, [eax + 0x2a8b9f31]
sal ax, 0x22
call fcn.015dfde9
or ecx, ebx
dec ebp
lea esp, [esp + ecx*4 - 0x1a26b004]
inc ecx
and eax, edx
dec esp
xchg dword [esp + ecx - 0x689abe5], edi
push eax
dec ecx
mov dword [esp + ecx*2 - 0xd1357fe], edx
call fcn.023e7c2d
mov eax, 0x42b29529
ror eax, 0xbf
sub ebp, 1
movzx edx, ax
mov ecx, edx
movzx edx, byte [edx + ebp - 0x2a52]
add cx, 0xf1a7
neg eax
not ax
xor dl, bl
jmp 0x25753b2