Function at 0x40f2e6
Capabilities:
Encode data using xor

Disassembly:
or dword [ebx - 0x5e63630f], 0x6363435e
in eax, dx
add dword [esi + 0x1d34edf6], esi
in al, dx
test byte [0x100334ad], bl
in eax, dx
aas
pushfd
pushfd
pushfd
pushfd
in eax, dx
cld
adc al, ch
pushfd
pushfd
pushfd
pushfd
in eax, dx
xor al, 0x9d
in eax, dx
aaa
sbb eax, 0xed0331ed
lock add esp, dword [ebx - 0x80]
mul dword [ebp - 0x6863623c]
mov bh, 0x6c
sbb al, 0x18
arpl word [eax - 0x49fe12ca], ax
mov dh, 0xf6
push esi
jbe 0x40f277
in eax, dx
cmp bl, byte [esp + ebx*4 + 0x32ad9c9c]
add esp, dword [esp + esi - 0x7d]
xor al, 0x83
insb byte es:[edi], dx
ret 0x9c94
rcr dword [ebx + 0x32631d32], 1
and dword [ebx + 0x32], 0xffffff9d
xor dword [ebx - 0x12634301], 0x94ed1d34
sbb al, 0xec
and byte [ebx], 0xed
xor eax, 0x1cb4ad1d
adc ch, ch
cmp ebx, dword [esp + ebx*4 + 0x37ed9c9c]
add ebp, dword [ebp + 0x3fad10fb]
pushfd
pushfd
pushfd
pushfd
ja 0x40f302
mul dword [ebp + 0x369c9dc4]
in eax, dx
add esp, ebp
add dword [ebp + 0x37656f6], ebx
lodsd eax, dword [esi]
xor al, 3
cli
test byte [esi + 0x32639696], dl
add esp, dword [ebx + 0x32]
push ds
arpl word [edx], si
sahf
arpl word [edx], si
sbb eax, 0x819d3263
pop ebx
jb 0x40f271
pushfd
in al, dx
add al, 0x98
lodsd eax, dword [esi]
xor al, 0x83
ja 0x40f335
imul ebp
xor al, 0x83
in eax, dx
and byte [edi], dh
in al, 0x56
add ebp, ebp
adc bl, byte [eax]
sbb eax, 0xfa9d55ed
inc ebp
adc dword [edi - 0x5e], 0x9cd16363
push esi
arpl word [edx + 0x1e], dx
arpl word [edx + 0x1d], dx
rcr dword [ebx + 0x63181812], 1
push edx
adc bl, byte [eax]
sbb byte [ebx + 0x52], ah
sahf
arpl word [edx], dx
sbb byte [eax], bl
cmp esp, 0xec9c9c72
add al, 0x98
push edi
in al, 0x36
in eax, dx
add esp, ebp
add dword [ebx - 0x62cc530a], ebx
clc
mov esp, 0xde329c9c
pushfd
xor bl, dh
mov ebp, dword [ebx - 0x1e]
xchg esp, eax
pushfd
in eax, dx
xor eax, 0xfabcad1d
test byte [ecx - 0x63636376], dl
pushfd
pushfd
pushfd
in al, dx
xor byte [edi + 0x734649c], al
loope 0x40f323
xchg esp, eax
pushfd
test al, 0x83
out 0xd4, eax
pushfd
sub eax, 0xa4fa8735
lodsd eax, dword [esi]
xor al, 0x80
in eax, dx
xor al, 0x9f
lodsd eax, dword [esi]
xor al, 0
in eax, dx
xor al, 0x1d
lodsd eax, dword [esi]
xor al, 0x81
in eax, dx
xor al, 0x1f
lodsd eax, dword [esi]
xor al, 1
in eax, dx
xor al, 0x98
lodsd eax, dword [esi]
xor al, 0x82
in al, dx
xor byte [edx], al
pushfd
in al, dx
xor byte [ebx + 0x330ec9c], al
pushfd
lodsd eax, dword [esi]
xor byte [edx], al
lodsd eax, dword [esi]
xor dword [ebx - 0x636357f0], eax
pushfd
pushfd
lodsd eax, dword [esi]
xor al, 0x87
sub eax, 0xe8108734
pushfd
pushfd
pushfd
pushfd
xor al, 0x85
mov esp, 0xed9c9c9c
xor al, 0x9d
lodsd eax, dword [esi]
xor al, 5
in eax, dx
xor al, 0x9e
lodsd eax, dword [esi]
xor al, 0x86
sbb dword [edx + ebx*8 - 0x73126364], 0x9c9c9c8c
lodsd eax, dword [esi]
xor al, 6
sub eax, 0xed960534
xor al, 0x9d
arpl word [edx - 0x48f9c99d], bx
mov bh, 0xec
xor byte [ebp + 0x333ec9c], al
pushfd
adc bh, byte [esi + 0x10]
in eax, dx
aas
pushfd
pushfd
pushfd
pushfd
in eax, dx
cld
in eax, dx
aaa
xchg dword [ebp + 0x3fad10fc], ebp
pushfd
pushfd
pushfd
pushfd
loope 0x40f399
in eax, dx
xor al, 0x87
adc al, ch
pushfd
pushfd
pushfd
pushfd
in eax, dx
xor al, 0x85
mul dword [ebp + 0x1ed36e4]
mov dh, 0xf6
add ebp, ebp
xor al, 0x1d
in eax, dx
xchg ebp, eax
popfd
cli
in eax, dx
add dword [esi + 0x34ed03f6], esi
sbb eax, 0xfa9d95ed
xor eax, 0x8236811d
arpl word [ebx - 0x13], sp
xor al, 0x9d
in eax, dx
xchg esp, eax
sbb al, 0xec
adc byte [eax + 0x12], 0xbe
in eax, dx
xor al, 0x1d
xchg esp, eax
sbb byte [esp + ebx*4 - 0x7b056364], bh
xchg esp, eax
loope 0x40f42a
loope 0x40f3ec
sar dword [ebp + ebp*8 - 0x6d9ce2cc], 1
lahf
in eax, dx
xor al, 0x1d
arpl word [edx + 0x1d34ed1e], dx
xor al, 0x1d
arpl word [edx + 0x639cd11d], dx
xor bl, byte [esi + 0x631d34ed]
xchg edx, eax
sahf
arpl word [edx], si
popfd
add esi, 0xec9c9c32
add al, 0x98
in eax, dx
xor al, 0x1d
in al, dx
xchg ebx, eax
sbb byte [edx + esi - 0x62cd9c03], bl
arpl word [edx], si
sbb eax, 0x63433c81
arpl cx, dx
pushfd
rcr dword [ecx + edx*8 - 0x2e632e64], 1
pushfd
sub eax, 0x91960334
clc
mov esp, 0x28819c9c
inc ebx
arpl word [ebx - 0x14], sp
add al, 0x1f
in eax, dx
xor al, 3
in eax, dx
aaa
sbb eax, 0xed1ff0ed
int1
cwde
arpl word [eax - 0x86b7b06], ax
movsd dword es:[edi], dword [esi]
in al, 0x36
in eax, dx
add dword [esi - 0x1289a90a], esi
xor ebx, dword [ebp - 0x12618b13]
jb 0x40f4b5
lodsd eax, dword [esi]
xor al, 3
in eax, dx
inc edi
loope 0x40f4d8
in al, dx
inc ebx
arpl word [edx], si
cmp al, 0x81
out dx, eax
push edx
pushfd
pushfd
in eax, dx
xor eax, 0x44ed5503
int1
test byte [esi], bl
cld
movsb byte es:[edi], byte [esi]
in eax, dx
xor eax, 0x1c95bb9e
xor edi, dword [ebx + edi*8]
xchg ebp, eax
popfd
push ebx
cmp al, 0xec
inc ebx
arpl word [edx], si
mov ebp, 0xed1d3563
aaa
popfd
lodsd eax, dword [esi]
xor bl, byte [ebp - 0x63e2cc14]
xor eax, ebp
in eax, dx
xor al, 0x1e
push esp
lodsd eax, dword [esi]
lcall 0xfb9f, 0xad9f34ed
ja 0x40f500
jb 0x40f501
sti
loop 0x40f53a
cmp al, 0x81
push esi
push edx
pushfd
pushfd
in eax, dx
inc esp
int1
test byte [esi], bl
cld
xor al, 3
ja 0x40f54f
mul dword [ebp + 0x1814ede4]
popfd
push esi
in eax, dx
adc bl, byte [eax]
popfd
lodsd eax, dword [esi]
pop esp
sub dword [edi - 0x12636366], 0x9c9c8f8c
pushfd
lodsd eax, dword [esi]
push esp
sbb al, 0x81
in eax, dx
lcall 0x9c8f, 0x8aad9c9c
pushfd
pushfd
in eax, dx
inc esp
push edi
in al, 0x81
adc ebx, dword [edx - 0x73126364]
invalid
sbb al, 0x2c
test byte [edx], dh
mov byte [0x84fae494], al
in al, 0x56
adc edi, 0xed9c9c9a
adc bl, byte [eax]
popfd
sti
mov cl, byte [edi + 0x329c9c9c]
sahf
xor dword [ebp - 0x12636366], 0x8dad1c55
invalid