Function at 0x81d710
Capabilities:
Encode data using xor

Disassembly:
add al, 0xb5
scasd eax, dword es:[edi]
inc edi
add eax, 0x8ebd462
jmp 0x81d71a
add byte [esi], dh
push es
add byte [eax], al
add byte [eax], al
add byte [eax - 0x18], ah
add byte [eax], al
add byte [eax], al
jmp 0x81d71a
pushal
call 0x81d720
pop ebp
sub ebp, 0x10
sub ebp, 0x41d710
jmp 0x81d736
movsd dword es:[edi], dword [esi]
mov bh, 0xe3
mov eax, 0x41d710
add eax, ebp
add eax, 0x4c
mov ecx, 0x5e3
mov edx, 0x6587ad6a
add byte [edx + 0x6587ad6a], bh
xor byte [eax], dl
inc eax
dec ecx
jne 0x81d74d
jmp 0x81d760
loope 0x81d709
loope 0x81d747
push esi
push 0x6a
push 0xffffffffffffffeb
stosd dword es:[edi], eax
xchg edx, eax
push 0x6a
push 0x69
cmpsd dword [esi], dword es:[edi]
shr byte [ebp + 0x6a], cl
push 0x6a
rol byte [edx + 0x6a], 1
push 0x6a
popfd
mov byte [ecx - 0x5e], ch
loope 0x81d76b
push 0x6a
push 0x69
scasd eax, dword es:[edi]
cmp ah, bh
push cs
dec esi
xchg esi, eax
jecxz 0x81d7fb
dec esi
add dh, byte [esi + 0x11]
push 2
sahf
xor dword [ecx + 0x6a], ebx
imul eax, dword [esi + 0x4e], 2
sub eax, 0x82be086f
outsd dx, dword [esi]
push 0x6a
or byte [esi + 0x6a6a6f82], bh
push 0xffffffffffffff83
inc edx
push 0x6a
push 0x3f
loope 0x81d733
loope 0x81d79e
bound ebp, qword [edx + 0x6a]
push 0xffffffffffffffe1
jmp dword [esi + 0x6a]
add bl, byte [esi + 0x6b6a5931]
inc esi
dec esi
cmp eax, dword [edx + 0x6a6a6a6f]
adc dword [ebp + 0x68], 0x6a
push 0xffffffffffffffe7
push cs
dec esi
xchg esi, eax
jecxz 0x81d83d
dec esi
loope 0x81d780
xchg ebp, eax
pop ds
xchg bp, ax
pop ds
bound eax, qword [edx + 0x6a6a6a06]
loope 0x81d7de
bound ebp, qword [edx + 0x6a]
push 0x59
mov dword [0x82e9b859], eax
outsd dx, dword [esi]
and ah, byte [ebp - 0x12]
and al, 0x6a
push 0x6a
loop 0x81d83e
push 0x6a
push 0xc
loope 0x81d898
push ebx
ljmp 0x6a70
out dx, al
jnp 0x81d89d
push 0x6a
or al, 0xeb
xchg ecx, eax
xchg ebp, eax
dec edi
out dx, al
jg 0x81d8a8
push 0x6a
push 0x2b
and dword [esi + 0x43959595], 0x26
push ebx
push 0x6a
sub eax, dword [ebx - 0x6a6a6a5a]
inc ebx
push ebx
imul ebp, ecx, 0xffffffab
outsd dx, dword [esi]
jmp 0xd80546d4
stosd dword es:[edi], eax
insb byte es:[edi], dx
jmp 0x836b46e1
outsb dx, byte [esi]
test al, 0x66
push 0x3f
loope 0x81d7fa
cmp al, 0x3d
aas
loope 0x81d898
loope 0x81d893
bound edx, qword [esi + 0x6ce0ead8]
jmp 0x81d830
insd dword es:[edi], dx
jmp 0x81d839
push 0x6a
push 0x6fef65b8
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x81d8cc
loopne 0x81d91b
sub al, 0x78
mov eax, 0x95b2e965
js 0x81d85a
jmp 0x96176e5a
mov dl, 0x95
xchg ebp, eax
xchg ebp, eax
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x81d8df
js 0x81d86d
jmp 0x6aec42bb
jmp 0x6aec42bb
push 0x6a
push 0xffffffffffffffe0
jl 0x81d8f4
js 0x81d882
mov eax, 0x6b40e965
push 0x6a
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x81d907
jmp 0x6aec4410
inc eax
imul ebp, dword [edx + 0x6a], 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0x81d956
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
js 0x81d895
jns 0x81d889
push 0x6fef65b8
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x81d916
js 0x81d8a4
jns 0x81d898
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x81d925
mov eax, 0x6a6fef65
push 0x6a
loopne 0x81d974
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
outsd dx, dword [esi]
js 0x81d8b3
jns 0x81d8a7
push 0x6fef65b8
mov eax, 0x6a6fef65
push 0x6a
loopne 0x81d983
push 0x6a
push 0xffffffffffffffe0
jl 0x81d934
sub al, 0x78
mov eax, 0xee65aa79
js 0x81d8c2
jns 0x81d8b6
out dx, al
insb byte es:[edi], dx
push 0x6a
push 0xffffffffffffffe1
mov ch, 0x41
push 0x6a
loope 0x81d8c9
inc ecx
mov dl, 0xe0
imul esp, edx, 0x68d12d6d
push 0x6a
loopne 0x81d981
loop 0x81d987
sub eax, 0x6a6a68d1
shr dword [eax + 0x6a], 1
push 0x6a
push 0xffffffffffffff83
sbb dl, byte [ebp + 0x6bd29595]
push 0x6a
push 0x68
mov eax, 0x6a6fef65
push 0x6a
sbb dword [edx], 0xffffff95
xchg ebp, eax
xchg ebp, eax
shr byte [ebx + 0x6a], cl
push 0x6a
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x81d961
loopne 0x81d9b0
sub al, 0x78
mov eax, 0xb868aa79
out dx, eax
outsd dx, dword [esi]
js 0x81d8ef
jns 0x81d8e3
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x81d970
js 0x81d8fe
call 0x96176f00
inc ecx
test eax, 0x6a6a6bd1
push 0x65
out dx, eax
push 0x6a
out dx, eax
pop esi
push 0x6a
push 0xffffffffffffffd3
imul ebp, dword [edx + 0x6a], 0x6a
push 0x6fef65b8
push 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0x81d9e4
out dx, eax
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x81d995
sub al, 0x78
mov eax, 0xb868a379
js 0x81d923
jns 0x81d910
push 0x6fef65b8
out dx, eax
out dx, eax
outsd dx, dword [esi]
push 0x6a
push 0xffffffffffffffe0
jl 0x81d9a4
loopne 0x81d9f3
sub al, 0x78
mov eax, 0x95b4e865
xchg ebp, eax
xchg ebp, eax
js 0x81d932
call 0x96176f34
cmp al, 0xe1
popfd
loope 0x81d920
inc ecx
lahf
cdq
into
xor al, 0x83
bound edx, qword [ebp - 0x54dd6a6b]
mov ah, byte [edx - 0x20]
insb byte es:[edi], dx
sub al, 0xe1
adc bl, 0x6b
push 0x6a
push 0x68
mov eax, 0x6a6fef65
push 0x6a
loopne 0x81da21
jl 0x81d9d2
sub al, 0x78
mov eax, 0xb868a379
out dx, eax
outsd dx, dword [esi]
js 0x81d960
jns 0x81d94d
push 0x6fef65b8
push 0x6a
push 0xffffffffffffffe0
jl 0x81d9e1
push 0x6a
loopne 0x81da30
sub al, 0x78
mov eax, 0x95b4e865
xchg ebp, eax
xchg ebp, eax
js 0x81d96f
call 0x96176f71
jmp 0x81d951
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
jmp 0x81d95d
xchg ebp, eax
xchg ebp, eax
xchg ebp, eax
jmp 0x81d969
jmp 0x81d975
push 0x6a
push 0xffffffffffffffeb
mov ebx, 0x6a6a6a6a
cmp al, 0xe1
popfd
inc ecx
lcall 0x94f1, 0x8334ce99
into
xor al, 0x83
int1
xchg esp, eax
xchg ebp, eax
xchg ebp, eax
loopne 0x81da68
sub al, 0x59
mov dword [0x656b82aa], eax
out dx, al
jo 0x81da70
push 0x6a
jmp 0x81d9c5
xchg ebp, eax
aaa
inc ecx
pop ss
invalid
xor eax, 0xe74e5ee1
push cs
dec esi
outsb dx, byte [esi]
sub dword [esi + 0x6a], 0x6a
push 0xffffffffffffffcf
retf 0x3c72
ljmp 0xa6d6:0xafd6c7d1
insd dword es:[edi], dx
salc
cmpsb byte [esi], byte es:[edi]
invalid