Function at 0x1071018
Capabilities:
Encode data using xor

Disassembly:
jmp 0x1071022
pushal
call 0x1071028
pop ebp
sub ebp, 0x10
sub ebp, 0xc71018
jmp 0x107103e
mov eax, 0xc71018
add eax, ebp
add eax, 0x4c
mov ecx, 0x5dd
mov edx, 0x961ee659
xchg esi, eax
xor byte [eax], dl
inc eax
dec ecx
jne 0x1071055
jmp 0x1071068
rcl byte [edx + edx*8 + 0x595965d0], cl
pop ecx
fcomp dword [eax + 0x595959a1]
pop edx
xchg esp, eax
loope 0x10710cb
pop ecx
pop ecx
pop ecx
jecxz 0x10710f0
pop ecx
pop ecx
pop ecx
scasb al, byte es:[edi]
mov ebx, 0xd8d2915a
push ebp
pop ecx
pop ecx
pop ecx
pop edx
pushfd
or dword [ecx], ecx
xor ebp, esp
push es
jnp 0x10710ee
xor dword [0x5859fde9], eax
jne 0x107111a
xor dword [ebp + 0x5c], ebp
in eax, dx
jno 0x1071054
pop esp
pop ecx
pop ecx
pop ecx
mov al, 0x6d
pop ecx
pop ecx
pop ecx
aam 0x3d
jge 0x1071055
sal byte [ebp + 0x7d], 1
sal byte [ebp + 0x5951dcd2], cl
pop ecx
pop ecx
ror ah, cl
push ebp
pop ecx
pop ecx
pop ecx
rcl ah, cl
dec ecx
pop ecx
pop ecx
pop ecx
cwde
mov al, 0x5b
push 0x5d9bda5b
adc byte [esi - 0x24], dl
pop ebx
ficomp dword [ebx - 0x23a9efa3]
lodsd eax, dword [esi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
sal byte [ebp + 0x7d], cl
aam 0x3d
jge 0x107113a
wait
push ebp
pop ecx
rcl ch, cl
jge 0x1071141
pop ecx
pop ecx
pop ecx
xor ebp, esp
push es
jnp 0x1071145
xor dword [0x5859fde9], eax
jmp 0x765f6af0
pop ecx
pop eax
jne 0x1071171
aam 0x3d
jge 0x107109d
rcl byte [ebp + 0x7d]
mov cl, 0x5c
pop ecx
pop ecx
pop ecx
mov al, 0xe
pop ebx
pop ecx
pop ecx
aam 0x3d
jge 0x10710ae
sal byte [ebp + 0x7d], 1
or eax, 0x552ca604
cmpsb byte [esi], byte es:[edi]
sub al, 0x51
mov cl, 0xdd
pop ecx
pop ecx
pop ecx
shl ah, cl
push ecx
in al, 0x51
pop ecx
pop ecx
pop ecx
fsubr dword [eax - 0x549071ed]
fsubr dword [eax - 0x549071ed]
push 0xffffffffffffff90
fsubr dword [ebx + 0x14c71b01]
fsubr dword [ebx + 0x14c71b01]
push 0xffffffffffffff8b
fidiv dword [ecx - 0x22a9eea4]
mov ebx, edx
mov cl, 0x5c
adc dword [esi - 0x23], edx
pop ss
pop ecx
pop ecx
pop ecx
push esi
rcl dword [ecx]
pop ecx
pop ecx
pop ecx
aas
rol byte [ebp + 0x60], cl
fldenv [edx + 0x43dd56b1]
pop ecx
pop ecx
pop ecx
fldenv [edx + 0x48dd56b0]
pop ecx
pop ecx
pop ecx
aas
fsub dword [edx - 0x22a9835a]
dec esp
pop ecx
pop ecx
pop ecx
sbb byte [eax - 0x5959596b], dh
cmpsb byte [esi], byte es:[edi]
jo 0x1071189
pushal
pop eax
ficomp dword [eax + 0x5db1da5c]
mov al, 0xe4
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
jo 0x1071190
pushal
pop ebx
ficomp dword [eax + 0x5db3da5f]
mov bl, 0x5d
fidiv dword [ecx - 0x590d4fa4]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
sal byte [ebp + 0x7d], cl
aam 0x3d
jge 0x10711f7
wait
push ebp
pop ecx
or al, 0xd2
mov ch, 0xf
push cs
or al, 0xd2
sub al, 0x55
shl byte [ecx + edx*2], cl
movsd dword es:[edi], dword [esi]
jmp 0x1071185
fidiv dword [ebx + 0x58]
pop ecx
pop ecx
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x67]
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x67]
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x67]
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x67]
push esi
fstp qword [edi + 0x59]
pop ecx
pop ecx
rol byte [esi + 0x5ad38172], cl
rcr dword [esi + 0x1e], 1
loop 0x10712a4
pop ecx
pop ecx
pop ecx
mov al, 0x29
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
loope 0x10712ab
pop ecx
pop ecx
pop ecx
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x67]
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov edx, dword [esi - 0x25]
xchg dword [esi - 0x658d595a], esp
loop 0x10712d4
pop ecx
pop ecx
pop ecx
push esi
fsubr qword [ebp + 0x59]
pop ecx
pop ecx
loopne 0x10712df
pop ecx
pop ecx
pop ecx
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x70]
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov edx, dword [esi - 0x25]
xchg dword [esi - 0x2df0595a], esp
scasb al, byte es:[edi]
jb 0x107125d
cmpsb byte [esi], byte es:[edi]
psrld mm5, qword [esi - 0x255538e]
stosb byte es:[edi], al
std
pop es
mov al, 0x51
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
adc dword [eax + 0x5fd351b9], ebx
pop ds
sal byte [ecx + 0x595958e0], cl
pop ecx
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x70]
dec edx
nop
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec edi
pop ds
dec ebx
mov edx, dword [esi - 0x25]
xchg dword [esi - 0x5e27595a], esp
pop ecx
and al, 0x59
pop ecx
fadd dword [eax - 0x5959595a]
fsub dword [ecx + 0x59595c59]
fadd dword [eax - 0x5959595a]
fsub dword [ecx + 0x595959d9]
fmul dword [eax + 0x59595959]
fsub dword [ecx + 0x595959d9]
fmul dword [eax + 0x59595959]
psrld mm5, qword [esi - 0x255568e]
pop es
mov al, 0xc2
cmpsd dword [esi], dword es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
rcr dword [edi + 0x1f], cl
push 0xffffffffffffff90
cdq
mov cl, 0x58
push esi
fld qword [ebx + 0x59]
pop ecx
pop ecx
fmul dword [eax + 0x5959595b]
sal byte [ecx + 0x72aed20f], cl
test eax, 0xe207fdaa
pop eax
pop ecx
pop ecx
pop ecx
mov al, 0x2a
cmpsd dword [esi], dword es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
add al, 0x72
and al, 0x51
rcr byte [esi - 0x432df8fa], cl
add al, 0x9b
push ecx
pop ecx
push es
shr byte [ebp + 0x7d], cl
aam 0x3d
jge 0x10713c1
mov al, 0x5d
pop ecx
pop ecx
pop ecx
loope 0x10713c3
cmp dword [eax], ebp
loope 0x10713b0
dec ecx
sahf
pop ecx
pop edx
pushfd
fcomp dword [ecx + 0x59595a22]
loopne 0x1071373
pop ebx
pop ecx
pop ecx
jecxz 0x10713d0
into
rep movsd dword es:[edi], dword [esi]
imul ecx, dword [ecx + 0x19], 0xafdc5610
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
mov al, 0x5d
pop ecx
pop ecx
pop ecx
shl byte [ebx], cl
invalid
dec edi
dec edi
dec edi
xchg edi, eax
les ebx, [eax]
dec edi
les eax, [eax]
dec ebx
into
mov ch, 0x4f
dec edi
dec edi
dec edi
inc eax
retf
or dword [edi + 0x4f], ecx
dec edi
dec esp
cdq
into
mov byte [edi + 0x4f], al
dec edi
dec edi
into
cmpsb byte [esi], byte es:[edi]
inc edi
dec edi
dec edi
dec edi
into
mov dh, 0x4f
dec edi
dec edi
dec edi
inc eax
retf