Function at 0x40f3eb
Capabilities:
Encode data using xor

Disassembly:
clc
mov ecx, dword [edi + 0x658d8d8d]
clc
mov ebx, 0xf31454a5
cmc
cmc
mov eax, 0x8bf8fda3
invalid
jb 0x40f28e
cmc
mov dword [0x7272a403], eax
mov eax, dword [0x8d8d8f5e]
fsub dword [ebp - 0x55]
rcl ah, 1
clc
add esp, dword [edx + esi*2 - 0x70a15e8e]
lea ecx, [ebp - 0x2f549a28]
aam 0x65
clc
push 0x75
push 0x61
clc
mov edi, dword [edx + 0x72724865]
jb 0x40f2ae
je 0x40f1f9
xor eax, 0x72727272
clc
bound esp, qword [ebp - 0x38]
push 0x65
test al, 0x8b
mov ah, 0x8b
lea esi, [ebx + 0x62f7e1c4]
jb 0x40f21a
sar byte [ebp + 0x7a], 0x3a
lea esi, [ebx - 0x2f549a28]
rcl ah, 1
invalid
stosd dword es:[edi], eax
rcl al, 1
aam 0xde
fdivr qword [edx + 0x72721865]
jb 0x40f2df
popal
cwde
mov edi, ebp
clc
cmp dword [ebp - 0x69], 0xfffffff2
jb 0x40f21e
jb 0x40f207
cwde
push 0xffffffffffffff8d
cwde
or dword [ebp - 0x7f5c9d68], 0x44
jo 0x40f2f9
clc
push 0x65
bnd jp 0x40f303
mov bl, 0x89
call 0x7b315400
mov edx, 0x72720865
jb 0x40f30f
mov dword [ebp - 0x18], esp
push 0x61
invalid
enter 0x618b, 4
mov edx, 0x72724861
jb 0x40f31b
int3
bound esi, qword [edx - 0x28]
stosd dword es:[edi], eax
jne 0x40f260
invalid
cwde
pop edx
lea ebx, [eax + 0x6a988d52]
lea ebx, [eax - 0x63f15c9e]
pushfd
jb 0x40f348
jne 0x40f2d3
sti
xor ah, byte [ecx - 8]
or esp, 0xffffffce
les esp, [ebp - 8]
clc
and dword [ebp - 0x47], 0xffffffc8
cmc
fimul word [ebx + 0x6a3a9a65]
out dx, al
bound edx, qword [edi + ebp*8]
mov dword [0x8d8d91ce], eax
cmpsb byte [esi], byte es:[edi]
jb 0x40f2d7
into
xchg ecx, eax
lea ecx, [ebp - 0x72218d5a]
sahf
pop edx
lea ebx, [esi - 0x728d5996]
lea ebx, [esi + 0x6a9e8d5a]
cmpsb byte [esi], byte es:[edi]
jb 0x40f28f
lcall 0x8d52, 0x9e8d3a3a
lcall 0x729c, 0x74a33a3a
jb 0x40f387
cmp bh, byte [edx]
lea ebx, [esi + 0x3a9a8d52]
cmp ah, byte [ebx + 0x72729c74]
pushfd
jb 0x40f383
jne 0x40f30e
sti
xor cl, dh
cmc
fsub dword [ebp - 0x55]
jne 0x40f2c6
add dl, ah
jno 0x40f2a7
bound esi, qword [eax + esi*2]
jb 0x40f396
cwde
push esi
add ecx, dword [0x6572f295]
call 0x14b1549b
mov eax, dword [0x72727213]
jne 0x40f2f2
ret
imul ebp, eax, 0x61f114c3
call 0x62320811
clc
mov bl, 0x65
clc
inc edx
popal
clc
mov ebx, 0x616af865
clc
mov dword [0x614af865], eax
clc
stosd dword es:[edi], eax
clc
xor ah, byte [ecx - 8]
xchg ebx, eax
jne 0x40f322
wait
jb 0x40f3e2
mov eax, 0xb8757283
mov esi, dword [edx + 0x61]
mov eax, 0x83a8619b
mov edx, 0x72727231
jb 0x40f3e2
clc
ret
imul edi, eax, 0x7235bac3
jb 0x40f3fd
xor eax, 0x72727272
jb 0x40f3fe
jb 0x40f38a
std
clc
jecxz 0x40f400
jb 0x40f404
jb 0x40f3f9
clc
bound esp, qword [ecx - 8]
popal
clc
jmp 0x40f3ff
imul edi, eax, 0xf865d2eb
bound ecx, qword [ebp - 0x242772ee]
rol al, 0x75
mov eax, 0x887572e3
jne 0x40f349
mov esi, dword [edx - 0x66]
pop esp
mov edx, 0x72724865
jb 0x40f43e
je 0x40f434
enter 0x61c3, 0x74
mov edx, 0x72724861
jb 0x40f44c
movsd dword es:[edi], dword [esi]
pushal
clc
ret
xor eax, 0x72727272
jb 0x40f456
jb 0x40f44b
clc
clc
jecxz 0x40f3ad
loope 0x40f3e0
fsub dword [ebp - 0x55]
rcl ah, 1
mov esp, dword [ebp - 8]
push 0x65
loop 0x40f459
adc al, 0xe8
push 0xffffffffffffffa3
fcom dword [ebx - 0x79a7273]
lea ecx, [ebp + 0x6562f865]
bnd jp 0x40f47b
lea esp, [ebp - 8]
clc
clc
bound esp, qword [ebp - 0xe]
bnd jp 0x40f47b
jp 0x40f47b
mov bl, 0xbe
lcall 0xf2fd, 0x6af86550
cmp dh, byte [eax + 0x72]
jb 0x40f486
adc al, 0xf3
movsd dword es:[edi], dword [esi]
stosb byte es:[edi], al
movsd dword es:[edi], dword [esi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
jo 0x40f483
clc
push 0xffffffffffffff8d
xchg edx, eax
inc edx
clc
push 0xffffffffffffff8d
xchg edx, eax
pop edx
clc
push 0xffffffffffffff8d
xchg edx, eax
push 0xffffffffffffffa6
jb 0x40f3bf
cwde
push edx
clc
push 0xffffffffffffff8d
xchg edx, eax
push edx
lea ebx, [eax - 0x67285c9e]
xlatb
cwde
jb 0x40f4b4
jne 0x40f43f
xor ah, byte [ebp - 8]
push 0x75
cmp byte [edx], 0x72
jb 0x40f3e5
cwde
lea ebx, fs:[eax + 0x6a988d62]
mov dword [0x8d8d8f78], eax
invalid
cmpsb byte [esi], byte es:[edi]
jb 0x40f402
jb 0x40f404
jb 0x40f406
jb 0x40f408
jb 0x40f4cd
clc
mov edx, edx
mov byte [0x72727034], al
mov dword [0x8d8d8f39], eax
jne 0x40f46e
invalid
dec edx
clc
mov esp, dword [ebp - 0x38]
push 0x65
mov ah, 0x4a
movsb byte es:[edi], byte gs:[esi]
xor cl, byte [ebp - 0xd0ceb4d]
vpsubusb ymm4, ymm1, ymmword [ebp - 0x55]
vpsubusb ymm4, ymm1, ymmword [ebp - 0x55]
loope 0x40f47d
fsub dword [ebp - 0x55]
rcl ah, 1
invalid
call 0x7b22f50c
mov byte [eax + 4], bh
loop 0x40f521
invalid
cwde
bound esi, qword [ebp - 0x78]
push 0x72
mov bh, ah
clc
out 0x65, eax
clc
pop edx
invalid
jb 0x40f58b
popal
adc eax, dword [ebx + 0x72]
jb 0x40f591
dec esi
into
cmc
mov dword [0x7272128a], eax
jae 0x40f56e
jb 0x40f59f
jb 0x40f4d4
bound eax, qword gs:[edx + ebp*8]
cmp bh, byte [edx - 0x66]
pushal
bnd jp 0x40f5b5
cwde
xchg ecx, eax
cmc
cmc
adc al, 0xf3
cmc
fisub word [ebx + 0x727212c6]
lcall 0x7243, 0x1304623a
jb 0x40f5c6
cwde
mov esp, 0x7212e0b2
jb 0x40f5c1
out dx, al
jp 0x40f5c0
arpl word [ebx + 0x72], ax
jb 0x40f5d6
into
cmc
mov dword [0x72721200], eax
jae 0x40f5b1
jb 0x40f5e2
jb 0x40f517
pushal
loop 0x40f5f0
add al, 0x91
lcall 0x7a82, 0x75f1656e
jb 0x40f519
xchg ecx, eax
into
mov eax, dword [0x7272980b]
out dx, al
jp 0x40f5ed
popal
loop 0x40f608
into
cmc
fsub dword [ebp - 0x55]
stosd dword es:[edi], eax
jne 0x40f540
inc edx
xor dword [ebx + 0x7572f6c5], eax
mov eax, 0xe86972a3
mov dword [0xe865f114], eax
bound esp, qword [ecx - 8]
xchg ebx, eax
imul ebp, eax, 0x65f114a3
call 0x9439570c
clc
push 0x61
clc
wait
clc
clc
pop edx
std
clc
stosd dword es:[edi], eax
mov edi, 0x6172f297
call 0x8c395744
mov edi, dword [edx + 0x72727231]
mov edx, 0x72727231
jb 0x40f629
clc
mov dword [0xbaa3f869], eax
xor eax, 0x72727272
lea ebx, [eax - 0x67722fbe]
push edx
mov dword [0x72729811], eax
ror byte [ebp + 0x11a35298], 1
cwde
jb 0x40f651
jecxz 0x40f647
clc
mov dword [0x727235ba], eax
jb 0x40f65c
int1
loope 0x40f5e3
cmc
sar byte [edx + 0x7272188d], cl
lea ebx, [eax]
jb 0x40f666
jb 0x40f668
imul edi, edx, 0xba246a3a
cmp ch, byte [edx - 0x2c]
invalid
div byte [edx + 0x14]
stc
ror byte [ebp - 0x7027468], cl
mov ecx, dword [ebp + 0x698d8d8d]
clc
lea ebp, [ecx - 8]
wait
mov edx, 0x72727235
jb 0x40f616
sar byte [edx + 0x7272188d], cl
jb 0x40f69b
imul edi, edx, 0xba246a3a
cmp ch, byte [edx - 0x2c]
invalid
clc
mov ecx, dword [ebp + 0x698d8d8d]
clc
lea ebp, [ecx - 8]
wait
mov edx, 0x72727235
jb 0x40f64c
xor eax, 0x72727272
cmc
sar byte [edx + 0x7272188d], cl
mov edx, 0x7272188d
jb 0x40f6d0
jb 0x40f6d1
jb 0x40f6c9
imul edi, edx, 0xba246a3a
cmp ch, byte [edx - 0x2c]
cli
cmp ch, byte [edx + 0x24]
mov edx, 0xded46a3a
fsub qword [ecx + 0x22]
mov dword gs:[0xf6c58331], eax
jb 0x40f688
push 0xffffffffffffffd4
invalid
stc
shl byte [ecx - 8], cl
xchg ebx, eax
lea ebx, [eax - 0x74070275]
lea ecx, [ebp - 0x7967273]
lea ebp, [ecx - 8]
wait
mov edx, 0x72727235
jb 0x40f6fc
jb 0x40f6fd
jb 0x40f6fe
jb 0x40f682
cmc
call 0x68a2b12e
jb 0x40f707
jb 0x40f709
jb 0x40f658
ror ah, 0xcc
into
int3
les esp, [ebp - 0x47]
enter 0xfffffffffffff5d0, 0x65
call 0xa42a0b3a
and dword [ecx - 0x365e7273], ebp
lea ecx, [ebp - 0x37995c73]
jb 0x40f727
lea ebx, [edx - 0x4f5c85c6]
les esi, [edx + 0x72]
mov al, 0xc4
jb 0x40f730
lea ebx, [eax]
jnp 0x40f689
div byte [edx - 0x5d]
shr dword [edx], 1
jb 0x40f73b
mov byte [0x7272728d], al
invalid
jb 0x40f65c
sal dword [ebp - 5], cl
jne 0x40f6cd
sti
push 0xfffffffffffffff5
mov byte [0x72f6aafb], al
lea ebx, [eax + 0x6a]
salc
div byte [edx + 0x79]
lcall 0x72f6, 0xaa1ba25e
ror byte [ebp - 0x929ada8], cl
jb 0x40f769
lcall 0x8d7a, 0x3a9a8d7e
sal ebp, cl
lea ebx, [edx - 0x2e5c85c6]
lea ecx, [ebp - 0x65723f73]
cmp bh, byte [edx - 0x73]
cmp bh, byte [edx - 0x5d]
jp 0x40f6a2
mov dword [0x8d8d8dd1], eax
ror byte [ebp - 0x7285c566], 0x58
ror dword [ebp - 0x723f7273], 1
lcall 0xd203, 0x588d7a3a
jp 0x40f696
pop eax
add edx, edx
div byte [edx - 0x15]
cmpsb byte [esi], byte es:[edi]
bound esp, qword [ebx + 0x7272ec29]
sal ch, 0xa6
bound esp, qword [ebx + 0x7272eeeb]
sal ch, 0xde
xchg ebx, eax
movsd dword es:[edi], dword [esi]
jle 0x40f7a2
jle 0x40f7a2
lcall 0x7aff, 0x75d38d76
add al, 0x9a
cmp ah, byte [edx - 0x6a]
jbe 0x40f6ba
sal dword [ebp - 1], cl
jp 0x40f736
lcall 0xf5ce, 0xad96623a
lodsd eax, dword [esi]
into
cmc
fisub word [ebp - 0x66]
cmp ah, byte [edx + 0x14]
rep movsd dword es:[edi], dword [esi]
insb byte es:[edi], dx
lcall 0x6ca5, 0xf314623a
jns 0x40f737
cwde
push eax
outsb dx, byte gs:[esi]
jns 0x40f72b
lcall 0x7aff, 0x75d18d76
add al, 0x9a
cmp ch, byte [edx - 0x6a]
movsd dword es:[edi], dword [esi]
into
cmc
ljmp 0x49f
invalid
invalid
pushal
mov edi, 0
mov bl, byte [edi + section..text]
xor bl, 0x5d
ror bl, 0x99
xor bl, 0x97
mov byte [edi + section..text], bl
add edi, 1
cmp edi, 0x2319b
jne 0x4241a1
popal
jmp 0x40f21d