Function at 0x40f3eb
Capabilities:
Encode data using xor

Disassembly:
sub dword [esi - 0x77], edi
sub al, 0xb7
int 0x99
cdq
sub dword [ecx], ebp
mov bh, 0x7f
cdq
sub dword [ecx], ebp
movsd dword es:[edi], dword [esi]
jge 0x40f1f1
pop ss
daa
daa
daa
loope 0x40f27e
ja 0x40f1ea
pop eax
pop edx
xor eax, 0x7fe1652d
mov bh, 0xa5
jge 0x40f204
pop ss
daa
daa
daa
mov dl, 0x27
sub dword [ecx], ebp
sub dword [edi + 0x29295b7f], esi
mov bh, 0xb2
mov bh, 0xb2
mov bh, 0xb2
fild qword [ecx]
sub edi, eax
mov byte [edi], dl
daa
daa
jl 0x40f20a
idiv dword [esp + ebx*2]
pop esp
loope 0x40f2ab
jmp 0xc22a2794
xor eax, 0xf67dc1e9
outsd dx, dword [esi]
loope 0x40f230
sub dword [ecx], ebp
sub dword [ecx], ebp
loope 0x40f297
outsd dx, dword [esi]
arpl word [ecx], bp
sub dword [ecx], ebp
sub ecx, esp
jge 0x40f1f0
loope 0x40f245
jmp 0xe237f22f
pushfd
outsd dx, dword [esi]
loope 0x40f2e3
sub dword [ecx], ebp
sub dword [ecx], ebp
sar dword [esi - 0xa], 0xa5
jge 0x40f229
mov eax, dword [0xcf292d56]
sub dword [edi], esp
jle 0x40f265
daa
jle 0x40f235
mov dh, 0x27
daa
jle 0x40f22b
mov bh, 0xbe
fdivr dword [ecx]
sub ecx, esp
jge 0x40f273
loope 0x40f2b9
imul esp, dword [ecx + 0x37], 0xe9fde107
sar dword [0xfae16f69], 0x29
sub dword [ecx], ebp
sub ecx, esp
cld
loope 0x40f293
sub dword [ecx], ebp
sub dword [ecx], ebp
loope 0x40f29b
test cl, 0xda
outsd dx, dword [esi]
sar eax, 0x29
sub dword [ecx], ebp
sub dword [0x55c5dc0d], ebx
fadd st(5), st(0)
push ebp
test eax, 0xf7e17c29
popal
imul dword [ecx - 0x96373a4]
sar dword [ebp - 0xa], 0x5a
mov word [esi + esi*8 + 0x5af67dc1], ds
test cl, 0x7d
neg byte [edx + 0x35]
sub al, 0x2c
sub al, 0x27
jge 0x40f2b3
pop edx
xor eax, 0x272c2c2c
jle 0x40f2bb
daa
jle 0x40f330
daa
jle 0x40f2f3
daa
jle 0x40f2b7
daa
jle 0x40f27a
mov bh, 0xb
sahf
sub dword [ecx], ebp
popal
jne 0x40f304
sar dword [ebp - 0x4a], 0x1d
or eax, 0xb67de1dc
loope 0x40f26b
xchg esp, edi
cld
invalid
pop edx
adc al, 0xb7
or eax, 0xcf272746
sub dword [edi - 0x71d89772], ecx
jmp 0x6e681cd2
inc esi
daa
daa
iretd
push 0xcfe98e27
sub dword [edi], esp
outsb dx, byte [esi]
imul ebp, dword [ebx + 0x27], 0xffffff8e
imul esp, dword [edi], 0xffffff8e
sub byte [edi], ah
outsb dx, byte [esi]
imul ebp, dword [ebx - 0x49], 0x59
sahf
sub dword [ecx], ebp
popal
jne 0x40f33f
or eax, 0xf7e17c65
popal
imul dword [edx - 0x5601bea4]
pop ebx
cmp dword [ecx], ebp
sub dword [esi + 0x48], edi
mov dl, 0x23
sub ax, 0xe129
std
jmp 0x359b2cf3
pop edx
xor eax, 0x2932c72d
sub dword [ecx], ebp
popal
jg 0x40f2ef
invalid
mov ah, 0x29
movsd dword es:[edi], dword [esi]
jge 0x40f333
sub dword [ebp + 0x66e7f47d], esp
out 0x66, eax
sub eax, 0xe4b64329
dec ebp
sub dword [ebx - 0x4a], eax
in al, 0x4d
sub dword [eax], eax
std
mov ah, 0x5a
inc ebp
sar dword [ebp + 0x37], 0xe1
jge 0x40f2fb
sar dword [ebp + 0x77], 0xe1
jge 0x40f342
sar dword [ebp - 0x49], 0xe1
jge 0x40f347
sar dword [ebp - 9], 0xe1
jge 0x40f390
sar dword [ebp + 0x36], 0x61
jg 0x40f3e1
sub dword [ecx + 0x7f], esp
mov dh, 0x29
popal
jg 0x40f369
sub ecx, eax
jg 0x40f3ed
sar edi, 0xb6
outsd dx, dword [esi]
inc ebx
sub dword [ecx], ebp
sub dword [ecx], ebp
sar dword [ebp - 0x4c], 0
jge 0x40f33a
outsd dx, dword [esi]
arpl word [ecx], bp
sub dword [ecx], ebp
sub dword [ebp + 0x2939b57d], esp
sub dword [ecx], ebp
sub dword [ecx], ebp
sub ecx, esp
jge 0x40f33f
loope 0x40f412
test eax, 0xe1f57dc1
sar dword [ebp - 0xb], 0xe1
jge 0x40f3c4
sar dword [ebp + 0x34], 0xb7
sub dword [edx + 0x29], ecx
jge 0x40f3d3
mov bh, 0x29
dec edx
sub dword [ecx], ebp
loope 0x40f3d7
sub ecx, esp
xor dword [ecx], esi
sub dword [ecx], ebp
sub ecx, eax
jge 0x40f421
xor dword [ecx], ebp
sub dword [ecx], ebp
sar dword [ebp + 0x74], 0
jge 0x40f3a5
add byte [ebp - 0xb], bh
sub al, 0xe1
jge 0x40f35d
daa
sub ah, byte [edi]
jl 0x40f42d
mov esp, 0xb57f61bc
sub dword [ecx - 2], esp
imul byte [ecx]
outsb dx, byte [esi]
invalid
cwde
outsd dx, dword [esi]
loope 0x40f3c0
sub dword [ecx], ebp
sub dword [ecx], ebp
loope 0x40f427
loope 0x40f3cc
mov ah, 0xc1
pop ecx
outsd dx, dword [esi]
sar eax, 0x29
sub dword [ecx], ebp
sub edi, esp
mov ecx, 0x6fb47de1
jge 0x40f393
outsd dx, dword [esi]
arpl word [ecx], bp
sub dword [ecx], ebp
sub ecx, esp
sub dword [ecx], ebp
sub dword [ecx], ebp
loope 0x40f464
jge 0x40f39d
mov ch, 0xdc
lds esp, [ebp + 0x7c]
loope 0x40f3e5
fadd st(5), st(0)
jl 0x40f3ce
idiv dword [esp + ebx*2]
cmp al, 0x5c
mul cl
jge 0x40f3dd
loope 0x40f3a3
test eax, 0xb7e9fd5a
jl 0x40f433
mov bh, 0x7c
daa
daa
daa
loope 0x40f47e
test eax, 0x61692de1
aaa
invalid
imul edi, dword [ecx], 0x29
sub dword [ecx], ebp
pop edx
xor eax, 0xe7efe72d
iretd
daa
test al, 0xe1
jge 0x40f40f
daa
push 0x27e97de1
jmp 0x7e681e02
daa
jle 0x40f45c
sub cl, ah
jge 0x40f420
loope 0x40f4b3
jmp 0x27692262
daa
sub byte cs:[edi], ah
jle 0x40f3e6
mov bh, 0x54
jle 0x40f46a
sub dword [ecx + 0x75], esp
sub esp, ecx
jge 0x40f431
popal
scasb al, byte es:[edi]
imul ebp, dword [ecx], 0x7e
fldenv [edi]
jle 0x40f3fa
daa
jle 0x40f43d
mov bh, 0x79
pop ss
daa
daa
iretd
sub edi, ecx
sub edi, ecx
sub edi, ecx
sub dword [eax], eax
jge 0x40f45c
sub al, 0xaf
pop ebx
cmp dword [ecx], ebp
sub dword [ecx], ebp
mov bh, 0x83
pop ss
daa
daa
sub dword [edi + 0x27271783], esi
popal
jne 0x40f45c
loope 0x40f4f3
mul cl
cld
jmp 0xe229545f
fild qword [ebx]
daa
sub esp, dword [edi]
aaa
pop edx
xor eax, 0x65c5dc2d
jl 0x40f46b
fadd st(5), st(0)
jl 0x40f46b
idiv dword [esp + ebx*2]
mov word [ecx - 0x621e5602], ds
sub cl, ah
sahf
jmp 0xe237725d
inc ebp
loope 0x40f4b3
sub byte [edx + 0x79fe69ad], bh
fisubr dword [ebp + 0x61790fa9]
pop ss
daa
jle 0x40f47f
daa
std
jmp 0xc1eaf1ae
loope 0x40f55a
test al, 0xc1
test al, 0xda
sbb eax, 0xda699ee9
invalid
sub dword [ecx], ebp
loope 0x40f485
fbstp tbyte [0xf67d5968]
pop ecx
jge 0x40f4ec
sbb eax, 0x65c5dc0d
loope 0x40f56a
imul ebp, dword [ecx + 0x6b6ee18c], 0xffffffa9
ror dword [ecx + 0x292ac0b7], 0x29
loope 0x40f53e
mov al, 0x29
sub dword [ecx], ebp
ror dword [ebp + 0x2ae1b769], 0x29
sub ecx, eax
xor dh, byte [eax - 0x1ed6d6d7]
xchg ebp, eax
or eax, 0x2aeeb765
sub dword [ecx], ebp
loope 0x40f55b
mov bh, 0xee
sub ch, byte [ecx]
sub ecx, esp
xor dword [eax - 0x18d6d6d7], esi
fabs
test eax, 0x696bedda
outsb dx, byte [esi]
mov ecx, 0x81692de1
xor eax, 0x652d467e
pop edx
xor eax, 0xccb78c65
sub ch, byte [ecx]
sub ecx, esp
outsb dx, byte [esi]
imul ebp, dword [ecx + 0x29b032da], 0x29
sub dword [esi - 0x61], edi
mov al, 0x29
sub dword [ecx], ebp
out 0xd9, eax
loope 0x40f4db
invalid
inc esi
sub eax, 0x65355a65
invalid
lahf
das
mov ebp, 0xe129292a
sub ecx, esp
loope 0x40f569
or al, 0x69
sal dword [ecx + 0x292929b0], 0xd
mov bh, 0xba
sub ch, byte [ecx]
imul eax, ecx, 0x2929b0b1
sub dword [0x2abab765], ecx
sub dword [ecx], ebp
loope 0x40f59e
sub ecx, esp
xor dword [eax - 0x18d6d6d7], esi
mov ecx, 0xda69ade1
inc esi
outsb dx, byte [esi]
or cl, ah
mov al, 0x29
sub dword [ecx], ebp
out 0xb9, eax
loope 0x40f522
imul ebx, edx, 0xe1086e46
inc ebp
popal
scasb al, byte es:[edi]
imul ebp, dword [ecx], 0xc70d467e
bnd jle 0x40f5b0
sub ecx, esp
or al, 0x69
shr dword [ebp + 0x7c650d69], 0xe1
mul dword [ecx - 9]
test al, 0x43
inc ebx
mov dh, 0xe4
dec ebp
sub dword [ecx + 0x7f], esp
mov bh, 0x29
add ch, bh
popal
jg 0x40f555
sub dword [eax], eax
std
mov bh, 0x5a
inc ebp
loope 0x40f5a3
test eax, 0xe1367dc1
jge 0x40f596
sar dword [ebp + 0x76], 0xe1
jge 0x40f61b
loope 0x40f62f
push 0xf77da52d
sub eax, 0x97f77da5
xchg edi, eax
push esi
sub eax, 0xb6fdc129
sar dword [ebp - 0xa], 0x6f
std
mov dh, 0xc1
jge 0x40f5b7
outsd dx, dword [esi]
inc ebx
sub dword [ecx], ebp
sub dword [ecx], ebp
sar dword [ebp - 0x49], 0
jge 0x40f584
outsd dx, dword [esi]
arpl word [ecx], bp
sub dword [ecx], ebp
sub dword [edi], esp
jle 0x40f57e
cmp al, 0x27
jle 0x40f602
mov bh, 0x42
jle 0x40f607
sub ecx, esp
mov ch, 0xe1
jge 0x40f59b
outsd dx, dword [esi]
arpl word [ecx], bp
sub dword [ecx], ebp
sub ecx, esp
inc ebp
lds esp, [ebp + 0x2c]
outsd dx, dword [esi]
daa
jp 0x40f61c
sub dword [ecx], ebp
sub dword [eax], eax
insd dword es:[edi], dx
imul ebp, ecx, 0xffffffdb
outsd dx, dword [esi]
imul ebp, ecx, 0x5c
mov word [ecx + eax*8 + 0x43b7e1ab], ds
stosd dword es:[edi], eax
loope 0x40f5bc
inc ebx
mov dh, 0xe4
dec ebp
in al, 0x4d
sub dword [edx - 0x7b], ebx
sub al, 0x27
jle 0x40f606
movsd dword es:[edi], dword [esi]
jge 0x40f609
daa
daa
daa
daa
add byte [ebp + 0x76], bh
outsd dx, dword [esi]
arpl word [ecx], bp
sub dword [ecx], ebp
sub dword [ebp + 0x2c], esp
outsd dx, dword [esi]
sub dword [ecx], ebp
sub dword [ecx], ebp
sub al, 0x6f
daa
jp 0x40f64f
sub dword [ecx], ebp
sub dword [eax], eax
insd dword es:[edi], dx
imul ebp, ecx, 0xffffffdb
outsd dx, dword [esi]
imul ebp, ecx, 0x5c
mov word [ecx + eax*8 + 0x43b7e1ab], ds
mov dh, 0xe4
dec ebp
sub dword [edx - 0x7b], ebx
sub al, 0xc1
jg 0x40f679
daa
jle 0x40f63c
movsd dword es:[edi], dword [esi]
jge 0x40f63f
daa
daa
daa
daa
add byte [ebp + 0x76], bh
outsd dx, dword [esi]
jbe 0x40f6c0
arpl word [ecx], bp
sub dword [ecx], ebp
sub dword [ebp + 0x2c], esp
outsd dx, dword [esi]
daa
jp 0x40f685
sub dword [ecx], ebp
sub dword [eax], eax
insd dword es:[edi], dx
imul ebp, ecx, 0xffffffdb
outsd dx, dword [esi]
imul ebp, ecx, 0x5c
mov word [ecx + eax*8 + 0x43b7e1ab], ds
mov dh, 0xe4
dec ebp
sub dword [edx - 0x7b], ebx
sub al, 0xc1
jge 0x40f6af
daa
jle 0x40f672
movsd dword es:[edi], dword [esi]
jge 0x40f675
daa
daa
daa
daa
add byte [ebp + 0x76], bh
outsd dx, dword [esi]
jbe 0x40f6f6
arpl word [ecx], bp
sub dword [ecx], ebp
sub dword [ebp - 0x1f], esp
std
jbe 0x40f700
sar ecx, 0x29
sub dword [ecx], ebp
sub dword [ebp + ebx - 0x1e23f2e3], edi
xchg esp, edi
cmp al, 0x65
loope 0x40f6a0
loope 0x40f6a0
pop edx
add al, 0xb7
ret
daa
mov bh, 0xc9
cld
sub dword [ecx], ebp
daa
outsb dx, byte [esi]
imul ebp, dword [ecx - 0x49], 0x3f
fsubr qword [ecx]
sub dword [ecx], ebp
daa
sub dword [edi], esp
jp 0x40f732
jno 0x40f696
aam 0x4d
dec ebp
sub dword [edi + 0x2929eb44], esi
scasd eax, dword es:[edi]
daa
sub dword [ecx], ebp
sub dword [edi], esp
xor al, 0x61
jne 0x40f6bc
inc esp
jmp 0x40f6f1
scasd eax, dword es:[edi]
jne 0x40f6c6
dec ebp
sub dword [edi], esp
js 0x40f6c5
dec esp
dec ebp
sub dword [ecx - 0x507791cb], eax
jb 0x40f6d5
dec ebp
sub dword [edi], ebp
js 0x40f714
dec esp
dec ebp
sub dword [ecx + 0x27896e35], eax
outsb dx, byte [esi]
mov dword [edi], esp
outsb dx, byte [esi]
imul ebp, dword [ecx + 0x27], 0x34
daa
outsb dx, byte [esi]
imul esp, dword [edi], 0x6e276534
imul ebp, dword [ecx - 0x49], 0x44
daa
daa
daa
mov esp, 0x696b6e27
daa
js 0x40f6bd
sub al, 0x4d
sub ebp, esi
iretd
sub dword [ecx], ebp
mov esp, 0xb7a9cf65
cmc
or al, 0x29
sub dword [ebp - 0x18c91e74], edi
fabs
mov dword [ecx + 0x27496e35], eax
xor al, 0x61
xchg ebp, eax
imul ebx, edx, 0x4ea96b6e
or eax, 0x6ee18c65
outsb dx, byte [esi]
imul ebp, dword [ecx + 0x650d264e], 0xffffff8c
loope 0x40f7aa
imul ebp, dword [ecx + 0x18e7355a], 0xffffff81
xor eax, 0x8e1387e
add ebp, 0x4427496e
popal
xchg ebp, eax
imul ebx, edx, 0x4ee96b6e
out 0xd, eax
loope 0x40f748
imul ebp, dword [ecx - 0x74], 0x5a
xchg esi, eax
ficom dword [esi + edi*2]
clc
mov bh, 0x85
pop ecx
sub dword [ecx], ebp
mov word [esp + ecx*4 + 0x29a58c8c], cs
mov byte [ecx], ch
sub dword [ecx], ebp
mov bh, 0x12
sbb ebp, dword [ecx]
sub dword [ecx + 0x75], esp
push 0xdac88cf
inc ebx
push 0xda295df9
xchg ebp, eax
outsb dx, byte [esi]
aam 0xc1
cmp dword [edx + 0x35], ebx
or eax, 0x6b6de165
imul ecx, dword [edx + ebx*2 + 0x7e95da96], 0x5910b7f8
sub dword [ecx], ebp
mov word [esp + ecx*4 + 0x29a58c8c], cs
mov byte [ecx], ch
sub dword [ecx], ebp
mov bh, 0x9e
sbb ebp, dword [ecx]
sub dword [ecx + 0x75], esp
push 0xdac88cf
mov edx, 0x5df9687a
sub dword [edi + 0x29291b9e], esi
popal
jne 0x40f81b
iretd
stc
pop ebp
sub dword [esi - 0x1c], ebp
loope 0x40f7bb
sub edi, ecx
pop ebp
sub ecx, eax
test eax, 0x650d355a
popal
cli
out dx, eax
dec ebp
sub dword [ecx], ebp
outsb dx, byte [esi]
enter 0x36af, 0xffffffffffffffef
dec ebp
sub dword [edi + 0x29296e60], esi
xor dword [0x27d96ebc], 0x27696b6e
js 0x40f821
out dx, eax
dec ebp
sub dword [edi + esi*4 + 0x29295eb7], edi
scasd eax, dword es:[edi]
mov ch, 0x6c
dec ebp
sub dword [edi + 0x294d6cf3], ebp
mov bh, 0x8a
daa
daa
daa
xor dword [0x6c7ebcbc], 0x92af9c8c
cld
cmp eax, 0x68fb729
daa
daa
adc ebp, dword [0xe1294d6c]
xchg ebp, eax
and esi, dword [ebx - 0x25d6b294]
movsd dword es:[edi], dword [esi]
mov esp, 0x89e1185e
xor dword [0x3427496e], 0xda699561
cmpsb byte [esi], byte es:[edi]
dec esi
inc esi
popal
fisub dword [ebp - 0x1ee7a144]
mov dword [ecx + 0x27496e35], eax
xor al, 0x61
xchg ebp, eax
imul ebx, edx, 0x61464ea6
cli
outsb dx, byte [esi]
retf