Function at 0x10008dad
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
pushfd
test byte [0x10008e24], 0xa0
jne 0x10008e25
mov esp, 0x3ba2ca0d
push edi
popfd
push esi
mov esi, dword [ebp + 0xc]
sub esi, dword [ebp + 8]
sar esi, 2
pushfd
test byte [0x10008e7a], 0xaf
jne 0x10008f7b
push es
xchg byte [ebx + 0x1e], ch
scasd eax, dword es:[edi]
pop eax
xchg esp, eax
mov ebp, 0x3e5ec3c5
fsub dword [ebx + 0xb]
mov ebp, 0xdae2e1a9
insb byte es:[edi], dx
cmp al, 0xd7
fisubr dword [eax + eax*4 - 8]
xlatb
or byte [edi + ebx*2], al
or eax, 0x1627a63d
mov ah, 0xd4
cmp ebx, ecx
pop es
aam 0x31
add byte [edx], al
pop esi
push 0x6346a4d8
push 0x24e7abf8
dec byte [0x5965876d]
xchg edi, eax
int1
stc
cmp eax, 0x953b7c99
xchg ebx, eax
push esp
fcomp qword [eax]
mov ebx, 0xb4ffd0c4
cwde
dec esi
jne 0x10008e53
leave
mov edi, 0x1a4a64d8
jbe 0x10008f04
dec edx
sbb dh, byte [esi + 0x6c]
out dx, eax
inc edi
adc cl, al
or eax, 0x79564cc
int1
add eax, 0x5979678c
jge 0x10008ea2
mov al, byte [0xf6188ecf]
xchg ebx, eax
cmp bl, ch
jl 0x10008f28
adc al, al
sbb esi, dword [0xb61cfeb2]
pushal
in al, dx
arpl word [esi], ax
or al, 0x9d
push ds
add eax, 0xed0f5ba3
xor dword [ebx + 0x28], ecx
mov eax, 0xa035e652
mov ch, 0xcb
test esi, eax
sbb al, 0xfe
dec eax
test dword [edi], edi
and edi, dword [edx - 0x49]
jp 0x10008e93
pop ebx
mov ds, word [esi - 0x220f2809]
cmp al, 0xaf
mov cl, 0xf1
jl 0x10008edf
not edi
invalid
sub ebx, dword [edi + 0x64701843]
xchg byte [esi - 0x36], bl
nop
lock sbb byte [ebp + 0x5ad8756d], ah
xchg ebx, eax
mov bh, 0x9c
lodsd eax, dword [esi]
adc eax, 0x1ebcc083
jecxz 0x10008eda
aad 0xed
in eax, dx
xor ebp, dword [ebx]
adc ch, byte [ebx]
mov edx, 0x223df0e1
shl dword [0xffa92fd8], 0xe0
fdecstp
das
mov dh, 0xa9
salc
jge 0x10008f65
out 0xff, al
xchg byte [ecx], bl
inc ebx
pause
sub al, byte [ebx]
and ax, word [eax]
loopne 0x10008f1f
mov ebp, 0x94b14350
and eax, 0x4efcdd74
add al, 0x54
sub dh, byte [ecx + 0x32027661]
inc ebp
sti
sbb dword [esi], 0xb2cca23c
xor ecx, 0x5f
lea esp, [ebp + 0x28]
mov al, byte [0x8b6b67d2]
xor bh, byte [ecx + 0x43]
cmc
out 0x3d, al
fnstsw word [edi + ecx*8 + 0x54]
in eax, dx
rol byte [ecx + 0x44], 0x94
out 0xb0, al
lodsb al, byte [esi]
mov edi, 0xdea4cba0
cmp eax, 0x1881ae00
cdq
cdq
fmul st(0)
dec edi
out 0xab, eax
cmp dword [ebx + 0x35], esp
cli
popfd
shl esi, 2
push esi
push dword [ebp + 8]
push dword [ebp + 0x10]
pushfd
test byte [0x10009064], 0x73
jne 0x10009065
xor al, 0x26
fucompi st(3)
std
pushal
add al, ah
push edi
mov eax, 0xad097827
or eax, 0xb9e6020f
cwde
ja 0x1000900b
jmp 0x10008f96
jno 0x10008fdb
mov esi, 0x8e2cc9e7
add edx, dword [edx - 0x73]
cmp edi, dword [edi]
adc eax, 0x8c33e468
push es
dec ecx
mov dword [edi], edx
scasd eax, dword es:[edi]
adc byte [eax], 0x76
jbe 0x10009039
mov dl, 0x35
cmp edx, edx
sbb al, bh
pop ecx
jecxz 0x10008f97
or dword [edi + 0x41], ebx
sub ebx, ecx
daa
insd dword es:[edi], dx
push edi
test eax, 0xdafde1de
pop ds
push ebp
int1
stc
push es
dec eax
rol dword [ecx], cl
sbb ch, al
stosd dword es:[edi], eax
ror byte [edi + 0x73], cl
jle 0x10008f97
cdq
stc
push ecx
cmpsb byte [esi], byte es:[edi]
lahf
mov al, 0xdf
xchg ecx, eax
js 0x1000900b
outsb dx, byte [esi]
rcl byte [0x8ed870ad], 0xd4
mov word [eax + 0x14aa4100], ss
pop ss
fisttp word [ebp - 0x21604eb2]
aaa
stosd dword es:[edi], eax
mov ecx, ebp
push edi
not byte [eax - 0x7e]
cmp byte [ebx], ah
and al, 0xb0
pop edx
in eax, dx
aad 0xfa
xchg ecx, eax
and ebp, esp
cmp ch, dl
mov dword [0xfbd01521], eax
push ebx
out 0xe8, al
movsd dword es:[edi], dword [esi]
add al, 0xc3
mov dl, ah
aaa
mul byte [ebx - 0x3b8f1551]
sbb ch, dh
cmc
mov cl, 0x6d
xor dword [ecx + 0x6e7ffc50], ebp
push eax
cld
jg 0x100090ab
ror dword [ecx - 0x1ac34c5c], cl
push eax
mov dword [0xbf3e7423], eax
mov ebx, 0x7cc9b66a
pushal
mov ah, 0x23
dec ebp
mov ah, 0xac
fidiv word [edi]
adc eax, 0x65c5712b
repne cmpsb byte [esi], byte es:[edi]
repne cmpsb byte gs:[esi], byte es:[edi]
inc esp
js 0x10009034
inc ebp
int 0x6c
push esi
pop ecx
popfd
call fcn.1011dbf0
add esp, 0xc
add eax, esi
pop esi
pop ebp
ret
rol byte [ebx + 0x59], cl
sub dword [edx + 0x27b01a6], ebx
outsd dx, dword [esi]
push edx
sbb eax, 0x76a5eaf5
stc
ja 0x1000905a
xor edi, dword [ebp - 0x72]
sub eax, 0x96ac449c
test dword [eax], esi
call 0x2ad38b73
mov ch, 0x35
sal cl, 0x3c
enter 0x6f6, 0xffffffffffffffb1
test byte [esi], 0xb1
test eax, 0xc8f4d0af
and dword [ebx - 0x15], esp
aam 0xf3
jae 0x100090bc
jge 0x10009106
aas
outsd dx, dword [esi]
popfd
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx]
dec dword [ebp + 0xc]
pushfd
or edi, edi
dec ebp
or al, 0x9c
test byte [0x10009195], 0x24
je 0x10009196
je 0x100090dc
loop 0x100090ef
pushfd
lahf
stc
xor dword [ecx], edi
mov bl, 0x6b
mov dword [0x852efdfb], eax
lea eax, [ecx + 0xe976279]
mov edi, 0x1c26df28
lahf
std
xchg esp, eax
pop ss
xor eax, 0x27c7db8b
dec ebp
jl 0x100090d4
inc ebx
xchg ebp, eax
add eax, 0xd99c078e
out dx, eax
add al, 0xdb
cmp dword [eax - 0x209b9f95], ebx
dec eax
sbb al, 0x1c
xor al, 0x6f
or al, 0xc4
mov bl, 0x40
or esi, dword [esi - 0x5a]
inc ebp
out 0xa1, eax
xlatb
aas
ror dword [esi - 0x367927c2], 1
imul byte [esi - 0x20]
fistp dword [eax + esi*8 - 0x271e5a7c]
jl 0x1000913a
inc ecx
sbb dh, 0xf6
outsd dx, dword [esi]
dec esi
lahf
lodsb al, byte [esi]
cmp dl, byte [edx]
pop ecx
mov cl, 0x69
aam 0x42
push cs
rcl byte [ebp + 0x3308447d], cl
inc edi
shr byte [esi], 0x75
adc ah, byte [esi + 0x14]
inc ebx
push edi
stosd dword es:[edi], eax
dec edi
loop 0x100091a4
mov ecx, 0xbb19f569
adc al, 0x89
sub al, 0x1b
xchg ebp, eax
arpl word [edi], cx
popal
enter 0xffffffffffffc654, 0x50
push ds
adc byte [edx + eax*2], ch
popfd
mov dword [eax], ecx
add eax, 4
cmp dword [ebp + 0xc], 0
pushfd
test byte [0x100091b0], 0x11
je 0x100092b1
xchg ecx, eax
add byte [eax], dl
adc dword [edi], ecx
test byte [ebx], al
add dword [eax], eax
add byte [edi + 0x14a4aadc], ch
jl 0x10009218
scasd eax, dword es:[edi]
fsubr qword [edx + 0x637c14a4]
out 0xa3, al
or edx, dword [ecx + eax*2]
imul ebx, dword [ebx - 0x15669b7b], 0xa50f94b2
dec ebp
lodsd eax, dword [esi]
popfd
fst qword [edx]
sbb dword [0x6a233d94], eax
xor eax, dword [eax - 0x79]
cmp dword [ecx - 0x3f], ebp
js 0x1000923f
mov al, byte [0xf89ad8b0]
dec eax
xchg edi, eax
sbb bh, byte [esi + 0x1bbc22c3]
je 0x10009265
fst dword [edi]
and dh, byte [ecx - 0x1211e912]
cmp cl, byte [ecx + 0x43]
sal byte [edx + 0x6c], 1
dec edx
mov al, 0x23
xor byte [esi - 0x16], bl
pop esi
and al, 0xda
push es
inc edx
mov esi, 0xa4ad1ec5
add dl, byte [ebx + 0x26]
xchg dword [esi], edi
insb byte es:[edi], dx
lodsd eax, dword [esi]
xor al, 0x82
salc
add eax, 0x4b51e651
test eax, 0x5c0a9077
das
nop
push ecx
jg 0x10009228
popal
rcl al, 0xcc
lodsb al, byte [esi]
adc dword [edx + edx*2 + 0xe], esp
out 0x61, al
or dword [edx], 0x4e467cb9
xchg ebx, eax
mov eax, dword [0x8c061bea]
in al, 0xf1
cmp byte [edx - 0x46540c18], al
xchg dword [ebp + 0x19e8dbd4], ecx
dec esp
fldcw word [edi - 0x12]
fucomi st(0)
sbb dword [ecx + ebx*8 + 0x6f], ecx
out dx, al
dec edi
cmp byte [edx], 0x43
in eax, 0xb4
xor bl, cl
sub bl, ah
cmpsd dword gs:[esi], dword es:[edi]
add dword [edi - 0x24], esp
inc eax
cld
fadd qword [bx + si - 4]
popal
mov byte [edx - 0x6694b7e8], ch
imul ebx, dword [ebx], 0xffffff9a
imul esi, dword [ebx + 0x7d], 0xce163701
jge 0x10009268
add dword [edi], esi
aaa
push ss
into
adc eax, 0x3df6f227
sahf
jle 0x10009266
inc edi
in al, 0xee
dec esi
loopne 0x10009254
ror dword [ecx + 0x362312a5], 0xc5
xchg edx, eax
cmp al, 0x40
pop ds
sub ch, byte [eax]
mov edx, 0xf217c106
jo 0x10009296
pop ebx
dec esi
loopne 0x100092a0
inc ebx
int 0x97
mov ecx, esp
mov eax, dword [0x30d671fc]
inc eax
insb byte es:[edi], dx
cld
jno 0x1000926f
xor byte [eax + 0x6c], al
xor eax, 0xe841a83a
pushal
stc
mov dword [ecx + 0x61e91eed], eax
adc ch, byte [ecx - 0x18]
insd dword es:[edi], dx
int 0xc1
test byte [eax], bh
call 0x918a8c05
in eax, dx
push ds
jmp 0xf869a50d
popfd
ja 0x100090eb
pop ebp
ret