Function at 0x108ce79
Capabilities:
Encode data using xor

Disassembly:
push es
add byte [eax], al
pop es
sgdt [ecx]
mov byte [eax + 0xb], bh
add byte [ebx], al
push 0x11300ae
adc eax, dword [ecx]
add byte [ebx], al
xor al, byte [ecx]
mov eax, edx
pop es
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [ebx], bl
add ah, byte [0x5000000]
add bl, cl
mov dword [eax + 0x1000b], edi
add byte [edx], al
add byte [edx], al
add al, 6
push 0xb40f04ae
lds eax, [ecx]
sbb eax, dword [0x5000000]
add bl, cl
mov eax, edx
pop es
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add al, byte [edx + eax]
push 0x1004ae
lodsb al, byte [esi]
add dword [0x10201], ebx
add dword [ecx + eax + 0x64086d9], eax
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add al, byte [edx + edx]
push 0x150206ae
lodsb al, byte [esi]
adc eax, 0x11f01c8
or al, 1
add byte [eax], al
add eax, 0xe889d902
add eax, dword [eax]
add byte [eax], al
add byte [edx], al
add byte [edx], al
push es
or al, 0x68
scasb al, byte es:[edi]
xor dword [esi + eax + 0x31ae680c], ebp
lodsb al, byte [esi]
add dword [ebx], ebx
add al, 0x25
add byte [eax], al
add byte [0x6089d902], al
or dword [eax], eax
add dword [eax], eax
add dword [edx], eax
add byte [edx], al
add al, 6
push 0x8c0f04ae
lodsb al, byte [esi]
add dword [ebx], ebx
add al, 0x25
add byte [eax], al
add byte [0xb889d902], al
or eax, dword [eax]
add dword [eax], eax
add dword [edx], eax
add byte [edx], al
add al, byte [esi + eax]
push 0xe00f04ae
lodsb al, byte [esi]
add dword [0x10201], ebx
add al, byte [ecx + eax + 0x5dc86d9]
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add al, byte [edx + edx]
push 0xe00206ae
lodsb al, byte [esi]
cmp al, 0xbb
add dword [edi], ebx
add dword [eax + eax], ecx
add byte [eax], al
add eax, 0xd089d902
pop es
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add al, byte [esi]
or al, 0x68
scasb al, byte es:[edi]
or byte [esi - 0x5197f3fa], ch
or al, 0x68
scasb al, byte es:[edi]
or byte [esi + 0x25041b01], ch
add byte [eax], al
add byte [0x6089d902], al
or dword [eax], eax
add dword [eax], eax
add dword [edx], eax
add byte [edx], al
add al, 6
push 0x300f04ae
scasb al, byte es:[edi]
add dword [ebx], edx
add dword [edi], edx
or dword [eax], eax
add dword [ecx + eax + 0xbb8889b], eax
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [ecx], al
and dword [0x5000000], eax
add bl, cl
mov dword [eax + 8], esi
add dword [edx], eax
add al, byte [ebx]
add al, byte [eax]
add eax, dword [esi]
push es
pop ss
push 0x4b057ae
adc eax, 0xf04d558
mov word [ecx + eax + 0x250421], gs
add byte [eax], al
add eax, 0x8c89d902
or al, byte [ecx]
add al, byte [edx]
add eax, dword [edx]
add byte [ebx], al
push es
pop ss
push 0x4b057ae
adc eax, 0xf04d558
loopne 0x108ce9e
add dword [ecx], esp
add al, 0x25
add byte [eax], al
add byte [0x7089d902], al
or byte [ecx], al
add al, byte [edx]
add eax, dword [edx]
add byte [ebx], al
push es
pop ss
push 0x4b057ae
adc eax, 0xf04d558
in al, 0xb2
add dword [ecx], esp
add al, 0x25
add byte [eax], al
add byte [0x9589d902], al
add dword [ecx], eax
add al, byte [edx]
add al, byte [edx]
add byte [ebx], al
push es
pop ss
push 0x4b057ae
adc eax, 0xf04d558
xor al, 0x31
add dword [ebx], esp
add dword [edx], eax
add byte [eax], al
add eax, dword [ecx + eax + 0x89886d9]
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add cl, byte [eax]
or ebp, dword [eax - 0x52]
push edi
mov al, 0x5c
aad 8
add dh, byte [ebp - 0x2b]
xor al, 0xbb
xor byte [esi + 0x25042301], ch
invalid