Function at 0x40f2e6
Capabilities:
Encode data using xor

Disassembly:
cmc
lds edi, [eax + 0xd]
or eax, 0xc0b23f6
or al, 0x62
cwde
stc
pop esi
pushal
cwde
push edx
sbb dword [eax + 0x529619cd], edx
or dword [ecx - 0x68], esi
sub cl, byte [0x980d0d0d]
adc byte [ecx - 0x50], dh
or eax, 0x980d0d0d
push edx
or eax, 0x7110980d
mov al, 0xd
or eax, 0x52980d0d
adc eax, 0x98196a98
jp 0x40f256
cwde
jo 0x40f259
or al, 0xed
push 0xd15cfd6
xchg sp, ax
or eax, 0x11946665
xor dword [ebp*8 + 0x5ef99862], ecx
pop esi
pushal
xchg esp, eax
adc dword [ecx], esi
or al, 0xed
bound ebx, qword [eax + 0x605e5ef9]
arpl word [ecx + esi*2 - 0x68], sp
inc edx
or eax, 0x960d0d0d
or byte [ecx], 0xd4
push edx
add eax, 0xd4dff94
ja 0x40f286
or al, 0x82
sbb dword [edx + eax*4], ecx
add eax, 0xf515820c
xchg byte [eax], ch
push cs
or eax, 0x98195298
dec ebp
adc dword [eax + 0x5a980aed], edx
sbb dword [esi - 0x678eeeb2], edx
dec edx
or eax, 0x980d0d0d
push 9
xchg esi, eax
dec eax
jno 0x40f23a
sub cl, byte [0x6c0d0d0d]
imul ebp, dword [eax - 0x2a], 0xffffffcf
adc eax, 0xf998620d
nop
stc
adc eax, 0x9646360
xchg esi, eax
push edx
or dword [eax - 0x33], eax
pop ebp
pop ebp
pop ebp
or al, 0x82
or dword [edx + eax*4], ecx
and dword [edx + eax*4], ecx
sbb eax, 0xc19820c
adc byte [0xd844bf5], 0xd
nop
shr dword [0x6c055296], 1
imul ebp, dword [eax - 0x68], 0x52
add eax, 0xd06af298
arpl word [ecx], cx
cwde
xor dword [ecx], 0x155b9819
inc eax
fcomi st(5)
imul edi, esi, 0xc
or al, 0x77
or eax, 0x21830c63
or al, 0x83
sbb dword [edi + 0xd], esi
or al, 0x81
xor dword [ecx], esi
or al, 0x83
sbb eax, 0x3131810c
cmc
adc byte [ebp + ecx + 0x2dd1900d], al
imul edx, eax, 0x62
cwde
stc
nop
stc
inc ebp
pushal
mov cs, word [edx + 0xd0e3015]
or eax, 0xccc51f82
add byte [ebp + 0xd], cl
cwde
pop edx
sbb dword [esi + 0x4dcd400e], edx
xor byte [esi], cl
or eax, 0xc51f820d
int3
or eax, 0x96195a98
push cs
inc eax
int 0x4d
idiv byte [ebp - 0x6ff2f2f3]
jb 0x40f320
or eax, 0xf8e952d4
add byte [ebp + 0xd], cl
scasb al, byte es:[edi]
add eax, 0x9a0d4fe8
pop edx
in eax, 0x40
into
xchg esi, eax
push edx
lcall 0x5296, 0xce40e55a
in eax, dx
cwde
push edx
and eax, 0x98f15296
push edx
sbb dword [esi + 0x5298f552], edx
sub dword [esi + 0x5298f952], edx
sub eax, 0x90fd5296
jb 0x40f36c
or eax, 0xd057290
nop
jb 0x40f37c
nop
jb 0x40f374
or eax, 0xd097290
or eax, 0x96017296
xchg esi, eax
jb 0x40f378
xchg esi, eax
jp 0x40f37f
jno 0x40f32a
or eax, 0x960d0d0d
push edx
in eax, 0x9a
or eax, 0x9ae55296
push edx
in eax, 0x71
mov al, 0xd
or eax, 0x52d40d0d
aad 0xe
or eax, 0x52980d0d
cwde
push edx
adc eax, 0x98d95296
push edx
sbb eax, 0xf5dd5296
or eax, 0x980d0d3f
lea ecx, [ebp - 0x69f2f2f3]
push edx
loope 0x40f348
push edx
fstp dword [ebp - 0x68]
push edx
adc eax, 0x620c3d0c
loope 0x40f420
nop
jb 0x40f393
or eax, 0xd098a90
and dword [ecx + esi*2], 0xd0d2a98
or eax, 0x9810980d
push 0xffffffffffffffe5
xchg esi, eax
adc byte [ecx - 0x6a], dh
sub cl, byte [0xf80d0d0d]
push ss
cwde
push edx
in eax, 0x71
mov al, 0xd
or eax, 0x52980d0d
aad 0x68
salc
shl byte [edx - 0x68], 1
stc
pop esi
pushal
or dword [eax + 0x55981952], ebx
adc eax, 0xf5195a40
invalid
or al, 0x7d
and eax, 0xc195298
jge 0x40f44a
cwde
push edx
sbb dword [edi*2 + 0xc0d7719], ecx
sbb byte [0xc195298], 0x7d
sbb eax, 0xf515820c
fild word [edx - 0x2e6ff2f3]
sub eax, 0x90195298
test dword [ecx], esi
or eax, 0x820c1882
xor dword [0x820c1882], ecx
adc eax, 0xf519820c
adc cl, byte [ebx]
or al, 0xc
ja 0x40f468
ja 0x40f46a
ja 0x40f46c
ja 0x40f46e
ja 0x40f470
lcall 0xe30, 0x755d0952
xor byte [esi], cl
or eax, 0xbb2f50d
cmc
mov dl, 0xb
or ecx, dword [esp + ecx]
or al, 0xc
or al, 0x90
nop
shr dword [ecx], 1
cwde
push edx
or dword [eax + 0x7098196a], ebx
sub dword [eax - 0x12f3d288], ebx
inc eax
int 0x4d
push 0x9862d0d6
stc
pop esi
pushal
arpl word [eax + ebx*4 - 0x76], sp
adc eax, 0x981d5498
test byte [ecx], bl
xchg esi, eax
push edx
or dword [eax - 0x6fc50715], ebx
or ecx, dword [edx + eax*4]
adc dh, ch
test al, 0x83
or eax, 0x95a980d
pop ebx
cwde
sar dword [eax - 0x33], cl
and dword [eax], edx
into
cwde
pop edx
sbb eax, 0x8a115546
adc cl, byte [eax + 0x55]
adc eax, 0xb90128b
or al, 0x82
mov edx, dword [edx]
nop
or ecx, dword [edx + eax*4]
push ss
or al, 0x5a
sbb dword [eax - 0x7d69ea96], ebx
adc eax, 0xd198a90
mov dl, bh
cwde
push edx
and dword [ebx - 0x6a], edx
cmp eax, 0x96255298
and eax, 0x84196c48
adc dword [eax], ecx
adc dword [edx], 0xfffffff5
arpl word [ebx - 0x2c67f2f3], ax
js 0x40f4bf
and dword [eax], edx
push edx
or dword [ebx + ebp*2 + 0x68], ebp
salc
rcr byte [eax + 0x63153151], 1
cwde
xor dword [ecx], 0xf5139615
cmpsb byte [esi], byte es:[edi]
cmp eax, 0x8d980d0d
movsd dword es:[edi], dword [esi]
or eax, 0x53960d0d
adc ebp, esi
cwde
cmp eax, 0xbd960d0d
movsd dword es:[edi], dword [esi]
or eax, 0xd3980d0d
imul edx, eax, 0xfffffff5
mov dword [0x8d980d0d], edi
movsd dword es:[edi], dword [esi]
or eax, 0x18f80d0d
cwde
adc eax, 0x11315948
adc dword [esi], 0x92114d98
int 0x82
dec byte [ebp - 0x30]
inc eax
int 0xd0
arpl bp, si
cmp eax, 0x81980d0d
xor dword [0xda5bd48], edx
or eax, 0x6d74820d
push esi
cmp eax, 0x5b980d0d
adc dword [esi + 0xd0da595], edx
or eax, 0x46f5d06b
cmp eax, 0x8d980d0d
movsd dword es:[edi], dword [esi]
or eax, 0x16f80d0d
cwde
push ebp
adc dword [eax - 2], ecx
sbb dword [ebx], 0x8590ce98
adc dword [0xf66bfe82], ecx
leave
or byte [0x115b980d], 0x96
push ebp
adc dword [ebx - 0x30], ebp
bound ebx, qword [eax + 0x25f990f9]
nop
stc
and eax, 0x4fe805ae
or eax, 0xdf57290
lcall 0x5a98, 0xce40f55a
scasb al, byte es:[edi]
add eax, 0x900d4fe8
jb 0x40f593
or eax, 0x40f55a9a
into
cwde
pop edx
adc eax, 0x98fd5296
push edx
sbb dword [esi + 0x52980152], edx
and dword [ebp - 0x2c], ecx
push edx
stc
dec dword [ebp + 0xd]
xchg esi, eax
pop edx
add eax, 0x71095296
scasb al, byte es:[edi]
or eax, 0x960d0d0d
push edx
cmc
lcall 0xd0d, 0xb071f552
or eax, 0x25820c0d
pop esi
or al, 0x82
sbb eax, 0xd82bef5
or eax, 0x5298d598
cmc
jno 0x40f596
or eax, 0x980d0d0d
into
salc
rcr byte [ebp + 0x71], 1
or al, 0x42
or eax, 0x9a0d0d0d
push ecx
xor dword [ecx], ebx
cmp byte [ecx + 0x31], dh
sbb dword [eax + 0x63], esp
xchg esi, eax
xor eax, 0x5aef598
call 0xd281035b
pop ebp
or al, 0x82
or esp, edx
push edx
or dword [esp + ecx], ecx
or al, 0xc
lcall 0xd0d, 0xb0710152
or eax, 0x715dd00d
or al, 0x42
or eax, 0x9a0d0d0d
push ecx
xor dword [ecx], ebx
cmp byte [ecx + 0x31], dh
sbb dword [eax + 0x63], esp
xchg esi, eax
xor eax, 0x5aef598
call 0xd281038e
pop ebp
xchg esi, eax
jb 0x40f640
or al, 0x82
or esp, edx
push edx
or dword [esp + ecx], ecx
or al, 0xc
lcall 0xd0d, 0xb0710152
or eax, 0x715dd00d
or al, 0x42
or eax, 0x9a0d0d0d
push ecx
xor dword [ecx], ebx
cmp byte [ecx + 0x31], dh
sbb dword [eax + 0x63], esp
xchg esi, eax
xor eax, 0x5aef598
call 0xd28103c4
pop ebp
xchg esi, eax
push edx
std
or al, 0x82
or esp, edx
push edx
or dword [esp + ecx], ecx
or al, 0xc
lcall 0xd0d, 0xb0710152
or eax, 0x5a98d00d
add dword [ecx - 0x6a], esi
sbb cl, byte [0x660d0d0d]
insb byte es:[edi], dx
insb byte es:[edi], dx
imul ebp, dword [eax - 0x68], 0xfffffff2
push 0x5e
rcr byte [eax - 0x25bf02a6], 1
cmc
mov dh, 0xfa
or al, 0xc
imul dl
or al, 0xc
or al, 0xf5
pop ss
push 0xd
or eax, 0x1131810c
cmc
outsb dx, byte [esi]
push 0x420c0d0d
xchg ecx, eax
out 0x4f, eax
or eax, 0xd39def5
or eax, 0xd0d0c75
or eax, 0xd190dd0c
sbb eax, edx
jne 0x40f6a7
jns 0x40f727
or eax, 0x5f19220c
dec edi
or eax, 0x2381cd92
jne 0x40f6a6
jns 0x40f736
or eax, 0x1d220c5d
pop edi
dec edi
or eax, 0x1381cd92
or al, 0x81
xor dword [ecx], edx
or al, 0xdd
ror byte [ecx + eax*4], 1
xor dword [ecx], edx
cmc
fimul word [esp + ecx]
or al, 0x66
or al, 0x81
xor dword [ecx], edx
or al, 0x22
lds ebx, [ebp + 0x4f]
or eax, 0xf51577d9
mov edx, 0x660d0d5c
sal byte [edi + 0x15], 1
cmc
fstp dword [ebx + 0xd]
or eax, 0x9863d066
std
clc
sbb byte [eax - 0x7e326ded], bl
invalid
adc edx, dword [edx + 0xc0f81cd]
fst qword [eax - 0x7eb7ee2d]
xor dword [0xd06bfc7f], edx
arpl word [eax + 0x40153181], bx
int 0xf8
cld
imul edx, eax, 0x63
cwde
xor dword [ecx], 0xf8cd4015
sbb al, 0x92
int 0x82
push ds
cwde
sbb edx, dword [edx + 0xc0f81d6]
ficom word [eax - 0x7eb7ee2d]
xor dword [ecx], ebx
jg 0x40f74f
rcl dword [ecx], cl
dec eax
xor dword [ecx], 0x6bf87f19
rcr byte [eax + 0x63113159], 1
inc eax
add ecx, dword [eax - 0x25]
sub byte [edx], 0xf5
rcl byte [eax], cl
imul edx, eax, 0xffffff98
pop ecx
xor dword [ecx], edx
arpl word [eax + 3], ax
dec eax
fild dword [edx + 0x10d2f52a]
or eax, 0x6363630d
arpl word [ebx - 0x2c], sp
or eax, 0xd0d0d23
cmc
mov ebx, 0x900d0d4c
shl dword [ecx], 1
ja 0x40f7a1
imul edx, eax, 0xffffffae
and dword [edx], ebx
push eax
or eax, 0xe781d348
xchg esi, eax
push cs
inc eax
int 0x6b
rcr byte [eax + 0x63113151], 1
inc eax
add ecx, dword [eax - 0x2d]
sub byte [edx], 0xf5
wait
adc byte [0x6363630d], cl
arpl word [ebx - 0x2c], sp
arpl word [ebx + 0x63], sp
arpl sp, dx
or eax, 0xd0d0d23
cmc
test byte [ebp + ecx + 0xd], cl
nop
shl dword [ecx], 1
ja 0x40f7d8
imul edx, eax, 0x46
inc edx
and dword [edx], ebx
push eax
or eax, 0x1a98e881
sub eax, 0x960d501a
adc eax, 0xd06bcd40
nop
dec edx
std
jns 0x40f820
dec edi
or eax, 0x7527810d
std
jns 0x40f828
dec edi
or eax, 0xd81a0f5
or eax, 0x8166cd92
sbb byte [ecx + eax*4], cl
xor dword [ecx], edx
or al, 0x22
std
jns 0x40f83c
or eax, 0x80f5f566
or eax, 0x61d5750d
dec edi
or eax, 0x4f61b975
or eax, 0xc0c43f5
or al, 0x92
int 0x66
and byte [ecx + 0x63], 0x64
jne 0x40f7d0
push 0x4e
or eax, 0xcfa73f5
or al, 0xcb
dec ebp
popal
dec edi
or eax, 0xb5ccd398
popal
dec edi
or eax, 0x8066d448
sbb al, 0x98
adc edx, dword [edx + 0xc0f81cd]
fst qword [eax + 0x44811d3]
xchg edx, eax
int 0x81
invalid
jg 0x40f833
nop
dec edx
xor dword [edi], 0x6c0d0d50
insb byte es:[edi], dx
imul eax, dword [ecx + 0x37817528], 0x50
or eax, 0xd8135f5
or eax, 0x8166cd92
sbb dword [edi + 0xd], esi
ja 0x40f85e
ja 0x40f862
ja 0x40f862
or al, 0x22
xor dword [edi], 0xcd400d50
sal byte [edi + 0x19], 1
ja 0x40f879
jne 0x40f84f
mov edx, 0xdff50d4f
sub dword [0xf515770d], ecx
pop edi
pop ebx
or eax, 0x7290660d
or dword [0x46530340], ecx
inc esi
inc edx
popal
sbb dl, byte [eax + 0xd]
cmp dword [eax - 0x6a], 0x501a5d42
or eax, 0xaf1d5297
pop ecx
sbb dl, byte [eax + 0xd]
nop
mov bl, byte [ecx]
or eax, 0x420c5482
jns 0x40f8d0
push eax
or eax, 0xd3707f5
or eax, 0x420c0598
jne 0x40f8dd
push eax
or eax, 0xd37faf5
or eax, 0x52966666
int1
xchg edx, eax
or al, 0x81
and edx, dword [eax + 0x4611f17a]
mov dh, cl
jg 0x40f8d9
cwde
push edx
int1
cwde
or eax, 0xfb81cd92
or al, 0xdd
clc
div dword [ebp - 0x1b]
popal
dec edi
or eax, 0x4f61d9c5
or eax, 0xc0b53f5
or al, 0x66
jne 0x40f8cf
or al, 0xc
jne 0x40f8cf
int1
popal
dec edi
or eax, 0x4f61e9c5
or eax, 0xc0b43f5
or al, 0x66
aam 0x52
or dword [ebx], ecx
or al, 0xc
or al, 0xf5
sub al, 0xd
or eax, 0x1d8a900d
or eax, 0x42963582
popal
sbb dl, byte [eax + 0xd]
ja 0x40f91b
cmc
in eax, dx
pop ecx
or eax, 0x820c660d
adc eax, 0xc0af3f5
or al, 0x40
add edx, dword [ebx - 0x70]
mov bl, byte [0x7715810d]
adc eax, 0xd59d4f5
or eax, 0x63f5d066
sub dword [0xd77d00d], ecx
adc dword [0xd4f51577], 0x660d0d59
sal ch, 1
arpl word [ecx], bp
or eax, 0xd77d00d
ja 0x40f93d
or al, 0x81
xor dword [ecx], ebx
cmc
xor cl, byte [esp + ecx]
or al, 0x90
rcr dword [ecx], 1
sal byte [edi + 0xd], 1
ja 0x40f94c
ja 0x40f94f
or al, 0x81
xor dword [ecx], ebx
cmc
and dword [esp + ecx], ecx
or al, 0x90
rcr dword [ecx], 1
sal byte [edi + 0xe], 1
sbb eax, edx
ja 0x40f95e
push cs
ja 0x40f95f
ja 0x40f961
cmc
adc cl, byte [esp + ecx]
or al, 0x90
rcr dword [ecx], 1
sal byte [edi + 0xe], 1
push cs
ja 0x40f96f
ja 0x40f970
cmc
add ecx, dword [ebx]
or al, 0xc
nop
rcr dword [ecx], 1
shl byte [ebx - 0xb], 1
sub al, 0x37
aaa
or eax, 0x63fd980d
cmc
xchg byte [ebp + 0xd], ah
or eax, 0x8289f563
or eax, 0xa8f5630d
dec ecx
or eax, 0x73f5630d
or byte [0x63f5630d], 0x82
or eax, 0x53f5630d
or byte [0x2df5630d], 0x53
or al, 0xc
arpl bp, si
in al, 0x7e
or eax, 0x64a750d
dec ebp
or eax, 0xd368df5
or eax, 0xb031d190
xchg ecx, eax
out 0x4f, eax
or eax, 0x5998d06b
xor dword [ecx], edx
pushal
inc eax
call 0x64a4d20b
adc dword [0x21318998], 0x28840848
cmc
imul ecx, dword [esi], 0x23770d0d
imul edx, dword [esi + 0x6060603d], 0x60
pushal
cmc
push ebx
dec edx
or eax, 0x21d1900d
cwde
sar eax, cl
cwde
xor dword [ecx], 0x82004825
adc dword [ebp - 0x671907da], edx
ficom word [edi + 0x4f0f9513]
push ebx
inc edi
rol byte [ecx + 0x825c10], 1
dec eax
or byte [edx - 0xad96ae3], al
sub eax, 0x770d0d0e
das
xchg si, ax
adc eax, 0xcdf8fe98
inc eax
int 0x6c
imul ebp, dword [eax - 0x30], 0x62
cwde
stc
arpl word [eax + 0x40642182], bx
or al, 0x48
add al, 0x82
adc dword [eax - 0x33], eax
clc
jb 0x40fa76
mov dl, byte [0x2f52882]
or eax, 0x23770d0d
imul edx, dword [esi + 0x6464643d], 0x64
cmc
in al, dx
dec ecx
or eax, 0x21d1900d
cwde
sar eax, cl
push edx
inc esi
mov bl, byte [0x82462381]
sbb dword [edi + 0x1e], edi
arpl word [edx + eax*4], cx
sbb eax, 0xf515820c
test al, 0x66
or eax, 0x19d1900d
clc
into
or al, 0x82
sbb dword [esp + ecx - 0x7e], esp
adc eax, 0xd0e17f5
or eax, 0x4619d190
nop
rcr dword [ecx], 1
inc esi
mov bl, byte [0x8246c381]
sbb dword [eax + 0xdb3f51b], eax
or eax, 0x662f770d
xchg esi, eax
adc eax, 0xbaf8fe98
ja 0x40fab6
insb byte es:[edi], dx
imul ebp, dword [edx - 0x30], 0x62
cwde
stc
cwde
push edx
and dword [ebx + 0x64], esp
inc eax
or al, 0x48
aam 0x81
push esp
inc esi
mov dl, byte [0x8bf52882]
or eax, 0x23770d0d
imul edx, dword [esi + 0x6464643d], 0x64
cmc
cmc
jne 0x40fb06
or eax, 0x21d1900d
cwde
sar eax, cl
inc esi
mov bl, byte [0x5246ed81]
sbb dword [eax + 0xd66f51b], eax
or eax, 0x662f770d
xchg esi, eax
adc eax, 0xe4f8fe98
pop ebp
or al, 0x82
sbb eax, 0xf515820c
add eax, dword [ecx - 0x2e6ff2f3]
sbb dword [eax - 0x33], eax
insb byte es:[edi], dx
imul ebp, dword [edx - 0x30], 0xffffff98
push ecx
xor dword [ecx], edx
inc eax
salc
dec eax
adc edx, ebx
xchg ebp, eax
out 0x4f, eax
or eax, 0x904e1f81
push es
cmp cl, byte [ecx - 0x5aa6502]
nop
push es
push ds
test byte [ecx], bl
ja 0x40fb2c
mov esi, edi
lcall 0x841e, 0x690fa55
sbb dword [edi + 0x1a], esi
rcr byte gs:[eax - 0x186625ef], 1
dec edi
or eax, 0xc5112d0
or al, 0xc
ja 0x40fb3e
dec ax
aad 0x28
int 0x30
into
nop
int 0x15
sal ch, 1
sti
or eax, 0x82cd920d
adc eax, 0x36fbf5d0
or eax, 0x82cd920d
adc eax, ebp
std
call 0x9111088d
int 0x15
sal ch, 1
call 0x924e087d
int 0x82
adc eax, ebp
add eax, ebp
dec edi
or eax, 0x19cd90d0
shl byte [ebx - 0xb], 1
hlt