Function at 0x40f3eb
Capabilities:
Encode data using xor

Disassembly:
cli
sbb eax, 0xa065e0e0
or eax, 0x78ebfad8
pop es
js 0x40f14d
in eax, 0xe0
loopne 0x40f173
invalid
xor byte [edx], ah
loopne 0x40f194
or byte [edx - 0x1c871fdd], bh
js 0x40f13a
sti
loopne 0x40f13a
inc ebx
in al, 0xdd
and esp, eax
js 0x40f181
cli
loopne 0x40f144
mov al, byte gs:[0xd8fad80d]
js 0x40f18d
in eax, 0xe0
loopne 0x40f199
js 0x40f1be
pop es
loopne 0x40f155
mov al, byte gs:[0xd9fad80d]
js 0x40f14d
fdivr st(2)
fnstcw word [eax - 0x30]
in eax, 0xe0
loopne 0x40f1aa
xor edi, dword [eax + 0x25]
out 0xe0, al
loopne 0x40f1b1
mov al, byte gs:[0x7830e714]
out dx, al
js 0x40f17d
in eax, 0xe0
loopne 0x40f1bc
js 0x40f161
int3
pop es
loopne 0x40f178
sub eax, 0xdfe6144c
sub eax, 0xdfe6144c
push edi
sbb eax, 0xfae37ba0
mov al, byte [0xdafae37b]
sub dword [ecx], esi
xor dl, bh
cli
fisubr dword [ecx]
xor dword [eax], esi
cli
loopne 0x40f1a3
clc
loopne 0x40f18d
and al, ah
js 0x40f13b
shl ecx, 0xe0
pop ecx
loopne 0x40f20e
and eax, 0x800d6384
loopne 0x40f1d1
and al, 0x15
out 0x30, al
js 0x40f1b9
out 0xe0, eax
loopne 0x40f23c
out 0xe0, ax
loopne 0x40f244
mov esi, 0x5b7c255b
fcomp dword [ebx - 0x27]
pop ecx
sbb eax, 0x783130b4
pop edx
add eax, 0x2929e0e0
mov dword [0x5b78055b], eax
and eax, 0x842559b4
arpl word [0xe615e080], cx
xor byte [eax + 0x1a], bh
out 0xe0, eax
js 0x40f1fa
out 0xe0, eax
loopne 0x40f1d8
loopne 0x40f1a0
cmpsd dword [esi], dword es:[edi]
and eax, 0x8f8f8e8c
invalid
mov word [esi + reloc.comctl32.dll_InitCommonControls], cs
and eax, 0xd3f37b84
mov al, byte [0x55ba320]
invalid
jnp 0x40f1f7
shl dword [eax + 0x55ba320], cl
add eax, 0x8c25a778
js 0x40f1b3
and eax, 0x8f8f8e8c
invalid
mov cs, word [edi - reloc.comctl32.dll_InitCommonControls]
loopne 0x40f1f6
loopne 0x40f290
add eax, 0xa3e0e0c3
loopne 0x40f1fc
mov dword [0xe0fb4878], eax
loopne 0x40f29c
js 0x40f267
sti
loopne 0x40f202
jns 0x40f21a
test byte [esi + 0x5b358f8f], 0x7c
mov cs, word [edi + reloc.comctl32.dll_InitCommonControls]
xor dword [ebx], esi
pop ebx
and eax, 0xdca063dc
pop ecx
and eax, 0xed5b048c
loopne 0x40f21a
loopne 0x40f21c
pop ebx
jecxz 0x40f243
inc ebx
loopne 0x40f222
loopne 0x40f224
loopne 0x40f2a0
pop ebx
and eax, 0xdc2d5bd8
pop ebx
std
mov word [ebx + 3], ds
mov word [edi - reloc.comctl32.dll_InitCommonControls], cs
fsub st(0)
sub byte [ecx], ch
in al, 0xc4
pop dword [eax + 0x317c5b35]
xor dword [ebx], esi
aaa
add al, 0x5b
pop ebx
aad 0xe0
loopne 0x40f24c
loopne 0x40f2c7
adc eax, 0x8825a78c
xchg edx, eax
and al, ah
cli
loopne 0x40f209
adc eax, 0x88158fdc
invalid
invalid
pop ebx
and eax, 0xe4205bdc
arpl word [eax - 0x23e2a473], ax
pop ecx
and esp, esp
fcomp qword [ebx + 0x20]
in al, 0x63
or byte [ebp + 0x59dc1d5b], 0x21
in al, 4
pop ebx
pop ebx
sbb eax, 0xe42159dc
add al, 0x5b
int 0xe0
loopne 0x40f27c
loopne 0x40f2f9
sub eax, 0x4cb598c
pop ecx
in eax, dx
loopne 0x40f287
pop ecx
retf
loopne 0x40f289
das
sub ebx, dword cs:[ecx + 0x35e0d8a2]
pop ebx
jl 0x40f317
jl 0x40f28e
xor esi, dword [esi]
aaa
mov word [ecx + 0x25], ds
mov ebx, ss
mov al, byte [0x8f303030]
adc eax, 0xf4158f8c
invalid
hlt
loopne 0x40f2b6
arpl word [eax + eax*8 + 0x2f882559], sp
sub ebx, dword cs:[ebx + 0x25]
mov byte [ebx - 0x7b], bl
sub eax, 0x5b8c36a3
adc al, 0xc4
fcomp qword [ebx + 0x1e]
fcom st(3)
sahf
js 0x40f321
xchg ecx, eax
invalid
invalid
invalid
pop ebx
jl 0x40f37d
jl 0x40f2e4
xor esp, dword [ecx + 0xd]
fadd st(3)
loope 0x40f303
loopne 0x40f33a
dec eax
dec edi
xchg ebx, eax
and al, ah
pop ebx
sbb eax, 0xd3e159dc
mov al, byte [0xe0507920]
loopne 0x40f318
push eax
loopne 0x40f317
loopne 0x40f39c
arpl word [0x25a7e0a8], ax
add eax, 0x25a7e0a8
test al, 0xe0
cmpsd dword [esi], dword es:[edi]
and eax, 0x20937bac
loopne 0x40f385
lodsb al, byte [esi]
jnp 0x40f2d4
and al, ah
inc ecx
mov byte [ebx + 0x1d5de022], ch
test al, 0xd3
mov eax, dword [0x5b802559]
and eax, 0x842559e8
pop ebx
and eax, 0x782559dc
pop ebx
and eax, 0x7c2559ec
pop ebx
and eax, 0x902559c0
arpl word [0x563e094], ax
mov al, ah
arpl word [0x559e08c], ax
xchg esp, eax
pop ecx
std
mov byte [ecx + eax*2], al
in al, dx
pop ecx
and eax, 0xc0255b7c
pop ecx
and eax, 0x94056390
xchg esp, eax
loopne 0x40f3d0
arpl word [0x563e088], ax
add eax, 0x563e088
mov eax, fs
pop ecx
add eax, 0x88fd5994
add al, 0x41
loopne 0x40f35e
loopne 0x40f35f
loopne 0x40f360
loopne 0x40f3da
pop ecx
and eax, 0xa8255da8
add al, 0x43
and eax, 0xe04304a8
test al, 4
inc ebx
loopne 0x40f36a
loopne 0x40f36b
loopne 0x40f36c
loopne 0x40f334
cmpsd dword [esi], dword es:[edi]
and eax, 0xe0e0e198
loopne 0x40f3ef
and eax, 0x9c2559d8
pop ebx
and eax, 0xb02559f0
js 0x40f381
pop ecx
and eax, 0xd2e078b0
loopne 0x40f384
shl al, cl
loopne 0x40f400
pop ebx
pushal
pushal
loopne 0x40f389
loopne 0x40f404
pop ecx
and eax, 0x9c255db4
xor byte [ebx + 0x25], bl
mov ah, 0x5d
and eax, 0x255b309c
fmul dword [edi - 0x4bca7030]
sub dword [ecx], ebp
ror byte [edi + 0x2929b435], 1
mov ah, 0x29
sub dword [ebx + 5], esp
cwde
loopne 0x40f423
arpl word [0xd63e098], ax
or eax, 0xf714e08c
mov eax, fs
adc al, 0xf7
test dword [ebx + ebx*2], 0xe0e0e0ed
loopne 0x40f428
add al, 0x5b
in eax, dx
loopne 0x40f3aa
loopne 0x40f3ac
pop ebx
jecxz 0x40f42a
sub eax, 0x4e359a8
test al, 0x59
jecxz 0x40f3d8
pop ecx
in eax, dx
loopne 0x40f3b8
loopne 0x40f3ba
jnp 0x40f3b5
pop ebx
and eax, 0xe04304a8
loopne 0x40f3c4
loopne 0x40f441
and eax, 0xa3992b98
xor eax, 0x33317c5b
mov word [ebx + 0x25], ds
fcomp qword [ebx + 0x18]
xor ecx, dword [ebx + ebx*2 + 0x185bdc25]
and eax, 0xd8185bdc
pop ebx
sbb al, bl
fcom st(3)
sbb eax, 0x903578dc
rcr dword [0x903578dc], cl
invalid
and eax, 0xe4205bd8
arpl word [eax + 0x5bf11406], ax
in al, 0x63
add byte [esi], 0x14
int1
pop ebx
and eax, 0xc420a7dc
loope 0x40f3f2
loopne 0x40f3f4
shl dword [eax + 0x7bfc7b20], cl
cli
cli
loope 0x40f479
and eax, 0xe8108fdc
pop ebx
and eax, 0xf4108fdc
pop ebx
hlt
and eax, 0xdc108fdc
cli
loopne 0x40f3c1
adc eax, 0xdc255bf0
invalid
loopne 0x40f4a6
movsb byte es:[edi], byte [esi]
rcr byte [ebx + 0x25], 0xdc
arpl word [eax], cx
invalid
loopne 0x40f462
fisttp dword [edi + 0x158fd815]
fdivr qword [eax - 0x1b]
mov cs, word [edi - reloc.comctl32.dll_InitCommonControls]
invalid
loopne 0x40f456
loopne 0x40f458
loopne 0x40f45a
loopne 0x40f45c
loopne 0x40f4c1
and eax, 0xc3f8308c
loope 0x40f44b
loopne 0x40f4e5
inc ebp
mov cs, word [edi - reloc.comctl32.dll_InitCommonControls]
pop ebx
and eax, 0xdc2d5b8c
pop ebx
add ebp, esp
fcomp qword [ebx + 3]
in al, dx
pop ebx
sti
ror byte [edi + 0x20a0d380], 0x2b
cdq
mov dword [0x317c5b35], eax
pop ebx
jl 0x40f4bd
xor esi, dword [esi]
aaa
pop ebx
or eax, 0xf0275bd8
pop ebx
pop ss
fcomp qword [ecx + 0x25]
mov word [ebx - 0x52], ds
jnp 0x40f45c
arpl word [esi + 0x78e5158f], cx
imul edx, dword [esi], 0xffffffe0
loopne 0x40f505
push ss
loopne 0x40f489
pop ebx
sbb eax, 0xa65b1e8c
sti
mov al, byte [0x5ba1e3f4]
sbb eax, 0xe418c9f0
or eax, 0xd818cbe5
sbb al, bl
push cs
in eax, 0x63
mov cs, word [edi + reloc.comctl32.dll_InitCommonControls]
fcomp qword [ebx + 0x2d]
fcomp dword [ecx + 0x15]
arpl word [esi - 0x7026ea71], cx
sbb eax, 0xd82d5bdc
pop ecx
adc eax, 0xdc0d63d8
loopne 0x40f4e1
fsub dword [ebx + 0xd]
fsubr st(0), st(0)
or eax, 0xf4255b9a
pop ecx
rcr byte [ebx + 0x25], 1
call 0x300cdd3b
lcall 0xd059, 0x26f4255b
pop ebx
and eax, 0xcbe859e8
das
fcom qword [edi]
in al, 0xcb
xchg ebx, eax
push ss
in eax, 0x78
push ss
loopne 0x40f4ce
retf
pop ebx
cmpsb byte [esi], byte es:[edi]
sti
mov al, byte [0x8c25e3f4]
das
sub ebx, dword cs:[ecx - 0x3bdba45d]
fdiv dword [esi]
pop ebx
adc al, 0xc4
fcomp dword [ecx - 0x1a]
js 0x40f571
out 0x78, al
imul edx, eax, 0x605be0e0
shl al, 1
loopne 0x40f567
pushal
push 0x59e0e0e0
in al, 0x78
pop ebx
shl al, 1
loopne 0x40f573
push eax
push 0x5be0e0e0
cmpsb byte [esi], byte es:[edi]
mov dword cs:[0xe0d00c78], eax
loopne 0x40f584
pushal
push 0x7be0e0e0
fistp dword [ebx - 0x28]
retf
xchg ecx, eax
and byte [ebx + 0x36a3a0d3], ah
js 0x40f571
shl al, 1
loopne 0x40f5a6
adc al, 0xc4
fmul st(3)
push eax
push 0x15e0e0e0
invalid
invalid
leave
shl al, 1
loopne 0x40f5c7
pushal
push 0x7be0e0e0
fstp dword [ebx + 0x18]
in al, 0xcb
xchg ecx, eax
adc al, 0xde
pop ebx
mov eax, dword [0xe0e40863]
jnp 0x40f54c
pop ebx
sbb ah, ah
retf
in al, 0xe0
loopne 0x40f596
adc eax, 0x4c792e91
xchg ecx, eax
jns 0x40f5d1
dec esp
adc eax, 0x1e5be0e0
in al, 0x59
sbb ah, ah
mov dword cs:[0x637c5b35], eax
jl 0x40f57e
inc ecx
mov byte [ebx + 0x563e022], ch
js 0x40f57f
pop ebp
sbb eax, 0x5ba1d378
sbb eax, 0x902559d8
fcomp dword [ecx + 0x25]
nop
pop ecx
and eax, 0xdc255b90
pop ecx
and eax, 0xf4255b94
pop ebx
and eax, 0x942559dc
pop ebx
and eax, 0x25a720f4
jl 0x40f53e
and byte [edi - 0x6d7983db], ah
xchg edx, eax
and al, ah
pop ecx
sbb eax, 0x8c255988
add al, 0x41
loopne 0x40f5a5
loopne 0x40f5a7
pop ecx
and eax, 0x78255d78
add al, 0x43
loopne 0x40f5b1
loopne 0x40f5b3
invalid