Function at 0x10178da0
Capabilities:
Encode data using xor

Disassembly:
xor dword [ebx], 0xf2a1a734
and al, 0x24
les esp, [edi + ebx]
xor al, 0xa7
mov eax, dword [0xc42424f2]
and al, 0x1f
and dl, byte [edx]
sub ch, byte [ebx + 0x343381e8]
xor al, 0xa7
mov eax, dword [0x35242cf2]
loopne 0x10178d9e
in eax, 0x2f
das
sub dh, byte [ebx + 0x6a]
sbb eax, 0x246a6867
adc dl, byte [eax - 0x49]
arpl word [ebx - 0x446aa09a], si
adc dword [esi + ebx + 0x40], 0x70
xchg ecx, eax
sbb eax, 0x63a75012
mov bl, 0x66
stosd dword es:[edi], eax
call 0xf8c2c15f
xor dword [ebx], 0xd1a1a734
xor al, 0xa7
mov eax, dword [0xd284ded1]
adc edx, edi
sub ebx, dword [ecx]
or bh, bl
sbb esi, dword [ebp + 0x3e802f66]
mov edi, ds
sbb esi, dword [ebp - 0x2df79d9a]
int1
bound ecx, qword [eax]
sal cl, cl
xor al, 0x24
inc edx
mov ah, 0xb7
jb 0x10178e22
invalid
inc eax
mov ah, 0xc7
cmpsd dword [esi], dword es:[edi]
movsd dword es:[edi], dword [esi]
jbe 0x10178e4f
invalid
jno 0x10178db8
test al, 0x30
outsb dx, byte [esi]
or ecx, dword [edi - 0x75]
out 0xb6, al
cmpsb byte [esi], byte es:[edi]
popal
mov cl, 0x66
ficomp word [ebx]
mov ch, 0xea
mov dword [0xcbb44030], eax
lahf
scasb al, byte es:[edi]
jbe 0x10178e9a
dec ebx
inc eax
lodsb al, byte [esi]
mov bh, 0x5d
jl 0x10178df8
fistp dword [0x9cdf66b5]
fistp word [esi + ebp*4 - 0x4ae41099]
fdiv st(1)
cmpsb byte [esi], byte es:[edi]
add eax, 0xd8dd6263
xchg ecx, eax
mov eax, dword [0x6263759f]
adc al, 0xd5
invalid
pushfd
scasb al, byte es:[edi]
out dx, eax
sbb esi, dword [ebp + 0x5a6f1d8]
arpl word [edx - 0x23], sp
fcom dword [ecx + 0x63759fa1]
bound edx, qword [edx*8 + 0x77a6fcdd]
mov eax, 0xeb41042f
loopne 0x10178e8d
cld
cmpsb byte [esi], byte es:[edi]
ja 0x10178e24
das
add al, 0x41
jmp 0x10178e51
cmp byte [ebx], ch
out 0xa6, eax
add bl, byte [ebx + 0x6a]
loop 0x10178e8e
retf
call 0xb74bc213
mov eax, dword [0xd284ded1]
adc edx, edi
sub ebx, dword [ecx]
xor dword [ebx], 0xd1a1a734
fiadd word [edx + edx*8 + 0x192bfa11]
sbb dword [eax], ecx
fistp word [ebx]
mov ch, 0x66
das
cmp byte [esi], 0x8c
fistp word [ebx]
mov ch, 0x66
or bh, bl
sbb esi, dword [ebp + 0x3e802f66]
mov edi, ds
sbb esi, dword [ebp - 0x2df79d9a]
int1
bound ecx, qword [eax]
sal cl, cl
xor al, 0x24
inc edx
mov ah, 0xb7
jb 0x10178ed2
push 0xffffffffffffffc7
xor ebp, eax
fsubrp st(3)
cli
invalid
inc eax
mov ah, 0xc7
cmpsd dword [esi], dword es:[edi]
movsd dword es:[edi], dword [esi]
jbe 0x10178eff
jno 0x10178e68
test al, 0x30
outsb dx, byte [esi]
or ecx, dword [edi - 0x25]
in eax, 0xb6
cmpsb byte [esi], byte es:[edi]
popal
mov cl, 0x66
ficomp word [ebx]
mov ch, 0xea
mov dword [0xcbb44030], eax
lahf
scasb al, byte es:[edi]
jbe 0x10178f4a
dec ebx
inc eax
lodsb al, byte [esi]
mov bh, 0x5d
jl 0x10178ea8
fistp dword [0x9cdf66b5]
scasb al, byte es:[edi]
out dx, eax
sbb esi, dword [ebp + 0x5a6f1d8]
arpl word [edx - 0x23], sp
fcom dword [ecx + 0x63759fa1]
bound edx, qword [edx*8 + 0x77a6fcdd]
mov eax, 0xea91042f
loopne 0x10178f3d
fistp word [esi + ebp*4 - 0x4ae41099]
fdiv st(1)
cmpsb byte [esi], byte es:[edi]
add eax, 0xd8dd6263
xchg ecx, eax
mov eax, dword [0x6263759f]
adc al, 0xd5
invalid
cmp byte [ebx], ch
out 0xa6, eax
add bl, byte [ebx + 0x6a]
loop 0x10178f3e
retf
call 0xb74bc2c3
xor dword [ebx], 0xd1a1a734
fiadd word [edx + edx*8 + 0x192bfa11]
sbb dword [eax], ecx
fistp word [ebx]
mov ch, 0x66
das
cmp byte [esi], 0x8c
fistp word [ebx]
mov ch, 0x66