Function at 0x40f3eb
Capabilities:
Encode data using xor

Disassembly:
dec edi
cmpsb byte [esi], byte es:[edi]
adc edx, dword [ebx]
out 0x18, eax
insb byte es:[edi], dx
in al, dx
in al, dx
mov ecx, 0xbabb65d6
salc
mov cl, 0x15
sal byte [ebx + 0x15], cl
xlatb
mov cl, 0x6d
and esi, edx
popfd
adc edx, dword [ebx]
adc edx, dword [ebx]
salc
xchg edx, eax
and edx, eax
adc edx, dword [ebx]
adc edx, dword [ebx]
salc
mov cl, 0x17
salc
mov ebp, 0x6da5d615
salc
mov byte [0xbe63ec6d], al
div dword [edx + 0x17]
adc edi, dword [edi]
mov edi, 0xec0111d0
arpl word [ecx - 0x44449a2a], di
mov edx, 0xd621b838
mov dword [ebx], edx
adc edx, dword [ebx]
adc edx, edi
test eax, 0x6fb1f06d
shr byte [edx + 0x33], 1
adc esp, dword [esi]
adc ebp, esp
test eax, 0x6fa9ec15
in al, dx
test eax, 0x9eaf6717
xchg ebx, eax
adc edx, esi
mov cl, 0x15
salc
xor edx, dword [ecx]
shl byte [ebx - 0x13], cl
salc
mov ch, 0x15
xlatb
mov bl, 0x11
and esi, edx
lea edx, [ebx]
adc edx, dword [ebx]
adc edx, esi
mov ebp, 0x218ed76d
xlatb
and edi, edx
popfd
adc edx, dword [ebx]
adc edx, dword [ebx]
mov esp, 0x72f7be3c
pop ss
adc edi, dword [ecx + 0x65d265d6]
pop ss
mov edx, 0xd76db838
mov cl, 0x6d
mov dh, byte [ebx + 0x3b]
cmp edi, dword [ebx]
in al, dx
test eax, 0x19a9ec6d
in al, dx
test eax, 0x15a9ec1b
in al, dx
test eax, 0xa80c6717
adc edx, dword [ebx]
sal byte [ecx + 3], cl
xlatb
mov cl, 0x6f
mov esp, 0xb1d6be3c
outsd dx, dword [esi]
salc
loope 0x40f2a2
cmp byte [ebp - 0x2a], ch
sub dword [ecx], eax
adc eax, 0x8a1734d6
je 0x40f359
cmp al, 0xeb
in al, dx
in al, dx
adc edi, dword es:[eax]
in al, dx
sub byte [ecx], bl
in al, dx
sub byte [0x29ec1326], dl
add dword [ecx], eax
in al, dx
sub byte [ebx], bl
in al, dx
sub dword [ecx], eax
add dword [edi - 0x6e], esp
test al, 0x13
adc edx, edx
jno 0x40f317
cmp al, 0xf2
mov ecx, 0x65d265d6
invalid
salc
shl byte gs:[ebp + 0xf], cl
mov edx, 0x8217add3
xchg ebx, eax
adc edx, dword [ebx]
test eax, 0xeacc4f1a
xor edx, dword [ebx]
salc
mov ch, 0x15
xlatb
xchg ebx, eax
mov dh, byte [ebx + 0x33]
out 0x4b, eax
adc edx, dword [ebx]
adc edx, edx
mov eax, dword [0xb1f0137f]
jge 0x40f326
dec edi
int3
ljmp 0x32fe:0x6fc31333
xlatb
mov cl, 0x67
salc
mov cl, 0x1d
xlatb
mov cl, 0x65
salc
mov cl, 3
xlatb
mov cl, 0x6b
shl byte [ecx - 0x5e2dec97], cl
outsd dx, dword [esi]
adc edx, edx
mov eax, dword [0xa1d7136d]
imul edx, edi, 0xc3216fa5
adc edx, dword [ebx]
adc edx, dword [ebx]
xlatb
mov cl, 0x7f
aad 0xb1
jg 0x40f3a8
ret 0x1313
adc edx, dword [ebx]
xlatb
mov cl, 0x79
aad 0xb1
jne 0x40f3ec
salc
mov cl, 0x17
in al, dx
or ebp, esp
mov ecx, 0xd2bfbf79
mov eax, dword [0xadd21377]
insd dword es:[edi], dx
adc ebp, dword [ecx]
cwde
and esi, edx
popfd
adc edx, dword [ebx]
adc edx, dword [ebx]
salc
xchg edx, eax
salc
mov ebp, 0x2192d77f
xlatb
popfd
adc edx, dword [ebx]
adc edx, dword [ebx]
out 0x97, al
salc
mov cl, 0x7f
and edx, eax
adc edx, dword [ebx]
adc edx, dword [ebx]
salc
mov cl, 0x77
mov esi, 0xd6b9f2f7
salc
mov ebx, 0xb1d66dba
adc eax, 0x8a1737d6
mov ch, 0x15
mov ecx, 0xd6ecec6b
mov cl, 0x17
salc
xor edx, dword [ecx]
shl byte [ebx + 0x20], cl
sub dword [ebx - 0xfea4e2a], ebx
xor eax, dword [ecx]
xchg ebx, eax
adc edx, dword [ebx]
adc ecx, dword [edx + 0x25e63373]
out 0x26, al
xchg ebx, eax
salc
mov cl, 0x15
in al, dx
sub ebx, dword [edi]
salc
mov cl, 0x15
in al, dx
sub ebx, dword [ecx]
salc
mov cl, 0x15
in al, dx
sub edx, dword [0xa9ec1326]
sbb edx, esi
mov cl, 0x15
in al, dx
sub ebx, dword [ebx]
in al, dx
test eax, 0xa97a6717
adc edx, dword [ebx]
sal byte [ecx + 3], cl
salc
mov cl, 0x15
shr byte [edi], cl
add dword [ebx], edx
test eax, 0x17a9ec96
in al, dx
test eax, 0x6c916715
insb byte es:[edi], dx
in al, dx
in al, dx
adc esp, dword es:[esi]
adc esp, dword [esi]
adc esp, dword [esi]
adc esp, dword [esi]
adc edx, ebp
mov cl, 0x6d
cmp esp, dword [edi]
adc byte [ebx - 0x3e98eced], 0x6c
in al, dx
in al, dx
sal byte [ecx + 0x1d], cl
salc
mov cl, 0x6d
salc
mov ebp, 0x1da2d615
salc
cmpsb byte [esi], byte es:[edi]
add ebp, esp
arpl word [edx - 0x841cc8d], cx
mov ecx, 0xbabb65d6
cmp byte [eax - 0x29e8522a], bh
xor edi, dword [esi - 0x29460d09]
mov ebx, 0xd6b838ba
lodsd eax, dword [esi]
pop ss
salc
mov al, 0x1b
salc
test al, 0x15
xlatb
mov cl, 0x6d
salc
jl 0x40f484
test edx, edx
insb byte es:[edi], dx
in al, dx
test eax, 0x28de6791
adc edx, dword [ebx]
salc
mov ch, 0x6d
xor al, 0xd6
jo 0x40f456
jae 0x40f4cb
xchg edx, eax
salc
mov ch, 0x1b
invalid
pop ss
xlatb
test eax, 0x15add217
adc ebp, dword [ebp + 0x19b1d676]
xor bh, dl
or edx, esi
mov cl, 0x1f
xlatb
pop ds
invalid
pushal
mov eax, 0
mov bl, byte [eax + section..text]
rol bl, 0xf0
ror bl, 0x4a
xor bl, 0xc4
ror bl, 0x9d
mov byte [eax + section..text], bl
inc eax
cmp eax, 0x2319b
jne 0x4241a1
popal
jmp 0x40f21d