Function at 0x96e143
Capabilities:
Encode data using xor

Disassembly:
retf 0x2ab2
xor bh, byte [ebx - 0x5a]
aam 0x80
aam 0x4f
in al, dx
xor eax, 0x1d6680fc
imul esp, dword [esp + esi], 0x512ca2d1
xchg edx, eax
xor ch, 0x62
xchg edi, eax
add eax, 0x99e31eee
dec esp
xor byte [edx + edx*8 + 0x3e839923], bl
arpl bp, sp
xor al, 0x8f
das
int1
mov byte [0x1d052c6a], al
fist word [edx]
mov dl, 0x2a
jne 0x96e127
push eax
aad 0x43
jb 0x96e09a
dec ebp
add byte [eax - 0xa7bbd1e], bl
mov eax, 0x9633fb4a
stc
cmp bl, dh
and eax, 0xb8d62ac
sbb esi, 0x2c34fd0b
or edi, ebp
xor al, 0x2c
add eax, 0x1fac6c1a
push 0x654babb9
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push eax
mov cl, 0xa7
outsb dx, byte [esi]
cli
adc ecx, dword [0x63e5e009]
loopne 0x96e11a
arpl ax, sp
in al, 0x84
add al, byte [ecx + 0x58]
test byte [edx], al
inc ecx
pop eax
or byte [edi], ah
jo 0x96e0ef
pushal
sbb byte [0x73e85733], cl
call 0x9862bb
sbb byte [ecx + 0x44], cl
xor edx, dword [edi - 0x18]
jae 0x96e0c7
call 0x9862bb
add dword [eax], eax
sbb byte [ecx + 0x44], cl
lcall 0x7440, 0x60f0540a
stosb byte es:[edi], al
cmp al, byte [esi - 0x4d]
pop ebp
je 0x96e1b1
push esp
invalid
jno 0x96e1b2
fisub dword [edx - 0x71]
mov dword [0x3ada2711], eax
fild word [ebp - 0x2ec31ab9]
jecxz 0x96e14d
jnp 0x96e133
add al, 0xac
loope 0x96e104
popfd
insd dword es:[edi], dx
mov ds, ebx
and al, 0x9d
mov ah, 0x2c
push cs
and dword ss:[edi - 0x25], 0xffffff8e
test dword [ebx + ecx*8 - 0x52], 0xe614bb4f
and bl, al
loope 0x96e141
pop edi
test dword [ecx + 3], ecx
lcall 0x6ba0, 0xefec2b2
jecxz 0x96e199
and al, bh
or eax, 0x84287d7c
int3
inc ebx
sub edi, dword [ebx]
mov bh, 0xdd
or dword [ebp - 0x51], ebp
jno fcn.0096e143
mov ebx, 0x4b6da691
rcl dword [ebx + 0x3526b911], 0xd5
test bh, bl
cmp ebp, eax
xchg edx, eax
sbb al, byte [eax - 0xa7088be]
cmpsd dword [esi], dword es:[edi]
pop esp
mov ecx, 0x47f9e887
in al, 0x39
jl 0x96e22a
and ebp, esi
dec edx
fdivr dword [ecx]
jg 0x96e188
daa
adc bh, bl
and eax, 0x966199b0
mov ebp, 0x31e89b0d
rcl al, 1
mov esp, esi
bound ebx, qword [ecx + ebp*2 - 0x10]
cdq
out dx, eax
or dword [eax + esi*8 + 0x34], edx
jge 0x96e26d
enter 0x3df1, 0x17
cdq
adc esp, dword [ecx - 0x2c6a73b0]
loope 0x96e23d
add ah, byte [edx]
rcl byte [esi - 0x55], cl
mov edi, 0x56ca4fdd
ret
fldenv [ebx + 0x50]
imul edi, dword [esi - 0x51413ea3], 0x5be44dfe
sar dword [esi - 0x1bb20152], 0x5b
movsb byte es:[edi], byte [esi]
and eax, 0x1494798b
invalid
adc dword [ecx], ecx
push eax
jbe 0x96e1df
jne 0x96e224
invalid
or eax, 0xdcf895b7
or eax, 0x8b45b00d
outsb dx, byte [esi]
push esi
jne 0x96e205
add byte [ecx - 0x6224d0d5], ah
les esp, [esi - 0x2e0f2754]
outsd dx, dword [esi]
mov esp, 0x71f70613
pushfd
mov ah, 0x4d
xor ebx, dword [ebp + edi + 0x5f011060]
mov edx, 0x1911e286
push ds
push ebx
in eax, 0xfc
in eax, 0x44
js 0x96e2db
outsd dx, dword [esi]
mov eax, 0x9604a411
add dword [ecx + 0x29], esp
shr byte [eax - 0xe], 0xe4
sub ebp, dword [esp + ebx*4 + 0x42474ff]
sbb dword [edi], esi
add byte [ebx + 0x68], dh
insb byte es:[edi], dx
insb byte es:[edi], dx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [ebx - 0x160adb86], cl
mov edi, dword [edx + 0x24]
cmc
jmp 0xce0e17
jmp 0x991a7f
push eax
movsb byte es:[edi], byte [esi]
mov bh, 0x28
or dword [eax + esi*8 - 0x12], edx
into
push ds
push edx
outsd dx, dword [esi]
push ebp
scasd eax, dword es:[edi]
invalid