Function at 0x17caaf4
Capabilities:
Encode data using xor

Disassembly:
jmp 0x17caafe
pushal
call 0x17cab04
pop ebp
sub ebp, 0x10
sub ebp, 0x13caaf4
jmp 0x17cab1a
mov eax, 0x13caaf4
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c5
mov edx, 0x610b38e0
xor byte [eax], dl
inc eax
dec ecx
jne 0x17cab31
test esi, esi
invalid
jmp 0x17cab44
imul ebp, dword [0xe0dc696b], 0xffffffe0
loopne 0x17cabae
imul ebx, esp, 0x61e0e0e0
loopne 0x17cab2c
popal
and dword [eax], ebx
loopne 0x17cab31
loopne 0x17cab36
sub eax, 0xe0e0e458
loopne 0x17cabb4
enter 0xffffffffffffe0e0, 0xffffffffffffffe0
pop ss
add ah, bl
sub byte [ebx + 0x61], ch
in al, dx
loopne 0x17cab47
loopne 0x17cab4c
jecxz 0x17cab8f
and eax, 0xc4846db0
mov al, 0x6d
test ah, al
sbb al, 0x69
in al, 0xc4
mov byte [eax - 0x771f2213], ch
dec edx
jge 0x17cab9a
loopne 0x17cab5e
loope 0x17cab4a
int3
les ecx, [eax + 0x3693576f]
or ch, ah
loopne 0x17cab68
loopne 0x17cab93
enter 0xffffffffffffe0e0, 0xffffffffffffffe0
mov ch, 0x6b
or al, 0x6b
call 0x6d5d8c78
imul ecx, dword [ebx + ebp*2], 0x65
call 0x6d5d8c78
jne 0x17cab86
loopne 0x17cab7c
loopne 0x17cac09
insd dword es:[edi], dx
invalid
and ah, ah
test eax, 0x1f1465ef
in al, 0xa9
out dx, eax
adc al, 0x1f
adc al, 0x1f
pop ds
pop ds
mov ebp, 0x6be0ec22
in al, dx
loopne 0x17cac22
insb byte es:[edi], dx
invalid
fucom st(0)
mov byte [edx + 0x7d], cl
pop ds
loopne 0x17caba9
int3
mov byte [ecx + 0x11], ah
sub eax, 0xd388ceff
sub dword [ecx + 0x12], esp
ret
daa
insd dword es:[edi], dx
popal
adc al, bl
das
ret
daa
insd dword es:[edi], dx
sal dword [edx], cl
arpl word [eax], cx
in eax, 0xa8
out dx, eax
scasb al, byte es:[edi]
loopne 0x17cabfc
loopne 0x17cac0d
push 0xe0e0e0a8
xchg byte [ebx - 4], ch
loopne 0x17cabaa
imul edi, esp, 0xffffffd9
pushal
sbb ecx, dword [eax]
out dx, eax
cld
fldenv [eax + 0x1b]
or bh, ch
cli
loopne 0x17cac0f
loopne 0x17cac91
sbb ecx, dword [ecx]
out dx, eax
int1
loopne 0x17cac18
loopne 0x17cabc0
popal
sbb ebx, dword [edi]
invalid
or ch, ah
or dword [ebx + 0x1f], ecx
pop ds
pop ds
mov ebp, 0xb5e0ec22
in al, dx
loopne 0x17cac25
imul ecx, dword [esi + esi*4], 0xffffffb7
mov ch, 0x6b
xchg ebp, eax
in al, dx
imul ebx, dword [ebp + 0x60521ce8], 0x6a
or al, 0xb6
mov bh, 0xb5
imul edx, dword [ebp - 0x17629414], 0x1c
push edx
call 0x6bdcfe9b
sbb al, 0x52
pushal
push 0xffffffffffffffe6
popal
out 0x61, al
loope 0x17cac64
loopne 0x17cac66
push 0xe12761e7
loopne 0x17cac6d
loopne 0x17cacea
pop ebx
loop 0x17cac71
loopne 0x17cac73
loop 0x17cacc7
out dx, eax
in eax, 0xe0
loopne 0x17cac7a
loopne 0x17cac7b
loopne 0x17cad06
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
arpl word [eax], di
mul byte [esi + 0x63ef32f2]
cmp byte [edi], bl
pop ds
pop ds
pop ds
loop 0x17cacda
out dx, eax
in eax, 0xe0
loopne 0x17cac8e
loopne 0x17cad19
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
mul byte [esi + 0x63ef32f2]
mov ah, al
loopne 0x17cac99
xor ch, bh
arpl word [edx - 0x2c1f1f20], cx
loopne 0x17cac98
loopne 0x17cac8d
shl dword [eax], cl
loop 0x17cacef
and dl, ah
xor ch, bh
out dx, eax
in eax, 0xe0
loopne 0x17caca3
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
xor ch, bh
arpl dx, cx
loope 0x17cacad
loopne 0x17cacb1
xor ch, bh
in eax, 0xe0
loopne 0x17cacb6
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
xor dh, bl
and dl, ah
xor ch, bh
in eax, 0xe0
loopne 0x17cacc5
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
and dl, ah
xor ch, bh
in eax, 0xe0
in eax, 0xe0
loopne 0x17cacd4
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
xor ch, bh
out dx, eax
in eax, 0xe0
loopne 0x17cace3
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and bh, ch
and bh, ch
out 0xe0, al
loopne 0x17cacf0
imul edi, dword [edi], 0xffffffcb
cmp byte [edx - 0x1d], ch
push 0xe25ba7e7
loopne 0x17cacfd
pop ebx
loop 0x17cacfc
loopne 0x17cacfe
loopne 0x17cad28
or dword [eax + 0x581f1f1f], edx
nop
pop ds
pop ds
pop ds
pop eax
loope 0x17cad06
loopne 0x17cad08
loop 0x17cad5c
out dx, eax
in eax, 0xe0
loopne 0x17cad10
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
and dl, ah
xor ch, bh
loop 0x17cad6b
out dx, eax
in eax, 0xe0
loopne 0x17cad1f
loopne 0x17cad1e
loopne 0x17cadaa
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
mul byte [esi + 0x62ef32f2]
pop ds
out dx, eax
bound edi, qword [esi]
pop ds
pop ds
pop ds
retf
aam 0xe0
loopne 0x17cad37
pop ecx
loope 0x17cad3a
loopne 0x17cad3c
loop 0x17cad90
out dx, eax
in eax, 0xe0
loopne 0x17cad44
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
sub edx, esp
xor ch, bh
loop 0x17cad9f
out dx, eax
in eax, 0xe0
loopne 0x17cad53
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
xor ch, bh
bound edi, qword [esi]
pop ds
pop ds
pop ds
mov dh, 0x6b
pop ss
retf
out 0xa6, al
imul ecx, dword [eax], 0x59
loope 0x17cad77
loopne 0x17cad79
loop 0x17cadcd
out dx, eax
in eax, 0xe0
loopne 0x17cad81
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor dh, bl
sub edx, esp
xor ch, bh
mul byte [esi + 0x29f332f2]
loop 0x17caddc
out dx, eax
in eax, 0xe0
loopne 0x17cad90
push 0xfffffffffffffff6
cmpsb byte [esi], byte es:[edi]
xor ch, bh
bound edi, qword [esi]
pop ds
pop ds
pop ds
popal
sbb al, ah
popfd
loopne 0x17cada1
popal
cmp dword [edi], ebx
pop ds
pop ds
pop ds
popal
sbb al, ah
in eax, 0xe0
loopne 0x17cae2f
popal
cmp dword [edi], ebx
pop ds
pop ds
pop ds
popal
sbb byte [eax - 0x20], ah
loopne 0x17cadb9
popal
xor eax, esp
loopne 0x17cadbe
loopne 0x17cae41
sbb byte [eax - 0x20], ah
loopne 0x17cadc5
popal
xor eax, esp
loopne 0x17cadca
loopne 0x17cada2
mov dh, 0x6b
pop ss
retf
imul edx, dword [edi], 0xffffffcb
adc byte [ebx], dl
inc esp
mov esi, 0x1f1e7b09
adc eax, dword [esi + edi*4 + 9]
jnp 0x17cae14
pop ds
pop ds
push 0xffffffffffffffe6
cmpsb byte [esi], byte es:[edi]
out 0xa6, al
shr dword [ecx], cl
and byte [eax], cl
loope 0x17cadf0
cli
loopne 0x17cade5
loopne 0x17cae68
xor edx, esp
loopne 0x17cadeb
loopne 0x17cae78
or byte [esi + 0x10cb176b], dh
adc eax, dword [esi + edi*4 + 0x5b]
loope 0x17cadf9
inc esp
mov esi, 0xe0e0e15b
loopne 0x17cae25
loopne 0x17cadfb
or dword [ebx - 0x42e0e0e2], edx
xchg ebx, eax
push ds
pop ds
pop ds
mov ebp, 0x6be89dcb
retf
daa
mov edi, 0xbd056bbe
and ch, al
loopne 0x17cae9a
fadd st(4), st(0)
insd dword es:[edi], dx
test ah, al
in al, 0x6b
aam 0xc4
insd dword es:[edi], dx
test ah, al
in al, 9
in al, 0xe0
loopne 0x17cae21
les ebp, [ebp - 0x7c]
invalid
jecxz 0x17cae5c
jl 0x17cae07
pop eax
adc al, 0x4a
fsubr st(1), st(0)
jecxz 0x17cae71
popal
and byte [edi + 0x59e0e0e3], dl
jp 0x17cae37
loopne 0x17cae37
pop edx
mov dword [ebp - 0xf2f61c7], edx
sal al, 1
mov al, byte [0x1665efa9]
push ss
pop ds
pop ds
pop ds
or esp, esp
loopne 0x17cae4a
loopne 0x17cae09
pop ds
or al, 0xe
ja 0x17cae80
push cs
jle 0x17cae76
invalid
push cs
jle 0x17cae7b
add dh, byte [0x898929be]
xor eax, 0x898929be
sub dword [ecx + 0x778a8989], ecx
invalid
mov dword [edx + 0x2d2df77], ecx
ja 0x17cae61
rol byte [edx], cl
iretd
mov dword [esi - 0x767630f3], eax
mov dword [edx - 0x7eb1f7a1], ecx
mov dword [ecx - 0x7e9ff777], ecx
mov dword [ecx - 0x768ff777], ecx
mov dword [ecx + 0x5d0d8689], ecx
jbe 0x17caf30
or dword [ecx + 0x70088989], 0x89898989
xchg byte [0x7676765d], cl
out dx, eax
jbe 0x17caeab
add cl, byte [esi + 0xa856148]
imul eax, dword [esi - 0x76758ef8], 0xc868989
test byte [ecx + 0x2ef8989], cl
mov cs, word [eax]
imul esi, dword [esi - 0x7a], 0x4b8a8989
mov byte [ecx + 0x4e0ac0c0], dl
mov esp, dword [eax + 0x41]
jbe 0x17caf5c
jbe 0x17caf48
lea ecx, [ecx - 0x20fe7677]
mul ch
xor dword [ebp + 0x23], edi
mov ch, 0x88
mov cl, byte [eax + ecx + 0x49]
stosd dword es:[edi], eax
lea ecx, [ecx - 0x7799cf77]
mov dword [ecx - 0x7c2910cd], ecx
xchg edi, eax
mov ecx, 0x86c0c999
or al, 0x7f
jbe 0x17caf86
jbe 0x17caf72
lea ecx, [ecx - 0x44bd7677]
mov word [eax + ebp*2], gs
sbb byte [eax + ebx*4 - 0x2d], ah
push 0xd8536418
outsd dx, dword [esi]
out dx, eax
out dx, eax
out dx, eax
in al, dx
adc dword [eax + edx*4 - 0x1d], ebp
out dx, eax
loopne 0x17caf9b
pop edx
out dx, eax
out dx, eax
out dx, eax
test al, 0xe3
in al, dx
sub dword [edx - 0x75], esp
retf
retf
out dx, eax
out dx, eax
out dx, eax
out dx, eax
loopne 0x17cafb8
jecxz 0x17caf3f
out dx, eax
out dx, eax
test al, 0xe3
in al, dx
sub dword [edi - 0x3d9085f0], edi
adc bh, ch
insb byte es:[edi], dx
nop
jecxz 0x17caf51
loopne 0x17cafcf
outsb dx, byte [esi]
out dx, eax
out dx, eax
out dx, eax
insb byte es:[edi], dx
nop
out dx, eax
out dx, eax
loopne 0x17cafd8
in eax, 0xef
out dx, eax
out dx, eax
insb byte es:[edi], dx
nop
invalid
push 0xff926412
adc ah, byte [edx + edx*4 - 1]
push 0x6c01ec12
xchg edx, eax
out dx, eax
out dx, eax
loopne 0x17cafff
imul edx, eax, 0xffffffef
shr bh, 1
out dx, eax
out dx, eax
mov byte fs:[0xe4bdbfef], al
loopne 0x17cb007
mov edi, 0xe026e4bd
jmp 0x17d9f93
jmp 0xc06c9f95
jecxz 0x17caf85
mov edi, 0xc2977d10
adc bh, ch
mov ch, 0x66
stosb byte es:[edi], al
out dx, eax
jmp 0x17caf93
out dx, eax
out dx, eax
out dx, eax
push es
pop eax
adc byte [eax], dl
adc byte [ebx + eax*8 - 0x35], ah
bound ecx, qword [ebx + 0x286eebcb]
sti
out dx, eax
out dx, eax
out dx, eax
push es
scasb al, byte es:[edi]
adc byte [eax], dl
adc byte [ebx - 0x1025ef75], bh
out dx, eax
out dx, eax
out dx, eax
xchg ecx, ebp
pop esi
shr esi, cl
mov edx, 0x9f6479b9
sar dword [ecx + 0x64], cl
imul ebx, edi, 0xffffffc7
ret
ffreep st(7)
out dx, eax
out dx, eax
out dx, eax
in al, dx
sub dword [eax], edx
btc dword [edi - 0x7e553076], eax
xchg byte [eax - 0x4030717e], cl
popfd
sbb byte [ebx - 0x7f647376], 0x9d
iretd