Function at 0x40f3eb
Capabilities:
Encode data using xor

Disassembly:
or eax, dword [ebp - 0x5fdfeaed]
mov al, 0x13
mov ch, 0x33
mov ch, 0xb5
mov cl, 0xb5
cmp ebx, dword [edx]
cmpsd dword [esi], dword es:[edi]
movsd dword es:[edi], dword [esi]
mov ch, 0x2d
loope 0x40f1b2
lea esp, [edx - 0x45]
mov ch, 0xe2
aad 0xb0
cmp esp, dword [ebx]
lds esi, [ebp - 0x3a22c44b]
mov ch, 0xb5
or edx, dword [edi + 0xd]
loope 0x40f248
or eax, 0x2d250d35
popal
clc
mov al, 0xa0
cmp ebx, dword [0x20b5b5e3]
and byte [ecx + 0xd3be30d], cl
loope 0x40f1dc
sub eax, 0x628dfbe1
mov ebx, 0xb0d5e2b5
cmp edx, dword [ecx]
lds esi, [ebp - 0x3a1cc44b]
mov ch, 0xb5
leave
loope 0x40f275
pop edx
dec edx
dec edx
dec edx
or eax, 0x840bfbe1
xchg byte [ecx - 0x1cf2764f], bh
cmp ecx, ecx
loope 0x40f288
pop edx
dec edx
dec edx
dec edx
dec edx
mov ch, 0xb5
mov ch, 0x3b
jecxz 0x40f1a1
mov ch, 0xb5
mov dword [ebx], edi
add esi, dword ds:[ebp + 0x5ad42bb5]
cmp edi, dword [esi]
add esi, dword [ebp + 0x5ad42bb5]
dec edx
dec edx
loopne 0x40f236
jnp 0x40f1cb
or byte [0xb98d75e1], 0x75
sub eax, 0xdf37ae1
mov ch, 0xb5
mov ch, 0xb5
or eax, 0xb58ff385
mov ch, 0xb5
mov ch, 0xd
loope 0x40f27c
or eax, 0xb5b5b564
mov ch, 0xd
test ebx, esi
invalid
or eax, 0x600d35e1
or eax, 0x630d7560
jp 0x40f25b
pushal
jne 0x40f258
arpl word [edx + 0xd], di
cmp dword [edx + 0x4a], 0xffffffbb
add byte [ecx], ch
cdq
xor eax, 0xcd2030b5
and ch, cl
cmc
test dword [edx - 0x45], 0xa07b0de0
mov al, byte [0xf3c0d080]
or eax, 0xb5b5b5e6
mov ch, 0x2d
loop 0x40f2ea
leave
loope 0x40f2ad
int 0x9a
mov cl, 0xb5
adc esi, dword [ebp + 0x4a75e24a]
dec edx
loop 0x40f2b9
dec edx
loop 0x40f2b7
cmp esp, dword [edx]
add al, 0xa5
mov ch, 0xd
loope 0x40f2ff
or eax, 0xbb8df5b1
push 0xd
popal
jne 0x40f2c1
mov eax, dword [0x660df3f5]
mov ch, 0xb5
mov ch, 0xb5
or eax, 0x62d7a60
sub eax, 0xb5b5b564
mov ch, 0x40
push eax
add byte [ecx], ch
cdq
xor eax, 0x7b0de0b5
lea edi, [ebx + 0x35]
adc al, 0xc0
rol al, 1
jp 0x40f2e8
loope 0x40f337
jp 0x40f244
xchg byte [ecx + 0x4ab0b0b0], bh
mov ecx, 0x4ab0b0b0
mov al, 0x4a
loop 0x40f33f
dec edx
loop 0x40f2bc
dec edx
loop 0x40f27f
dec edx
loop 0x40f343
dec edx
loop 0x40f306
cmp edx, dword [esi - 0x3e]
mov ch, 0xb5
invalid
or eax, 0xd75f7f2
div dword [ebp + 0xd]
push ecx
xor eax, 0x503b5986
stosb byte es:[edi], al
dec edx
dec edx
adc esi, dword [ebp - 0xb2db530]
dec edx
sal byte [ebp + 0x13], cl
mov ch, 0x4a
div edi
adc esi, dword [ebp - 0x8080db6]
dec edx
sal byte [edx + ecx*2 + 0x3bf7f7f2], cl
test edx, eax
mov ch, 0xb5
invalid
sub byte [ebp - 0x5a78ca9e], 0xb5
mov ch, 0xe2
xchg esp, eax
dec esi
mov dh, byte [ecx + 0x75610db5]
sub eax, 0xb1b986a5
sub edi, dword [esi - 0x724a4a4b]
mov ch, 0x8d
jecxz 0x40f373
mov ch, 0xc9
loope 0x40f3b7
or ecx, dword [edx + 0x3aafb5b1]
or byte [ecx + 0x38616db5], dl
xchg byte [ecx + 0xdbbe12d], ch
loope 0x40f387
scasd eax, dword es:[edi]
cmp cl, byte [eax]
xchg ecx, eax
mov ch, 0x6d
popal
cmp byte [esi - 0x441ed257], al
or eax, 0xe12d34e1
sti
or eax, 0xe12d75e1
cmp ecx, dword [0xe12d74e1]
sub eax, 0xe10dfbe1
jne 0x40f387
loope 0x40f3ce
sub eax, 0xe10d3be1
je 0x40f38d
loope 0x40f397
or eax, 0xe12d74e1
loope 0x40f3dd
jnp 0x40f370
or eax, 0xe12db7e1
mov edx, 0xb5fae38d
invalid
loope 0x40f31c
sub eax, 0xe38dbae1
cli
mov ch, 0x8d
jecxz 0x40f3a9
mov ch, 0x8d
invalid
jecxz 0x40f3ed
mov ch, 0x2d
jecxz 0x40f371
sub eax, 0xaff33a63
mov ch, 0xb5
mov ch, 0xb5
sub eax, 0xe16d38e1
cmp bl, dh
invalid
loope 0x40f3c8
movsd dword es:[edi], dword [esi]
mov ch, 0xb5
mov ch, 0xd
loope 0x40f3cb
sub eax, 0xe10d79e1
mov ah, 0x2d
loope 0x40f357
loope 0x40f412
or eax, 0xe12db4e1
mov eax, 0xb596b53b
mov ch, 0xd
cmp esi, dword [ebp + 0xdb5b596]
mov ebp, 0xb5b5b5bd
sub eax, 0xe16df8e1
jns 0x40f361
mov ch, 0x2d
loope 0x40f3a5
insd dword es:[edi], dx
loope 0x40f429
mov al, 0xd
loope 0x40f3e9
or eax, 0xb64a35e1
dec edx
dec edx
mov dh, 0x4a
loopne 0x40f3b1
and byte [eax], ah
invalid
mov ch, 0xb5
mov ch, 0xb5
or eax, 0x38600d85
sub eax, 0x642df385
mov ch, 0xb5
mov ch, 0xb5
or esp, dword [0xf338e10d]
mov ch, 0xd
test dword [0x852d3860], ecx
or eax, 0x852d3860
sub eax, 0xb5b5b564
mov ch, 0xb
and eax, 0xf338e10d
loope 0x40f417
invalid
invalid
add byte [ecx], ch
mov eax, esp
or eax, 0x7a80a07b
or eax, 0x310d75e1
xor eax, 0x3b756186
sub dword [ecx - 0x5f84f220], ecx
jnp 0x40f38f
cmp byte [edx + 0xd], 0xe1
jne 0x40f402
xor dword [0x3b756186], esi
loopne 0x40f3b7
dec edx
dec edx
or eax, 0xb10d35e1
cmc
lea edi, [ebx + 0xda4f2d3]
loope 0x40f482
or eax, 0xbb8df5b1
sal edx, cl
movsb byte es:[edi], byte [esi]
or eax, 0xb1c975e1
mul dword [ebp - 0x794a4a4b]
leave
mov cl, 0xf7
movsd dword es:[edi], dword [esi]
mov ch, 0xb5
mov ch, 0x86
mov ch, 0xb5
xchg byte [ecx + 0xb730bb1], bh
mov ecx, 0xb730bb1
or esi, dword [ebx + 0xb]
adc edx, dword [ebx]
movsd dword es:[edi], dword [esi]
or eax, 0xb24a75e1
xor al, 0xd
loope 0x40f49b
dec edx
mov dl, 0xf4
or eax, 0xb24a75e1
jne 0x40f443
dec edx
mov dl, 0x75
adc esi, dword [ebp + 0xdb4e24a]
loope 0x40f4ac
mov ch, 0x4a
loop 0x40f3e8
or eax, 0xb24a75e1
mov ah, 0x4a
dec edx
mov dl, 0xb4
dec edx
loop 0x40f472
cmp ebx, dword [eax - 0x724a4a1e]
stc
mov bh, 0xd
loope 0x40f4bd
lea esi, [edx]
div dword [ebp - 0x1db5fa1e]
xor eax, 0x3b75e24a
in eax, 0x5a
dec edx
dec edx
adc esi, dword [ebp - 0x4aec4aed]
adc esi, dword [ebp - 0x1e924aed]
jp 0x40f417
xor eax, dword [edi + 0x3bb5b5a5]
out dx, eax
pop edx
dec edx
dec edx
invalid
stc
je 0x40f482
loope 0x40f4f1
or eax, 0x830d7560
je 0x40f48b
add esi, dword [edi - 0x467944b6]
mov cl, 0
sub dword [ecx - 0x5f84f220], ecx
xchg byte [ecx - 0x76d6ff4f], bh
loopne 0x40f497
or eax, 0xd080a07b
ror byte [0xc10d3562], 0xb4
or eax, 0xe12d75c2
jp 0x40f4a9
jnp 0x40f42c
mov al, byte [0xdc0d080]
bound esi, qword [0xdb4c10d]
adc al, 0xc0
or eax, 0xc10d3562
mov ah, 0xd
ret 0x2d75
jne 0x40f4c6
loope 0x40f515
or eax, 0x8d670b58
pop eax
or esp, dword [edi - 0x73]
pop edx
dec edx
loop 0x40f489
cmp ecx, dword [edx + edx*8]
mov ch, 0xb5
or eax, 0xd517a61
fld dword [ebx]
mov ecx, 0xda985f4
popal
mov ah, 0x26
push ecx
or eax, 0xf4b903d9
test dword [ecx + 0x26b4610d], ebp
xor ebp, esi
invalid
xor dword [0x5a8de552], esi
dec edx
loop 0x40f4eb
dec edx
popal
jne 0x40f4d7
pushal
xor eax, 0x8d35e22d
bound esi, qword [ebp - 0x4b]
bound ebx, qword [ecx]
or eax, 0x2dd1f4e1
mov dh, 0xd
hlt
loope 0x40f512
sub eax, 0x75400634
ret 0x6f5
sal byte [ebp + 0x3d90db5], cl
mov ecx, 0x7ae185f4
inc eax
push eax
add byte [ecx], ch
mov dword [0xd035f7f1], ecx
or eax, 0x2d35f7f2
aad 0x3b
sub al, 0xb6
mov ch, 0xb5
or eax, 0xb5b53cbd
mov ch, 0x2d
sal ebp, 1
cmp ecx, dword [0x2db5b5b6]
or eax, 0x2db5b5b6
sub eax, 0xb5b53cbe
mov ch, 0xd
fst dword [eax - 0x77]
cmp esi, dword [edx - 0x4a]
mov esi, 0xb5b5b53c
or eax, 0x3b8950d9
jb 0x40f4dc
mov ch, 0xb5
or eax, 0xb5b53cbd
mov ch, 0xb
add eax, 0x7106350d
div ebp
and eax, 0xedf5b10d
mov ecx, 0x89b1aae2
xchg byte [ecx + 0x103bd089], bh
mov dh, 0xb5
mov ch, 0xd
div dword [0xb53cbe06]
mov ch, 0xb5
loop 0x40f519
mov bl, 0x21
mov dh, 0xb5
mov ch, 0xd
push ecx
cmc
sub eax, 0xb5b53c3d
mov ch, 0x50
mov dword [ebx], edi
mov dh, 0xb5
mov ch, 0xd
mov ebp, 0xb5b5b53c
or esp, dword [0x6f5310d]
stosb byte es:[edi], al
push ebp
or eax, 0xf5328da9
mov ch, 0xe2
stosb byte es:[edi], al
push eax
sub edi, dword [esi - 0x1e]
mov ch, 0xb5
or eax, 0x312df551
cmc
push eax
mov eax, esp
or eax, 0x347b8d7b
lea edi, [ebx + 0x34]
scasd eax, dword es:[edi]
cmp cl, byte [eax]
xchg ecx, eax
mov ch, 0x8d
jecxz 0x40f5d9
mov ch, 0x6d
popal
cmp eax, dword [esi + 0x35610da9]
sub eax, 0xe10dbae1
jne 0x40f5db
or eax, 0xe12d75e1
cli
loope 0x40f5aa
or eax, 0xc9b1f4e1
loope 0x40f632
fistp dword [edx + 0x612db5b1]
cmp ch, byte [0xaff37ae1]
mov ch, 0xb5
mov ch, 0xb5
sub eax, 0xe16d3be1
cmp esi, ebx
invalid
mov ah, 0x3b
scasb al, byte es:[edi]
loop 0x40f593
mov ch, 0xd
cmp dword [0x8ff33be1], ecx
mov ch, 0xb5
mov ch, 0xb5
or eax, 0xb08929a9
dec edx
out 0xb5, al
mov ch, 0xb5
mov ch, 0x6d
int1
div dword [ebp + 7]
div dword [ebp - 0x80]
rol al, 1
sub eax, 0xaf3b0d37
cmp cl, byte [eax]
xchg ecx, eax
mov ch, 0x86
jmp 0x7b2340c0
rol al, 1
sub eax, 0xaf3b0d37
cmp cl, byte [eax]
xchg ecx, eax
mov ch, 0x86
jmp 0xbb2423f3
pushal
mov edi, 0
mov cl, byte [edi + section..text]
xor cl, 0x29
ror cl, 0xa4
xor cl, 0x66
xor cl, 0xaf
mov byte [edi + section..text], cl
add edi, 1
cmp edi, 0x2319b
jne 0x4241a1
popal
jmp 0x40f21d