Function at 0x101f77e5
Capabilities:
Encode data using xor

Disassembly:
inc bp
mov dword [edi], eax
call fcn.10264e9b
add byte [eax], al
add byte [edi], bh
jae 0x101f7865
jne 0x101f786b
outsb dx, byte [esi]
inc eax
aas
and al, 0x62
popal
jae 0x101f7868
arpl word [edi + 0x73], bx
je 0x101f7876
popal
insd dword es:[edi], dx
bound esi, qword [ebp + 0x66]
inc eax
pop edi
push edi
push ebp
aas
and al, 0x63
push 0x745f7261
jb 0x101f7879
imul esi, dword [ebx + esi*2 + 0x40], 0x7340575f
je 0x101f7886
inc eax
inc eax
inc eax
jae 0x101f789b
inc eax
inc eax
push ecx
inc ecx
inc ebp
pop edi
dec edx
push eax
inc edx
pop edi
push edi
pop edi
dec edx
inc eax
pop edx
add byte [esi], dh
mov word [edi], dx
lea esp, [esp + 4]
jmp fcn.10251477
pop ebp
inc eax
push esi
or dword [ebx + 0x5f], eax
push ebp
jmp 0x101f7861
push ds
popal
loop 0x101f78bf
adc al, 0xab
stosd dword es:[edi], eax
pushal
aas
adc al, 0x28
into
sub dh, cl
push ecx
fadd st(7)
push cs
mov bl, 0x50
das
pop esi
loop 0x101f785c
jmp 0x101f78d7
fadd st(1)
and dword [eax + 0x193c0bb5], ebx
mov ch, 0xb
cmp al, 0x19
sbb dword [edi - 0x2c], edi
jg 0x101f7850
rcl dword [eax]
sbb eax, 0x6a57783b
jmp 0x101f7870
out 0x71, eax
add ebp, dword [0xcfa3fa87]
push 0xffffffffffffff87
sahf
adc dh, byte [edi + 0x52b78b52]
xlatb
into
retf 0x9a6f
push edx
mov esi, dword [edi - 0x353128ae]
outsd dx, dword [esi]
lcall 0xaa6e, 0x77426743
invalid
in al, dx
lock and dword [edi + 0x28], edi
jbe 0x101f7914
nop
sub edx, dword [esi + eax - 0x48]
fadd dword [edi + 0x29]
push ss
je 0x101f7919
and dword [esi + ebx], ebx
loopne 0x101f7946
das
cmp dword [esi - 0x63], esp
and dword [ecx], ebp
push ss
dec ebx
xlatb
pop edi
popal
xchg ebx, eax
into
mov byte [0xb2714af1], al
stc
xor dword [esi - 0x17], eax
mov dl, 0xfd
std
lahf
pop ebp
lodsb al, byte [esi]
insb byte es:[edi], dx
fst qword [ecx + 0x7f]
xor al, 0x69
mov al, 4
loope 0x101f796f
sub eax, 0x90c96c49
je 0x101f7893
fadd st(5), st(0)
inc ecx
in al, 0x11
or ah, dl
int1
int3
loope 0x101f78da
jmp 0xb4c8c5cb
test eax, 0xc09d11a4
mov al, byte [0x2d26383f]
xor byte [eax], bl
and al, 0x76
enter 0xffffffffffff87da, 0xffffffffffffffb3
pop dword [esi + 0x7d44479e]
push ss
test byte [edi + 0x79], 0x24
and edx, dword [0xe3446761]
cmp edi, dword [eax + 0x67]
aas
push esi
outsd dx, dword [esi]
sub eax, 0x28cd2e24
stosd dword es:[edi], eax
sub byte [ebx - 0x55e77bc6], ch
dec ebp
mov eax, dword [edi + 0x41]
cmp al, byte [eax + ebx + 0x478b4daa]
inc ecx
fstp qword [ebx - 0x5d]
arpl bp, sp
loop 0x101f78f2
mov al, 0xe4
in eax, 8
lcall 0x50bd, 0xc0ffbd52
mov word [ecx + 0x45c2b57c], fs
jp 0x101f78ed
mov esi, 0x2b864e93
push es
add byte [esi], bl
and dword [ebp + 0x58], ebx
test byte [ecx + 0x17a0b374], ch
adc dword [esp + edx - 5], ecx
cmp dword [edi + 0x2e], esi
clc
daa
pop edi
adc esi, dword [edx - 0x6370df2]
pop es
mov esp, 0xa391124e
not dword [edi + 0x2e]
clc
fiadd dword es:[edx + 0x61]
jae 0x101f79e7
loop 0x101f7a17
sub ecx, ebp
sub eax, 0xf22e47d6
clc
and eax, 0x942844ad
jns 0x101f7948
js 0x101f7948
pop ebx
pop edx
add ebx, dword [edx + 0x780495e1]
rol byte [ebx + 0x45], 1
aas
jne 0x101f7a25
in eax, 0xd3
mov ds, word [ebp + 0x2e57f702]
clc
and edx, ecx
inc edi
add al, ah
ljmp 0x4419
pop ebx
jnp 0x101f7a44
clc
and dword [ecx - 0x44aedd6b], ebx
les eax, [edx + eax*4]
mov esp, dword [ebx]
cwde
popal
sbb byte [edx + 0xe738c10], al
loope 0x101f7997
push es
mov ah, 0x26
out dx, al
jp 0x101f798d
lodsb al, byte [esi]
push ecx
in eax, 0xf9
jns 0x101f7a0e
lodsb al, byte [esi]
nop
jne 0x101f79bd
salc
cmp dword [ebx + 0x46], edi
ret 0x36fe
invalid
daa
mov dh, 0x9a
pop edx
dec edx
clc
pop edi
mov ah, 0x87
sub eax, 0x3ac5a934
sbb dh, byte [edi + 0x29]
cmp bl, byte [edx]
ja 0x101f7a5e
inc ebp
invalid
jge 0x101f7a6f
das
mov bl, 0x2a
push esi
or byte [0xcd572e2c], ah
pop edi
mov edx, 0xe8f61964
jnp 0x101f7a21
pop ebx
xchg ebx, eax
and al, 0xfa
stosb byte es:[edi], al
jbe 0x101f7ad5
jbe 0x101f7a10
mov al, 0xf4
enter 0xfffffffffffff32d, 0xffffffffffffff8f
neg byte [edx + 0x67]
jecxz 0x101f7a49
hlt
sub eax, 0x5af68ff3
jcxz 0x101f7a49
adc byte [edx - 0x44], ah
in al, dx
xor byte [edi], bh
aas
sub al, 0xd7
call 0xaaf232c
clc
pop esp
jecxz 0x101f7a62
les ecx, [esi]
cmp byte [eax + 0x6e68d4ee], al
xor ebx, dword [edx + 0x2eadd4f5]
clc
pop ebx
rol dword [ecx + 0xd], 1
jo 0x101f7a31
arpl si, cx
cmp al, 0x61
rol dword [ebp + esi*8 - 0x43], cl
clc
pop edx
cmc
mov ebp, 0x5af8f22e
xchg edi, eax
inc eax
int1
in al, 0xfc
adc eax, 0x694256f
jl 0x101f7a9a
lahf
invalid
cmp edx, dword [esi + 0xa]
outsd dx, dword gs:[esi]
aam 0xad
clc
pop eax
sub dword [ecx - 0x684536a9], edx
cmpsd dword [esi], dword es:[edi]
popfd
cmp cl, byte [edx + edx*2]
jbe 0x101f7b3b
hlt
cmp eax, 0x927016f9
loopne 0x101f7aaf
wait
popfd
inc ecx
mov esp, 0x46aff2cd
and dl, ch
fsubr dword [esi]
clc
push esi
or eax, 0x9480e091
pop es
cmp al, 0x1c
sbb al, byte [edi - 0x1e]
and al, 0xf4
enter 0xfffffffffffff22e, 0xfffffffffffffff8
push ebp
cmpsb byte [esi], byte es:[edi]
fcmovne st(0), st(6)
salc
cmp edi, ecx
inc edi
inc ecx
shr dword [edi], 1
xchg esp, eax
cmp ax, word [ebp + 0x2ed8d5be]
clc
push esp
leave
pop esp
add dword [0xd22f24b9], edx
xchg byte [edx], bh
xchg ecx, eax
jecxz 0x101f7acd
dec ecx
dec ecx
cmp eax, 0x3644d5af
and eax, 0x156e32a7
mov ah, dh
enter 0xfffffffffffff22e, 0xfffffffffffffff8
push edx
pop esi
pop edx
mov ebp, 0x6da9d5ab
push edi
std
nop
into
imul bh
shr dword gs:[esi], cl
clc
clc
push ecx
mov ebp, 0x4ea3ab25
mov al, 0x17
and dword [ecx + ecx*4 + 0x20], edi
inc esp
ret