Function at 0x102fa7f4
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x102fa7fa
pop ebp
sub ebp, 6
sub ebp, 0x2fa7f4
jmp 0x102fa858
mov al, byte [esp + 0x28]
cmp al, 1
je 0x102fa86f
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x102fa878
mov eax, 0x2fa7f4
add eax, ebp
add eax, 0xaa
mov ecx, 0x57f
mov edx, 0x87859ff9
xor byte [eax], dl
inc eax
dec ecx
jne 0x102fa88f
jmp 0x102fa8a2
jb 0x102fa8d8
jb 0x102fa916
vpsubw xmm7, xmm0, xmm1
js 0x102fa8e4
add ecx, edi
stc
stc
cli
xor al, 0x41
invalid
push eax
cmpsb byte [esi], byte es:[edi]
push esi
adc dword [ecx], 0xfffffffc
stc
stc
stc
adc cl, dl
stc
stc
stc
lodsb al, byte [esi]
jb 0x102fa8fe
jb 0x102fa967
int1
stc
stc
stc
jb 0x102fa95d
cmc
stc
stc
stc
jb 0x102fa96b
jmp 0x4929a2f5
enter 0x7afb, 0x3b
std
mov al, 0xf6
jl 0x102fa914
push es
push es
push es
movsb byte es:[edi], byte [esi]
cmp esi, ebp
stc
jb 0x102fa985
jne 0x102fa8ee
invalid
std
stc
stc
stc
xchg ecx, eax
imul eax, dword [0x9d91f9f5], 0xf8f9db52
aad 0xdd
test al, 0x11
cld
stc
stc
stc
adc dh, al
sti
stc
stc
lodsb al, byte [esi]
jb 0x102fa945
push es
invalid
inc esp
int1
stc
stc
stc
js 0x102fa94b
out dx, al
fsub qword [edx - 0x11f78798]
mov byte [0xee087868], al
out dx, al
fsub qword [edx - 0x35cf3598]
mov byte [0xca30ca68], al
xor dl, cl
sub edi, dword [edx + 0x11]
cld
mov cl, 0xf6
jge 0x102fa90f
stc
stc
stc
div byte [ecx - 0x4f]
jno 0x102fa90f
mov cl, 0xf9
stc
stc
stc
lahf
jb 0x102fa949
sar byte [ecx + 2], 0x11
idiv byte [ebp - 0x1d]
adc esi, esi
jge 0x102fa94e
stc
stc
stc
jns 0x102fa972
adc dh, dh
jge 0x102fa95c
stc
stc
stc
lahf
js 0x102fa97c
push es
fdivr st(6), st(0)
jge 0x102fa96b
idiv byte [ebp - 0x14]
stc
stc
stc
mov eax, 0x6063510
push es
push es
push es
sal byte [ebp + 0x387af8c0], 1
cld
jp 0x102fa9a2
std
adc byte [esi + eax + 6], al
push es
shr byte [ebp + 0x387afbc0], 1
invalid
adc esp, edi
adc byte [edx + 6], dl
push es
push es
movsb byte es:[edi], byte [esi]
cmp esi, ebp
stc
lodsb al, byte [esi]
jb 0x102fa9c5
scasd eax, dword es:[edi]
scasb al, byte es:[edi]
lodsb al, byte [esi]
jb 0x102fa941
cmc
jb 0x102fa93c
int1
add eax, 0xff73794b
js 0x102fa9ff
clc
stc
stc
stc
jno 0x102fa9c4
invalid
js 0x102faa06
clc
stc
stc
stc
inc edx
sti
stc
stc
stc
sti
sub esi, esi
jl 0x102fa9d2
stc
stc
stc
jae 0x102fa9ca
mov edi, 0x7af62beb
and dword [esi], eax
jmp 0x102faa09
sub esi, esi
jp 0x102faa02
push es
push es
push es
sti
sub esi, esi
jl 0x102fa9e5
stc
stc
stc
jae 0x102fa9dd
mov edi, 0x7af62beb
xchg ebx, eax
jp 0x102fa987
stc
stc
stc
retf 0xfb39
stc
stc
jae 0x102fa9f2
out dx, eax
mov edi, 0x7af62beb
sar eax, cl
sub esi, esi
jp 0x102fa9dc
idiv byte [edx - 0x2d]
clc
stc
stc
sti
sub esi, esi
jl 0x102faa0d
stc
stc
stc
jae 0x102faa05
mov edi, 0x39ea2beb
sti
sub esi, esi
jl 0x102faa1c
stc
stc
stc
jae 0x102faa14
mov edi, 0x39ea2beb
sti
sub esi, esi
jl 0x102faa2b
stc
stc
stc
jae 0x102faa23
mov edi, 0x39ea2beb
sti
sub esi, esi
jl 0x102faa3a
stc
stc
stc
jae 0x102faa32
mov edi, 0x39ea2beb
idiv byte [ebp - 1]
stc
stc
stc
jb 0x102faa76
shl byte [ecx], cl
jae 0x102faa4e
jno 0x102faa54
mov esi, 0xf9f9fb42
stc
adc byte [ecx + 0x41060606], cl
push es
push es
inc ecx
clc
stc
stc
stc
sti
sub esi, esi
jl 0x102faa67
stc
stc
stc
jae 0x102faa5f
mov edi, 0x39ea2beb
sti
sub esi, esi
jl 0x102faa76
stc
stc
stc
jae 0x102faa6e
mov edi, 0x7bf62beb
daa
push es
push es
push es
sar byte [edx], cl
inc edx
clc
stc
stc
stc
idiv byte [ebp + ecx*8 - 7]
stc
stc
inc eax
clc
stc
stc
stc
sti
sub esi, esi
jl 0x102faa9b
stc
stc
stc
jae 0x102faa93
mov edi, 0x30ea2beb
sti
sub esi, esi
jl 0x102faaaa
stc
stc
stc
jae 0x102faaa2
mov edi, 0x7bf62beb
daa
push es
push es
push es
scasd eax, dword es:[edi]
jb 0x102faacd
ror byte [edx + ecx], cl
pop ebp
cmpsd dword [esi], dword es:[edi]
adc cl, dh
push es
push es
push es
mov cl, 0x38
sbb ecx, esi
jae 0x102faace
invalid
mov edi, 0xf8401172
jb 0x102faae3
inc eax
clc
stc
stc
stc
sti
sub esi, esi
jl 0x102faad8
stc
stc
stc
jae 0x102faad0
mov edi, 0x30ea2beb
sti
sub ebp, edx
xor bl, bh
sub esi, esi
jl 0x102faae7
stc
stc
stc
jae 0x102faadf
mov edi, 0x7bf62beb
daa
push es
push es
push es
js 0x102faafc
stc
test cl, bh
stc
js 0x102fab21
push es
push es
push es
push es
js 0x102fab08
stc
cld
stc
stc
js 0x102fab2d
push es
push es
push es
push es
js 0x102fab14
jns 0x102fab0e
stc
stc
stc
js 0x102fab41
stc
stc
stc
stc
js 0x102fab20
jns 0x102fab1a
stc
stc
stc
js 0x102fab4d
stc
stc
stc
stc
scasd eax, dword es:[edi]
jb 0x102fab3a
ror byte [ecx], cl
or bl, byte [ebp - 0x59]
or dword [edx], ecx
pop ebp
cmpsd dword [esi], dword es:[edi]
adc byte [edx + 7], ah
push es
push es
jae 0x102fab37
invalid
mov edi, 0x113930ca
clc
xor byte [ecx], bh
adc eax, edi
idiv byte [ebp - 0x1d]
stc
stc
stc
js 0x102fab6e
sti
stc
stc
stc
jb 0x102fab5d
scasd eax, dword es:[edi]
jb 0x102fab5d
ror byte [ecx], cl
or bl, byte [ebp - 0x59]
inc edx
clc
stc
stc
stc
adc byte [edx - 0x5bf9f9f9], cl
push es
movsb byte es:[edi], byte [esi]
rol byte [ecx + esi*8 - 0x5859c18e], cl
jb 0x102fab84
movsb byte es:[edi], byte [esi]
cmp esi, ecx
stc
cmpsb byte [esi], byte es:[edi]
cmpsd dword [esi], dword es:[edi]
adc ch, bh
stc
stc
stc
and dword [ecx + 0xd413d05], esi
pop esi
salc
stc
cli
cmp al, 0x78
cmp dword [eax - 6], edx
stc
stc
inc eax
jns 0x102fab82
stc
stc
inc ebx
iretd