Function at 0x40f2e6
Capabilities:
Encode data using xor

Disassembly:
stc
leave
jbe 0x40f282
popal
clc
jae 0x40f230
or cl, byte [edx]
mov ah, 0xd6
std
mov al, 0xae
salc
movsb byte es:[edi], byte [esi]
pop ebp
fisub word [ecx]
pop ebp
fsub dword [ebp + ecx + 0x616cd685]
and dword [ebp - 0x28], ebx
movsb byte es:[edi], byte [esi]
or eax, 0x616cd685
popal
popal
popal
salc
pop esi
test dword [esi + 0x61616161], edi
salc
movsb byte es:[edi], byte [esi]
pop ecx
salc
lodsb al, byte [esi]
pop ebp
salc
jl 0x40f25a
salc
jle 0x40f25d
or al, byte [ecx]
cmpsb byte [esi], byte es:[edi]
sbb byte [edi], bl
pop ecx
popal
test eax, 0x4565e2a8
inc ebp
or al, byte [ecx]
mov ah, 0xd6
std
mov al, 0xb0
scasb al, byte es:[edi]
add dword [esi + edx*8 - 0x514f4f03], esi
mov bl, 0xb2
test esi, edx
push esp
popal
popal
popal
popal
fcom dword [ebp + ecx - 0x1df65bde]
pop fs
popal
ja 0x40f2da
or dl, byte [ebp + ebx*2 + 0xa09940a]
xchg esp, eax
pop ecx
stc
mov byte [esi + 0x60], ah
popal
salc
movsb byte es:[edi], byte [esi]
pop ebp
salc
mov eax, dword [0xc01de65]
salc
pushfd
pop ebp
fsub dword [eax + 0x4cd68565]
popal
popal
popal
popal
salc
lodsb al, byte [esi]
or eax, 0xd88546d8
insb byte es:[edi], dx
popal
popal
popal
popal
stosb byte es:[edi], al
stosd dword es:[edi], eax
cmpsb byte [esi], byte es:[edi]
sbb byte [edi], bl
pop ecx
popal
mov ah, 0xd6
std
fdivp st(5)
pop ecx
scasb al, byte es:[edi]
mov bl, 0xb2
or eax, 0x4e0da4d8
and dword [ecx - 0x6bf54e4f], esi
or eax, 0xa75940a
xchg esp, eax
jno 0x40f2d6
xchg esp, eax
pop ebp
or dl, byte [ecx + ebx*2 + 0x61924bf9]
popal
fisub word [0x9a4d841]
stosb byte es:[edi], al
stosd dword es:[edi], eax
cmpsb byte [esi], byte es:[edi]
salc
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
or dword [edx - 0x5b295955], ebp
or esi, edx
add al, 0xac
push ds
mov bl, 0xd
salc
xchg ebp, eax
inc ebp
pop ebp
salc
wait
pop ecx
dec esi
sbb edi, ecx
stosd dword es:[edi], eax
adc byte [edx], cl
or dh, byte [edi + 0x61]
mov bl, 0xa
xchg ebx, eax
jne 0x40f307
xchg ebx, eax
pop ebp
ja 0x40f362
or dl, byte [ebp - 0x6cf5babb]
jno 0x40f313
xchg ebp, eax
inc ebp
inc ebp
stc
pop esi
xchg edx, eax
popal
popal
fisub word [0xb41eab41]
salc
inc ecx
stosd dword es:[edi], eax
push ds
mov ah, 0xd6
std
fdivp st(5)
dec ecx
scasb al, byte es:[edi]
loopne 0x40f2ab
pop ecx
pushal
popal
popal
xchg esp, eax
outsd dx, dword [esi]
leave
retf 0xa10e
dec esi
and al, bl
movsb byte es:[edi], byte [esi]
add esi, edx
movsb byte es:[edi], byte [esi]
imul ebx, eax, 0xa4d605a4
pop ebp
fsub dword [ecx + edi*8 - 0x27925b2a]
movsb byte es:[edi], byte [esi]
std
salc
movsb byte es:[edi], byte [esi]
inc ecx
fsub dword [ecx + edx + 0x611584de]
fiadd word [ecx + ecx + 0xd84de61]
popal
fadd dword [ebp + edx - 0x7af68328]
shl byte [ecx + 0x61], 0x61
popal
fsub dword [ecx + ebp - 0x7ad65b24]
mov esi, 0x61616161
popal
popal
popal
popal
and ah, byte [ecx + ebx + 0x61616160]
salc
movsb byte es:[edi], byte [esi]
pop ecx
fsub dword [ebp + ebx - 0x278e5b2a]
movsb byte es:[edi], byte [esi]
xor ecx, edi
popal
dec edi
popal
popal
salc
loope 0x40f388
popal
popal
popal
fsub dword [ebp + esi - 0x4ee25b24]
salc
movsb byte es:[edi], byte [esi]
pop ecx
or dl, byte [ecx + 0xa]
mov ah, 0x35
test al, 0xa8
fiadd word [ecx + ebx + 0xd8cde61]
popal
xchg ebp, eax
jb 0x40f34b
salc
insb byte es:[edi], dx
popal
popal
popal
popal
salc
pop esi
salc
lodsb al, byte [esi]
sub eax, ebx
pop esi
test eax, ebx
insb byte es:[edi], dx
popal
popal
popal
popal
neg byte [eax - 0x2a]
movsb byte es:[edi], byte [esi]
sub dword [ebp + 0x616161be], eax
popal
popal
popal
popal
salc
movsb byte es:[edi], byte [esi]
sbb dword [esi - 0x294be1e8], esp
std
mov al, 0xae
or eax, 0xd65da4d6
cdq
pop ecx
dec esi
pushfd
pop ebp
stc
mov ah, 0x11
or cl, byte [edx]
salc
movsb byte es:[edi], byte [esi]
pop ecx
salc
mov eax, dword [0x8301de65]
xchg ebp, eax
jo 0x40f3e1
movsb byte es:[edi], byte [esi]
pop ebp
and ah, byte [ecx + 0x61616045]
popal
dec esi
and dword [ecx + 0x77f67df6], esp
ja 0x40f47d
salc
movsb byte es:[edi], byte [esi]
pop ebp
or dl, byte [ecx + 0x5da4d669]
or dl, byte [ecx + 0x5da4d675]
or dl, byte [ecx + 0xa61775d]
xchg esp, eax
jno 0x40f40b
movsb byte es:[edi], byte [esi]
pop ebp
or dl, byte [ecx + 0x59940a71]
stc
das
xchg esp, eax
popal
popal
fisub word [0x5da4d641]
fimul word [ecx + 0x56946145]
or dl, byte [ecx + ebx*2 - 0x6a26bf6]
or ecx, dword fs:[edx]
or dh, byte [edi + 0x61]
ja 0x40f4be
ja 0x40f4c0
ja 0x40f4c2
ja 0x40f4c4
fsub qword [ebp + ecx + 0x603e79b1]
popal
popal
stc
les ecx, [ebx]
or cl, byte [edx]
fisub word [0xda4d66d]
salc
lodsb al, byte [esi]
pop ebp
salc
jle 0x40f4ea
insd dword es:[edi], dx
salc
jbe 0x40f4c1
or al, byte [ecx]
dec esi
and dword [ecx - 0x4be1e75a], esp
salc
std
mov al, 0xae
mov bl, 0xb2
salc
mov word [ecx - 0x2a], ds
mov byte [0x5d92d671], al
fsub dword [ebp + ecx + 0x3cf62bd6]
fimul word [ebx]
or dl, byte [esp + 0x6193e6f9]
popal
salc
pushfd
or eax, 0x7623d69b
and dword [ebp + 0x5e], esi
and dh, dl
pushfd
jno 0x40f500
cdq
mov word gs:[esi + eax*2 - 0x67], fs
pop ecx
mov esp, dword [esi + ebx*8 + 0xb]
fimul word fs:[ebx]
fimul word [ebx]
or ecx, dword [edx]
or dl, byte [eax + ebx*2 - 0x29a263f6]
lodsb al, byte [esi]
pop ecx
fcom dword [ecx + ebx*2 + 0x615d8cde]
mov word [edi], ss
salc
xchg esp, eax
pop eax
or bl, byte [ebp + ebx*2 - 0x27a6532a]
xchg esp, eax
pop ecx
fimul word [ebp + ebx*2 - 0x29e8739f]
movsb byte es:[edi], byte [esi]
jne 0x40f47c
fcom dword [ecx - 0x2a]
movsb byte es:[edi], byte [esi]
imul ebx, eax, 0x5daa4669
xchg edx, eax
inc esi
push cs
xchg ebx, eax
stc
mov bl, 0x93
popal
popal
salc
and esi, dword [esi + 0x21]
jne 0x40f552
movsb byte es:[edi], byte [esi]
or eax, 0x18a6abaa
push ds
stosd dword es:[edi], eax
cmpsb byte [esi], byte es:[edi]
sbb byte [esi], bl
salc
movsd dword es:[edi], dword [esi]
inc ebp
pop ecx
mov bl, 0xd6
salc
xchg ebp, eax
inc ebp
pop ecx
fsub dword [ebx - 7]
call 0xd6a2565d
loope 0x40f4f7
popal
popal
popal
fsub dword [ebx + 0x51d6f965]
popal
popal
fcom st(1)
jmp 0xd6a25681
popal
popal
xchg esp, eax
add byte [ecx + 0x61615198], 0xd6
wait
fcomp st(1)
jmp 0xaba256c6
pushal
mov ecx, 0
mov bl, byte [ecx + section..text]
ror bl, 0x10
add bl, 0xca
xor bl, 0x2b
mov byte [ecx + section..text], bl
inc ecx
cmp ecx, 0x2319b
jne 0x4241a1
popal
jmp 0x40f21d