Function at 0x40f3eb
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [0x574741e]
insb byte es:[edi], dx
add al, 0x75
mov eax, dword [0x154171d7]
je 0x40f1bd
lahf
push esp
pop ss
imul edi, dword [esi - 0x44], 0xb963c874
fdiv qword [ecx + esi*2 - 0x2c]
sal dword [esp + esi*2 - 0x38], 0xf4
push ss
fdiv qword [ecx + esi*2 + 0x7c]
mov eax, dword [0x6c057474]
add al, 0x75
mov eax, dword [0x159c7175]
je 0x40f1e3
add eax, 0xa175046c
jne 0x40f1dc
pushfd
adc eax, 0x719f7474
jmp 0x40f1b4
lahf
jno 0x40f15d
inc ecx
je 0x40f1e9
je 0x40f17b
add eax, 0xa175046c
xchg ebp, eax
insb byte es:[edi], dx
add al, 0x75
mov eax, dword [0x157a7195]
jno 0x40f1f7
adc eax, 0xde9f7474
jno 0x40f1a1
je 0x40f1f4
lahf
fidiv word [ecx + 0x1d]
xor eax, 0x59f7474
insb byte es:[edi], dx
loop 0x40f1e1
jle 0x40f1ff
cmp byte [0x719f7474], dl
sti
inc ecx
je 0x40f20c
in al, 0
jmp 0x40f17e
rcl esp, 1
mov eax, dword [0x7e9e9fb5]
mov eax, dword [0x74746174]
jl 0x40f223
jno 0x40f164
cwde
xchg esp, eax
je 0x40f13a
test dword [0x7004c4f0], ebx
sbb eax, 0x7004c4f0
je 0x40f1bf
xor eax, 0x5581717e
je 0x40f237
jle 0x40f230
adc dword [ebp + 0x74], 0x55257174
jno 0x40f1ea
push ebp
je 0x40f23c
sar dword [edx], 1
lds ebx, [0xc575c5f1]
xchg ebp, eax
test dword [esi], ebx
out dx, al
jle 0x40f174
jno 0x40f17d
movsd dword es:[edi], dword [esi]
add dword [esp + esi*2 - 0x61], esi
lahf
int3
lds ebx, [0xf01d85ee]
les eax, [eax + esi*2]
out dx, al
test dword [0x7004c4f0], ebx
jo 0x40f25f
je 0x40f1ef
add esi, dword [0x55bd717e]
xor eax, 0x55bd717e
mov ebp, 0x71e47455
je 0x40f1d7
jno 0x40f1f6
add dword [ebp + 0x74], edx
push ebp
je 0x40f26c
je 0x40f246
dec ebp
sbb eax, 0x545434f3
push esp
lds ebx, [0xdad6d1f0]
insb byte es:[edi], dx
jl 0x40f1d4
rcl esi, 1
fisubr dword [esp + edi*2 - 0x34]
lds eax, [ecx]
jno 0x40f259
sbb eax, 0x545434f3
xor al, 0x54
push esp
push esp
imul edx, dword [esp + esi*2 + 0x74], 0x74
jno 0x40f21a
fdiv dword [esp + esi*2 - 0x34]
je 0x40f290
int3
jno 0x40f28a
sal dword [esp + esi*2 - 0x6f], 0x37
aaa
xor al, 0x54
push esp
pop ds
invalid
int1
sahf
faddp st(5)
sbb eax, 0xf56cc4f5
insb byte es:[edi], dx
cmc
test dword [0x18c5e0f3], ebx
je 0x40f2ae
sbb byte [esp + esi*2 + 0x74], dh
je 0x40f202
je 0x40f2b0
invalid
aam 0xe0
enter 0x7474, 0x74
je 0x40f20a
sbb eax, 0xf500c575
jne 0x40f20d
add ch, dh
lds eax, [edx]
invalid
invalid
inc ebp
hlt
invalid
fidivr word [edi]
pop edi
loopne 0x40f22d
sbb esi, dword [esp + esi*2 + 0x74]
je 0x40f1f3
add esi, ebx
dec ebp
sbb eax, 0x7cb24573
je 0x40f219
je 0x40f2ce
add esi, ebp
push esp
add esi, dword [ebx + 0x54]
add esi, dword [ebp + 0x71]
adc edi, 0xffffff94
je 0x40f24d
sbb eax, 0xf47cc5f5
les esi, [eax + 0x14]
lds edi, [esp + esi*8 - 0x3c]
jo 0x40f2a4
lds ebx, [esi]
cmc
test dword [esp + esi*8 + 0x741cc5e0], ebx
je 0x40f310
je 0x40f263
add bl, dh
test ebx, ebx
loopne 0x40f229
sbb byte [esp + esi*2 + 0x74], dh
je 0x40f2ea
and bh, bl
lea ebp, [ebp + esi*2 - 0xe3ae08c]
invalid
jne 0x40f324
pop ds
vpinsrw xmm6, xmm1, ecx, 0x75
fidivr word [edi]
pop edi
test dword [0x7e6cdaf3], ebx
jle 0x40f340
push esp
add esi, ebx
push esp
add esi, esi
push esp
add esi, dword [esi + 0x54]
jbe 0x40f320
add esi, ebp
push esp
add esi, dword [ebp + 0x71]
cmp al, 0x43
je 0x40f34a
invalid
test dword [0xdf204073], ebx
lds ebx, [0x11c573]
int3
lds edx, [ecx]
add ah, cl
aas
invalid
clc
cmc
lds edi, [esi]
jne 0x40f2ca
jno 0x40f313
jno 0x40f313
xchg edx, eax
push esp
push esp
mov eax, dword [0x23543f74]
not byte [ebx - 0xb]
and esi, esi
push esp
and esi, ebp
mov eax, dword [0xf8e25474]
clc
clc
push esp
and esi, dword [esi + 0x54]
loop 0x40f303
clc
jno 0x40f2e2
inc ebx
je 0x40f385
je 0x40f2d6
invalid
in al, dx
js 0x40f335
int3
fcom dword [esp + esi*2 + 0x6bb60374]
dec esp
sar byte [esp + esi*2 - 0x3b], cl
je 0x40f398
add esi, dword [esi + 0x7cd24c6b]
je 0x40f2f1
push ds
cmc
test dword [edx + ebx*8 + 0x6a917c6c], edx
fisubr dword [esp + edi*2 - 0x6f]
insb byte es:[edi], dx
jl 0x40f2c5
push 0x74
je 0x40f3ac
je 0x40f3ab
je 0x40f2fd
les eax, [ecx]
outsd dx, dword [esi]
je 0x40f38a
add dword [edi + 0x74], ebp
dec ebp
sbb eax, 0x7cd2d1ef
je 0x40f2cc
sar byte [esp + esi*2 - 0x78], cl
jae 0x40f315
mov esp, 0x6f1e0674
outsd dx, dword [esi]
fimul dword [ebp + eax*4 + 0x1dc5701d]
ja 0x40f2d9
lds ebx, [0xf01d8577]
lds ebx, [0x711d85f5]
sbb eax, 0xf51dc5f0
test dword [0xf71dc571], ebx
test dword [0x781dc5f1], ebx
test dword [0xf201c472], ebx
je 0x40f331
jno 0x40f322
lds ebx, [0xf11d85f7]
sbb eax, 0xf11d85f7
lds ebx, [0x721d8578]
les eax, [ecx]
bnd je 0x40f331
add dword [ebx + 0x74], esi
les eax, [ecx]
je 0x40f2fa
add edx, esi
test dword [edx], eax
jae 0x40f35b
mov byte [esp + esi*2 + 0x74], dh
je 0x40f306
sbb eax, 0x6f1d066f
sbb eax, 0x74c8e06f
je 0x40f3ff
outsd dx, dword [esi]
loopne 0x40f350
je 0x40f3fe
je 0x40f400
je 0x40f3da
dec ebp
sbb eax, 0x7474946d
je 0x40f359
sbb eax, 0xed1d8575
in eax, dx
lds ebx, [0x6e1d8576]
jno 0x40f415
je 0x40f35c
mov edx, 0x64c57474
je 0x40f418
lds esp, [esp + 0x74]
je 0x40f41e
je 0x40f41d
je 0x40f330
test dword [0xed1d06ee], ebx
sbb eax, 0xed1d06ee
out dx, al
push es
sbb eax, 0x1dc57eed
jne 0x40f409
jle 0x40f377
sbb eax, 0x547a5475
jp 0x40f40b
pop ds
out dx, al
lahf
lahf
les eax, [ecx]
insd dword es:[edi], dx
je 0x40f384
add al, 0xf3
je 0x40f3a6
push edi
loopne 0x40f38c
sbb byte [esp + esi*2 + 0x74], dh
je 0x40f392
je 0x40f43e
je 0x40f440
invalid
aam 0xc5
add byte [edi - 0x7b], ch
aam 0xe0
test dword [eax], ebx
je 0x40f44c
je 0x40f44e
rcl dword [ebp - 0x1f90e23b]
enter 0x7474, 0x74
je 0x40f3ab
sbb eax, 0xcc8ddf6d
invalid
pop ds
invalid
fdivrp st(3)
lds ebx, [0x757dc5f5]
ficomp dword [esi]
cmc
jno 0x40f41b
jb 0x40f452
push esp
lds ebx, [0xf47cc575]
sbb eax, 0xf47cc575
jne 0x40f3c8
jl 0x40f3f9
les esi, [eax + 0x21]
loop 0x40f3a0
xchg esi, eax
lds ebx, [0xf87c4df5]
sbb eax, 0xf87c4df5
xchg esp, eax
je 0x40f487
je 0x40f3ef
insb byte es:[edi], dx
jl 0x40f3e9
loope 0x40f3eb
mov eax, dword [0x1dc594a1]
cmc
mov eax, dword [0xf51dc594]
lds ebx, [0x776254f5]
sbb eax, 0x776254f5
push esp
bound esi, qword [edi - 0x3b]
sbb eax, 0xf66254f5
lds ebx, [0xf66254f5]
lds ebx, [0xf56254f5]
mov eax, dword [0x76035474]
lds ebx, [0x766254f5]
push esp
add esi, dword [ebp + 0x71]
scasb al, byte es:[edi]
add esi, dword [esp + esi*2 - 0x3c]
in al, dx
js 0x40f40b
je 0x40f4b6
invalid
sbb eax, 0xf863c4f5
je 0x40f450
add edx, ebp
aad 0x54
push esp
add esi, dword [ebp + 0x54]
jne 0x40f4a6
add esi, ebp
cmc
jno 0x40f46b
xor al, 0x54
push esp
mov eax, dword [0xa174a174]
je 0x40f401
je 0x40f403
je 0x40f46a
sbb eax, 0xd8617ef3
xchg esp, eax
je 0x40f4e0
je 0x40f4de
jno 0x40f477
or dword [esp + edx*2], esi
xor al, 0x54
push esp
invalid
lds eax, [eax]
cmc
invalid
int3
and esi, dword [esp + esi*2 - 0x3b]
push ds
lds ebp, ds:[0xd4f66cc1]
sub eax, 0xd4f66cc1
mov ebp, es
push ds
jbe 0x40f453
jge 0x40f4ae
add al, 0x15
fstp xword [ebp + 0x75]
and al, 0x15
les esi, [esp + edx*2]
add edx, dword [ebp - 0x3a0ae1ac]
add byte [ebp - 0x7b], dh
add esi, dword [ebp - 0x3c]
add al, 0xf5
je 0x40f4d8
lodsd eax, dword [esi]
lds ebx, [0x7a853df6]
lds ebx, [0xdb778577]
cmp eax, 0x1dc57a85
ja 0x40f464
test dword [edi - 0x25], esi
ja 0x40f4bc
fild dword [eax - 0xb]
inc eax
cmc
inc ebx
hlt