Function at 0x10012090
Capabilities:
Encode data using xor

Disassembly:
jl 0x1001210d
dec ecx
xchg byte [ebp + 0x2d], dl
aam 0x82
mov ecx, 0xf6083de4
mov eax, dr1
pushfd
in eax, 0x41
mov cl, 0xf3
aas
loope 0x100120eb
add ch, al
sub bh, 0x37
fadd dword [ebp - 0x17dc1886]
stosd dword es:[edi], eax
stosb byte es:[edi], al
mov ebp, 0xd4a231e8
test dword [esp + edx + 0x5a9607d7], ecx
in al, 0xa4
mov esp, 0x81d1bba0
add ebp, eax
xchg edx, eax
sbb byte [edi - 0xf27a61d], dh
call 0xf3b83960
pop ecx
fdiv st(0)
jno 0x1001213f
mov edx, 0xd54ad335
add dword [eax + 0x1b], edi
push edx
fstp dword [ecx - 0x28]
cmpsd dword [esi], dword es:[edi]
push edx
invalid
movsd dword es:[edi], dword [esi]
loopne 0x100120c9
xor dword [esp + edx*2], 0x71c7d57
pushal
out 0x37, eax
jl 0x10012176
add al, ah
push ecx
fstp dword [ebp - 0x87cbc1]
mov ebx, 0xe583d636
cli
and ebp, 0xfffffffa
pop ss
mov word [edi + 0x25], ds
xor al, 0xf7
sbb bh, byte [ecx - 0x7d96c608]
popfd
xchg bh, al
and al, ch
wait
dec ecx
cmp al, 0xc1
test eax, 0x431e6637
js 0x10012106
xlatb
jp 0x10012199
xchg esp, eax
dec edi
lodsb al, byte [esi]
jae 0x1001217c
cld
fisub word [eax]
mov cl, 0x6b
cmc
salc
das
clc
movsd dword es:[edi], dword [esi]
xchg edx, eax
adc al, 0x89
dec esi
or al, 0x9e
sahf
imul ecx, dword [edx - 0x6ff90594], 0x28
cli
mov ch, byte [edx + edi*8 + 6]
nop
sub dl, bh
jb 0x1001210a
xor byte [edi - 0x55b85f53], al
cmp dword [ecx], ebx
hlt
cwde
push 0x39
fld xword [esi]
scasd eax, dword es:[edi]
sar dword [esi + 0x474f04c7], 0x30
cmp dword [edi + 0x43], ebx
clc
push ss
cmpsd dword [esi], dword es:[edi]
pop esi
xor byte [edx - 0x42], bh
or dword [ecx + 0x55], edx
inc edi
out dx, eax
pop ecx
cwde
push es
mov al, 0x9a
fsubrp st(7)
ret 0x4768
xor dh, 0xb0
invalid
clc
in eax, dx
cwde
dec edx
lea esp, [edx - 0x40]
dec eax
enter 0x7083, 0x3c
pushal
in eax, 0x9f
pop ds
dec esp
imul esp, dword [edx], 0x6e
or al, 0x84
ja 0x10012134
or eax, 0x49f3efec
daa
loop 0x1001213d
out dx, eax
sbb eax, 0x626db0b5
jbe 0x100121c2
call dword [ebp - 0x4fde55e4]
push ss
cmp eax, 0xb5757abd
xchg ebp, eax
sbb al, 0xaa
and dword [eax + 0x7abd3d16], esi
jne 0x10012183
jns 0x1001222e
dec edi
js 0x1001215b
adc al, 0xe3
sar byte [edx - 0x45], 1
and eax, 0xfe4b67d3
mov ch, 0xa2
popal
ja 0x100121fe
mov dword [ebx + 0x1f67e1ff], edi
mov ebx, 0x1f67e1ff
sbb dh, byte [eax]
pop edi
out 0x40, al
stosb byte es:[edi], al
add dword [ebx + 0x46027337], edi
aaa
add al, byte [esi + 0x37]
sbb esp, ebx
push ds
add esp, dword [edi - 0x4d1f701d]
jae 0x100121d0
arpl word [eax + 0x32], bp
or dword [ecx], edx
xchg dword [eax - 0xf], edx
push cs
cld
jns 0x100121ce
jp 0x100121c3
jle 0x100121e3
xchg ebp, eax
cdq
cmpsd dword [esi], dword es:[edi]
mov bl, 0x2d
loop 0x100121f2
mov dword [0xc9423843], eax
cmp dl, ch
xchg ecx, eax
jae 0x10012274
mov eax, dword [0xb0fc129b]
sahf
stosd dword es:[edi], eax
wait
retf 0xdc4d
mov ebp, 0xac625266
fisttp dword [esi]
scasb al, byte es:[edi]
xchg esp, eax
sub eax, 0xff42d6be
inc esp
int3
outsb dx, byte [esi]
jp 0x10012283
fiadd word [0x92ebb82]
jbe 0x100122a4
jp 0x10012237
invalid
xchg byte [ebp + 0x20887a4a], ah
mov byte [edi + 0x3b1c5210], bl
in eax, 0x92
out 0xf7, eax
loop 0x100122b4
int1
sub byte [esi + 0x4f], dl
in al, 0xfa
sar byte [eax + 0x53], cl
shl byte [edx + 0x1754eddf], cl
pop eax
cmc
invalid
stc
pop ebp
xor eax, 0x84913514
jg 0x10012314
stc
inc esi
push esp
into
jle 0x1001231c
add dword [ebp - 0x3f84e647], 0x4ae87684
invalid
add byte [ebp + 0x42], ch
popal
or dl, byte [ebp - 0x222759a7]
xchg ecx, eax
inc dword [eax]
wait
inc ecx
mov bh, 0x51
jbe 0x10012310
add byte [ebx + 0x7651b741], bl
in eax, dx
inc edx
push cs
sti
mov esp, 0x86b10e15
jmp 0x100122d5