Function at 0x813643
Capabilities:
Encode data using xor

Disassembly:
mov al, byte [0x313100ff]
add byte [ecx], dh
xor byte [eax], al
cmp byte [esi], ch
invalid
aaa
add byte [esi + 0x69], dl
loop 0x8135a5
push dword [edi]
add byte ss:[eax + 0x50], bl
add byte [edx], dh
xor byte [eax], dh
xor byte [eax], al
cmp dword [eax], edi
imul esi, dword [ebx], 0x4558454f
cmc
and al, 0x70
sub ch, dh
out dx, al
xor dword [ebp + 0x74], esi
insd dword es:[edi], dx
mov al, byte [0xe986f4e3]
jecxz 0x8135cc
xchg cl, ch
or al, byte [ebx - 0x21]
add dl, ah
cmpsb byte [esi], byte es:[edi]
loop 0x8135b1
mov dl, 0x61
bound ebp, qword [ebp + 0x2d]
fldenv [ecx + 0x64]
bound esp, qword [edx + 0x53]
cmp ebp, dword [edx + 0x67]
imul ecx, dword [eax + 0x61], 0x6e
add al, 0x76
add byte [eax + ebp*8 + 0x37], dh
in eax, 0x32
jns 0x813672
sub eax, 0x2d726162
push es
dec edx
fsub dword [ecx + 0x2d63fa3f]
jae 0x813673
sub eax, 0xa1d84a06
aas
cli
arpl word [0x1c876573], bp
aam 0xc4
shr dword [edx], 0x8b
sub eax, 0x58657463
add al, 0xa0
xor dh, al
jp 0x813658
xchg dword [esp + edx*8], ebx
invalid
mov al, byte [0x387af032]
push ebp
cwde
js 0x8135d6
sbb ebp, dword [ebx + 0x65]
jns 0x8135d0
invalid
mov eax, dword [ecx + ebx*2 + 0x20]
jne 0x8136a0
outsb dx, byte [esi]
imul bp, word [esp + esi*2 + 0x12], 0x82e6
das
dec ebx
sub eax, 0xb8456101
jecxz 0x813603
cmp al, 0x73
sub eax, 0x69740a6d
jp 0x81362c
jae 0x813672
insd dword es:[edi], dx
or dh, byte [ecx + ebp*2 + 0x7a]
loope 0x8136a9
pop ebp
push ebp
inc dword [ecx + 0x646e6179]
js 0x813684
invalid
popal
out 0xe0, al
xor ebx, eax
insb byte es:[edi], dx
imul esp, eax, 0x646f6dba
fst dword [eax]
loopne 0x81361b
insd dword es:[edi], dx
outsd dx, dword [esi]
fst dword fs:[eax]
mov edi, eax
ret
sbb eax, 0x6d651d01
push ebp
popal
add dword [0x61556d65], ebx
adc dword [esi - 2], ebp
adc al, 0xdc
int1
ja 0x8136af
imul eax, ebp, 0xa9706d61
popal
insd dword es:[edi], dx
jo 0x813631
jae 0x8136ff
jae 0x8136db
aaa
les ebp, [eax]
enter 0x699f, 0x61
sub eax, 0x31004c57
ljmp 0x60b8
ret
test byte [edi], ah
sub eax, 0xdc2d6e69
ja 0x8136de
fsub qword [ebp + 0x77]
sub edi, dword [ebx]
inc ebp
mov esp, 0x63616746
je 0x8136f7
cmp eax, dword [ebp - 0x44]
inc esi
popal
arpl word [ebx + edi + 0x7c], si
enter 0x1766, 0x26
je 0x813732
jl 0x813686
pop ss
je 0x813732
outsd dx, dword [esi]
insb byte es:[edi], dx
jge 0x813722
insd dword es:[edi], dx
js 0x8136d1
scasb al, byte es:[edi]
jo 0x8136c5
cwde
popal
jae 0x813746
jae 0x81365f
jb 0x813736
or eax, 0x81ddca49
push 0xa45c6d74
push 0xa45c6d74
pop esp
movsb byte es:[edi], byte [esi]
insb byte es:[edi], dx
js 0x8136ec
jb 0x81371b
sbb ecx, dword [edx + 0x64eb2011]
test byte [eax + 0x79], bh
mov dword [0x6d771378], eax
jae 0x81376d
insb byte es:[edi], dx
or al, 0
bound ebp, qword [edi + 0x6f]
fcomp dword fs:[ecx + 0x6323c27a]
popal
xchg esp, eax
jmp 0x4d99a981
invalid
push 0x54cc90c8
xor byte [eax], cl
inc edx
ljmp 0x6163
sub eax, 0x4363a164
inc ebx
lodsb al, byte [esi]
pushal
add ebp, dword [esi + 0x74]
sub eax, 0xccb61bd6
xor eax, 0xef223545
out dx, eax
invalid
outsb dx, byte gs:[esi]
jg 0x813738
test al, al
stc
sub byte [ebx + esi*2 + 0x65], dh
sub eax, 0xb0626174
and al, 0x98
clc
sub eax, 0x6c637963
sub byte [edx + ebx], bh
sub dword [eax + 0x57], esp
ja 0x813803
imul ebp, dword [0x2d74d86e], 0xfa0182b2
ror dword [esi], cl
imul ebp, dword [esi + 0x75], 0xf4133c65
int3
popal
imul ebp, dword [ecx + edi*2 + 0x2d], 0x370da3e2
std
jo 0x813870
jo 0x813853
aad 0x2d
sbb al, 0xfd
invalid
and eax, dword [edx]
add byte [ebx], al
sub ebp, dword [0xa670e148]
jnp 0x813872
ror byte [esi], 1
out dx, eax
mov ebx, 0xc72dc483
jae 0x813896
add esp, 0x2d
invalid
inc ecx
sub eax, 0x72696170
and eax, 0xf82ffd5
fsubr qword [ebp - 0x27]
outsb dx, byte gs:[si]
aad 0xff
or byte [edi], 0xdc
insb byte es:[edi], dx
fldenv gs:[edi + 0x65]
outsb dx, byte [esi]
outsb dx, byte gs:[esi]
sub eax, 0x477a0076
inc ebx
xor al, 0x46
sub eax, 0x75cc7261
imul ebp, dword fs:[edi - 2], 0x7d6e105c
je 0x8138f7
xor dword [di], ebx
xor eax, 0xaf697061
popal
jo 0x813902
scasd eax, dword es:[edi]
wait
sbb al, 0xcc
sub byte [ecx], dh
or dh, byte [ebx]
cmp edi, ebp
pop es
lodsb al, byte [esi]
stosd dword es:[edi], eax
outsd dx, dword [esi]
test byte [edx + 0xa], dh
sub eax, 0x656e7574
aad 0x17
ja 0x813863
sbb al, 0xa
les esp, [ebx]
arpl word [ecx + 0x6c], sp
cmc
mov bh, 9
test al, 1
push cs
jo 0x813879
ja 0x8138f3
and ecx, dword [ebx + 0x4b2b8485]
dec ebx
adc ecx, dword [edx + ecx]
mov esi, 0x2d2fff72
dec esi
pop esp
sbb eax, 0x65371630
retf 0x8569
jae 0x813941
insd dword es:[edi], dx
jo 0x813959
popal
outsb dx, byte [esi]
aad 0x7b
sar ebx, cl
popal
jo 0x813971
and byte [esi + 0x37312d73], dh
or al, byte [eax]
mov dh, 0x73
sub eax, 0xa3731
or eax, 0xdc4cc2a6
adc al, 0x6e
xchg edi, eax
test eax, 0x4ab84ce8
insb byte es:[edi], dx
push ss
sub byte [ebx], dh
shl al, 1
out 0x78, eax
pop ss
and dh, byte [ebp + 0xe]
cdq
push 0x48e805c0
jb 0x8138cc
loopne 0x813918
and al, bh
cmp eax, 0x73ea6873
mov byte [0x3398ff], al
push edx
popal
ret 0x6975
xor byte [edx], dh
xor al, 0xda
mov cl, 0x89
js 0x813969
std
outsd dx, dword [esi]
sub eax, 0x62687021
xchg edi, eax
mov edi, fs
test byte [ecx], dl
sbb dword [ebp + 0x699c656b], ebp
cmp dword [ecx - 0x73f9eab9], 0xcafb81fb
sub eax, 0xcb2d322d
dec edi
outsd dx, dword [esi]
outsb dx, byte [esi]
cmp dword [eax + ebx], ebx
mov ss, word [esi + edx*8]
pushfd
imul eax, dword [ecx + 0x61547b9], 0xfb81fb8c
retf 0x2d2d
retf
adc al, 0xd6
jae 0x8139a2
sahf
popal
xchg dword [edx], ecx
div byte [edx]
adc byte [ebp + 0x23], bh
xor esp, dword [esi + 0x14]
outsd dx, dword [esi]
neg dword [ecx]
inc eax
mov eax, 0x26163037
add byte [ebx + 0x68], ah
outsd dx, dword [esi]
jne 0x813a04
in al, 0xf0
inc ebx
xor byte [eax + edx], cl
adc eax, 0x646ebc
and eax, dword [eax]
invalid
popal
add byte [edx + esi*2], ah
invalid
ljmp 0x78c4:0x7533ac2f