Function at 0x10189e6
Capabilities:
Encode data using xor

Disassembly:
or ch, byte [ebx]
push es
add dword [ecx + eax], eax
xor byte [edi], 2
add dword [eax], eax
aaa
add al, byte [ecx]
add al, 0xa0
dec esi
xor byte [eax + esi + 0x17], cl
push es
or ch, byte [ebx]
push es
add dword [ecx + eax], eax
xor byte [edi], 2
add dword [edi], ecx
xor byte [ecx], cl
add eax, dword [ecx]
add byte [eax - 0x7ffd5dfc], ah
add byte [eax], dh
xor dword [eax], esi
or eax, 0x86600906
dec eax
add dword [ebp + 3], esp
add al, 2
add dword [0xe1200400], eax
pop ss
aaa
loopne 0x10189ed
or al, 0x35
lds ebx, [eax]
cli
xchg ecx, eax
sbb ah, byte [eax - 0x3a]
salc
arpl word [eax - 0x54f21254], bp
ficomp dword [0xb50d5ebd]
jbe 0x1018a85
jmp 0xf842a99
adc eax, dword [esi]
add edx, dword [ebp + 4]
or dl, byte [ebx]
or al, 0x44
imul esp, dword [edi + 0x69], 0x74726543
and byte [ecx + 0x6e], cl
arpl word [ecx], si
sbb dword [eax], esi
pop ss
push es
add edx, dword [ebp + 4]
or edx, dword [ebx]
adc byte [edi + 0x77], dh
ja 0x1018ad6
imul esp, dword fs:[edi + 0x69], 0x74726563
arpl word cs:[edi + 0x6d], bp
xor dword [ecx], esp
xor byte [edi], bl
push es
add edx, dword [ebp + 4]
add edx, dword [ebx]
sbb byte [ecx + ebp*2 + 0x67], al
imul eax, dword [ebx + 0x65], 0x54207472
jb 0x1018b40
jae 0x1018b41
and byte fs:[edx + 0x6f], dl
outsd dx, dword [esi]
je 0x1018af5
inc edi
xor al, 0x30
push ds
pop ss
or eax, 0x34303132
xor bh, byte [ecx]
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], dh
pop edx
pop ss
or eax, 0x34303633
xor bh, byte [eax]
xor dh, byte [ebx]
xor eax, 0x5a393539
xor byte [ecx + 0x31], ch
or esi, dword [eax]
or dword [esi], eax
cmp dword [edx + 0x30], ebx
imul esi, dword [ecx], 0x609300b
add edx, dword [ebp + 4]
push es
adc eax, dword [edx]
push ebp
push ebx
xor dword [edi], edx
xor byte [0x4550306], dl
or dl, byte [ebx]
push cs
inc esp
imul esp, dword [edi + 0x69], 0x74726543
sub al, 0x20
dec ecx
outsb dx, byte [esi]
arpl word [esi], bp
xor dword [ecx + 0x30], eax
aas
push es
add edx, dword [ebp + 4]
add edx, dword [ebx]
cmp byte [ecx + ebp*2 + 0x67], al
imul eax, dword [ebx + 0x65], 0x54207472
jb 0x1018bab
jae 0x1018bac
and byte fs:[edi + 0x34], al
and byte [ebx + 0x6f], al
and byte gs:[ebx + 0x69], dl
and byte gs:[ebx + 0x69], dl
push ebx
imul esp, dword [edi + 0x6e], 0x20676e69
push edx
push ebx
inc ecx
outsb dx, byte [si]
imul ebp, dword [esi + 0x67], 0x41535220
xor al, 0x30
cmp dword [esi], esi
and byte [ebx + 0x48], dl
inc ecx
xor edi, dword [eax]
xor al, 0x20
xor dh, byte [eax]
xor dh, byte [ecx]
and byte [ebx + 0x41], al
xor dword [eax], esi
add byte [edx], 0x22
xor byte [0x862a0906], cl
dec eax
xchg bh, dh
or eax, 0x5010101
add byte [ebx], al
add byte [edx], 0xf
add byte [eax], dh
add byte [edx], 0xa
add al, byte [edx - 0x2afffefe]
mov ah, 0x2f
inc edx
shr byte [eax], 1
lodsd eax, dword [esi]
js 0x1018b43
pop ebp
aad 0x39
pop ecx
sbb esi, dword [ecx + 0x33f54288]
mov ebx, gs
cmp eax, 0xc5709781
mov ebx, 0x302685c4
lahf
movsb byte es:[edi], byte [esi]
mov gs, word [eax - 0x28]
pop esp
cmc
jmp 0x1018bdf
and al, 7
pop es
loope 0x1018bfa
dec edi
sar dword [eax + 0x43], cl
hlt
lds edi, [ebx]
pop ds
out dx, eax
retf
shl byte [ebp - 0x59], 0xfa
cwde
or byte [ecx + 0x35], 0x87
cmp eax, 0x90e81951
and dword [eax + 0x45], edi
mov eax, dword cs:[0x18e12c9f]
ret 0xcc1a