Function at 0x10081620
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov eax, dword [0x1014a018]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
push edi
mov edi, edx
movzx ecx, byte [edi]
movzx edx, byte [edi + 1]
xor cl, 0xfc
mov byte [ebp - 0x8c], cl
movzx ecx, byte [edi + 2]
xor dl, 0xcf
xor cl, 0xab
mov byte [ebp - 0x8b], dl
movzx edx, byte [edi + 3]
mov byte [ebp - 0x8a], cl
movzx ecx, byte [edi + 4]
xor dl, 0xfc
xor cl, 0xcf
mov byte [ebp - 0x89], dl
movzx edx, byte [edi + 5]
mov byte [ebp - 0x88], cl
movzx ecx, byte [edi + 6]
xor dl, 0xab
xor cl, 0xfc
mov byte [ebp - 0x87], dl
movzx edx, byte [edi + 7]
mov byte [ebp - 0x86], cl
movzx ecx, byte [edi + 8]
xor dl, 0xcf
xor cl, 0xab
mov byte [ebp - 0x85], dl
movzx edx, byte [edi + 9]
mov byte [ebp - 0x84], cl
movzx ecx, byte [esi]
xor dl, 0xfc
xor cl, 0xfc
mov byte [ebp - 0x83], dl
movzx edx, byte [esi + 1]
mov byte [ebp - 0x82], cl
movzx ecx, byte [esi + 2]
mov eax, dword [ebp + 8]
xor dl, 0xcf
xor cl, 0xab
mov byte [ebp - 0x81], dl
movzx edx, byte [esi + 3]
mov byte [ebp - 0x80], cl
movzx ecx, byte [esi + 4]
xor dl, 0xfc
xor cl, 0xcf
mov byte [ebp - 0x7f], dl
movzx edx, byte [esi + 5]
mov byte [ebp - 0x7e], cl
movzx ecx, byte [esi + 6]
xor dl, 0xab
xor cl, 0xfc
mov byte [ebp - 0x7d], dl
movzx edx, byte [esi + 7]
mov byte [ebp - 0x7c], cl
movzx ecx, byte [esi + 8]
xor dl, 0xcf
xor cl, 0xab
mov byte [ebp - 0x7b], dl
movzx edx, byte [esi + 9]
mov byte [ebp - 0x7a], cl
movzx ecx, byte [eax]
xor dl, 0xfc
xor cl, 0xfc
mov byte [ebp - 0x79], dl
movzx edx, byte [eax + 1]
mov byte [ebp - 0x6e], cl
movzx ecx, byte [eax + 2]
xor dl, 0xcf
xor cl, 0xab
mov byte [ebp - 0x6d], dl
movzx edx, byte [eax + 3]
mov byte [ebp - 0x6c], cl
movzx ecx, byte [eax + 4]
xor dl, 0xfc
xor cl, 0xcf
mov dword [ebp - 0x90], 0x12f181c3
mov byte [ebp - 0x6b], dl
mov byte [ebp - 0x6a], cl
movzx edx, byte [eax + 5]
movzx ecx, byte [eax + 6]
xor dl, 0xab
mov byte [ebp - 0x69], dl
movzx edx, byte [eax + 7]
xor dl, 0xcf
xor cl, 0xfc
mov byte [ebp - 0x67], dl
movzx edx, byte [eax + 9]
mov byte [ebp - 0x68], cl
movzx ecx, byte [eax + 8]
xor dl, 0xfc
xor cl, 0xab
mov byte [ebp - 0x65], dl
xor esi, esi
mov eax, ebx
lea edx, [ebp - 0x5a]
sub eax, edx
mov byte [ebp - 0x66], cl
mov word [ebp - 0x94], 0xcffc
mov byte [ebp - 0x92], 0xab
lea ecx, [esi + 2]
mov dword [ebp - 0xc], eax
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea eax, [edx + edx*2]
mov edx, esi
sub edx, eax
movzx eax, byte [ebp + edx - 0x94]
mov edx, dword [ebp - 0xc]
lea edi, [ebp + esi - 0x5a]
xor al, byte [edi + edx]
lea edx, [ecx - 1]
mov byte [edi], al
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
lea eax, [edx + edx*2]
mov edx, esi
sub edx, eax
movzx eax, byte [ebp + edx - 0x93]
xor al, byte [ebx + ecx - 1]
mov byte [edi + 1], al
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, esi
sub eax, edx
mov dl, byte [ebp + eax - 0x92]
xor dl, byte [ecx + ebx]
mov eax, 0xaaaaaaab
mov byte [edi + 2], dl
lea edx, [ecx + 1]
mul edx
shr edx, 1
lea eax, [edx + edx*2]
mov edx, esi
sub edx, eax
movzx eax, byte [ebp + edx - 0x91]
xor al, byte [ebx + ecx + 1]
lea edx, [ecx + 2]
mov byte [edi + 3], al
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
lea eax, [edx + edx*2]
mov edx, esi
sub edx, eax
movzx eax, byte [ebp + edx - 0x90]
xor al, byte [ebx + ecx + 2]
add ecx, 5
add esi, 5
mov byte [edi + 4], al
cmp ecx, 0x34
jl 0x100817b2
mov eax, 0xe61f68
mov ecx, dword [eax]
mov dl, byte [eax + 4]
mov dword [ebp - 0xc], ecx
mov byte [ebp - 8], dl
call dword [sym.imp.KERNEL32.dll_GetTickCount]
pop edi
mov dword [ebp - 0x28], eax
xor eax, eax
pop esi
mov cl, byte [ebp + eax - 0xc]
sub cl, al
dec cl
mov byte [ebp + eax - 0x24], cl
inc eax
cmp eax, 5
jl 0x10081885
mov eax, 0xe61f70
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1f], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x1b], ecx
movzx ecx, byte [ebp - 0x8f]
mov dword [ebp - 0x17], edx
lea edx, [ebp - 0x90]
push edx
mov dword [ebp - 0x13], eax
call fcn.10100800
mov ecx, dword [ebp - 4]
xor ecx, ebp
add esp, 4
call fcn.1012db16
mov esp, ebp
pop ebp
ret