Function at 0x11086e4e
Capabilities:
Encode data using xor

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0x10]
push esi
push edi
mov edi, dword [esp + 0x14]
movzx eax, byte [ebp]
lea esi, [edi + 0xf0]
mov byte [esi], al
movzx eax, byte [ebp + 1]
mov byte [edi + 0xf4], al
lea ebx, [edi + 0xd8]
movzx eax, byte [ebp + 2]
mov byte [edi + 0xf8], al
movzx eax, byte [ebp + 3]
mov byte [edi + 0xfc], al
movzx eax, byte [ebp + 4]
mov byte [edi + 0xf1], al
movzx eax, byte [ebp + 5]
mov byte [edi + 0xf5], al
movzx eax, byte [ebp + 6]
mov byte [edi + 0xf9], al
movzx eax, byte [ebp + 7]
mov byte [edi + 0xfd], al
movzx eax, byte [ebp + 8]
mov byte [edi + 0xf2], al
movzx eax, byte [ebp + 9]
mov byte [edi + 0xf6], al
movzx eax, byte [ebp + 0xa]
mov byte [edi + 0xfa], al
movzx eax, byte [ebp + 0xb]
mov byte [edi + 0xfe], al
movzx eax, byte [ebp + 0xc]
mov byte [edi + 0xf3], al
movzx eax, byte [ebp + 0xd]
mov byte [edi + 0xf7], al
movzx eax, byte [ebp + 0xe]
mov byte [edi + 0xfb], al
movzx eax, byte [ebp + 0xf]
mov ebp, 0xd
mov byte [edi + 0xff], al
movzx eax, byte [edi + 0xe3]
xor byte [esi], al
movzx eax, byte [edi + 0xe2]
xor byte [esi + 4], al
mov eax, dword [edi + 0xe0]
shr eax, 8
xor byte [esi + 8], al
movzx eax, byte [edi + 0xe0]
xor byte [esi + 0xc], al
movzx eax, byte [edi + 0xe7]
xor byte [esi + 1], al
movzx eax, byte [edi + 0xe6]
xor byte [esi + 5], al
mov eax, dword [edi + 0xe4]
shr eax, 8
xor byte [esi + 9], al
movzx eax, byte [edi + 0xe4]
xor byte [esi + 0xd], al
movzx eax, byte [edi + 0xeb]
xor byte [esi + 2], al
movzx eax, byte [edi + 0xea]
xor byte [esi + 6], al
mov eax, dword [edi + 0xe8]
shr eax, 8
xor byte [esi + 0xa], al
movzx eax, byte [edi + 0xe8]
xor byte [esi + 0xe], al
movzx eax, byte [edi + 0xef]
xor byte [esi + 3], al
movzx eax, byte [edi + 0xee]
xor byte [esi + 7], al
mov eax, dword [edi + 0xec]
shr eax, 8
xor byte [esi + 0xb], al
movzx eax, byte [edi + 0xec]
xor byte [esi + 0xf], al
push esi
call fcn.110889be
movzx eax, byte [esi + 6]
mov cl, byte [esi + 7]
mov byte [esi + 7], al
movzx eax, byte [esi + 5]
mov byte [esi + 6], al
movzx eax, byte [esi + 4]
mov byte [esi + 5], al
movzx eax, byte [esi + 0xa]
mov byte [esi + 4], cl
mov cl, byte [esi + 8]
mov byte [esi + 8], al
movzx eax, byte [esi + 0xb]
mov byte [esi + 0xa], cl
mov cl, byte [esi + 9]
mov byte [esi + 9], al
movzx eax, byte [esi + 0xd]
mov byte [esi + 0xb], cl
mov cl, byte [esi + 0xc]
mov byte [esi + 0xc], al
movzx eax, byte [esi + 0xe]
mov byte [esi + 0xd], al
movzx eax, byte [esi + 0xf]
push esi
mov byte [esi + 0xe], al
mov byte [esi + 0xf], cl
call fcn.110881fe
movzx eax, byte [ebx - 5]
lea ebx, [ebx - 0x10]
xor byte [esi], al
add esp, 8
movzx eax, byte [ebx + 0xa]
xor byte [esi + 4], al
mov eax, dword [ebx + 8]
shr eax, 8
xor byte [esi + 8], al
movzx eax, byte [ebx + 8]
xor byte [esi + 0xc], al
movzx eax, byte [ebx + 0xf]
xor byte [esi + 1], al
movzx eax, byte [ebx + 0xe]
xor byte [esi + 5], al
mov eax, dword [ebx + 0xc]
shr eax, 8
xor byte [esi + 9], al
movzx eax, byte [ebx + 0xc]
xor byte [esi + 0xd], al
movzx eax, byte [ebx + 0x13]
xor byte [esi + 2], al
movzx eax, byte [ebx + 0x12]
xor byte [esi + 6], al
mov eax, dword [ebx + 0x10]
shr eax, 8
xor byte [esi + 0xa], al
movzx eax, byte [ebx + 0x10]
xor byte [esi + 0xe], al
movzx eax, byte [ebx + 0x17]
xor byte [esi + 3], al
movzx eax, byte [ebx + 0x16]
xor byte [esi + 7], al
mov eax, dword [ebx + 0x14]
shr eax, 8
xor byte [esi + 0xb], al
movzx eax, byte [ebx + 0x14]
xor byte [esi + 0xf], al
sub ebp, 1
jne 0x11086fae
push esi
call fcn.110889be
movzx eax, byte [esi + 6]
lea ebx, [edi + 0x110]
mov cl, byte [esi + 7]
add esp, 4
mov byte [esi + 7], al
movzx eax, byte [esi + 5]
mov byte [esi + 6], al
movzx eax, byte [esi + 4]
mov byte [esi + 5], al
movzx eax, byte [esi + 0xa]
mov byte [esi + 4], cl
mov cl, byte [esi + 8]
mov byte [esi + 8], al
movzx eax, byte [esi + 0xb]
mov byte [esi + 0xa], cl
mov cl, byte [esi + 9]
mov byte [esi + 9], al
movzx eax, byte [esi + 0xd]
mov byte [esi + 0xb], cl
mov cl, byte [esi + 0xc]
mov byte [esi + 0xc], al
movzx eax, byte [esi + 0xe]
mov byte [esi + 0xd], al
movzx eax, byte [esi + 0xf]
mov byte [esi + 0xe], al
mov byte [esi + 0xf], cl
movzx eax, byte [edi + 3]
xor byte [esi], al
movzx eax, byte [edi + 2]
xor byte [esi + 4], al
mov eax, dword [edi]
shr eax, 8
xor byte [esi + 8], al
movzx eax, byte [edi]
xor byte [esi + 0xc], al
movzx eax, byte [edi + 7]
xor byte [esi + 1], al
movzx eax, byte [edi + 6]
xor byte [esi + 5], al
mov eax, dword [edi + 4]
shr eax, 8
xor byte [esi + 9], al
movzx eax, byte [edi + 4]
xor byte [esi + 0xd], al
movzx eax, byte [edi + 0xb]
xor byte [esi + 2], al
movzx eax, byte [edi + 0xa]
xor byte [esi + 6], al
mov eax, dword [edi + 8]
shr eax, 8
xor byte [esi + 0xa], al
movzx eax, byte [edi + 8]
xor byte [esi + 0xe], al
movzx eax, byte [edi + 0xf]
xor byte [esi + 3], al
movzx eax, byte [edi + 0xe]
xor byte [esi + 7], al
mov eax, dword [edi + 0xc]
shr eax, 8
xor byte [esi + 0xb], al
movzx eax, byte [edi + 0xc]
xor byte [esi + 0xf], al
movzx eax, byte [esi]
xor al, byte [edi + 0x100]
mov byte [ebx], al
movzx eax, byte [edi + 0x101]
xor al, byte [edi + 0xf4]
mov byte [edi + 0x111], al
movzx eax, byte [edi + 0x102]
xor al, byte [edi + 0xf8]
mov byte [edi + 0x112], al
movzx eax, byte [edi + 0x103]
xor al, byte [edi + 0xfc]
mov byte [edi + 0x113], al
movzx eax, byte [edi + 0x104]
xor al, byte [edi + 0xf1]
mov byte [edi + 0x114], al
movzx eax, byte [edi + 0x105]
xor al, byte [edi + 0xf5]
mov byte [edi + 0x115], al
movzx eax, byte [edi + 0x106]
xor al, byte [edi + 0xf9]
mov byte [edi + 0x116], al
movzx eax, byte [edi + 0x107]
xor al, byte [edi + 0xfd]
mov byte [edi + 0x117], al
movzx eax, byte [edi + 0x108]
xor al, byte [edi + 0xf2]
mov byte [edi + 0x118], al
movzx eax, byte [edi + 0x109]
xor al, byte [edi + 0xf6]
mov byte [edi + 0x119], al
movzx eax, byte [edi + 0x10a]
xor al, byte [edi + 0xfa]
mov byte [edi + 0x11a], al
movzx eax, byte [edi + 0x10b]
xor al, byte [edi + 0xfe]
mov ebp, dword [esp + 0x18]
mov byte [edi + 0x11b], al
movzx eax, byte [edi + 0x10c]
xor al, byte [edi + 0xf3]
mov byte [edi + 0x11c], al
movzx eax, byte [edi + 0x10d]
xor al, byte [edi + 0xf7]
mov byte [edi + 0x11d], al
movzx eax, byte [edi + 0x10e]
xor al, byte [edi + 0xfb]
mov byte [edi + 0x11e], al
movzx eax, byte [edi + 0x10f]
xor al, byte [edi + 0xff]
xor ecx, ecx
mov byte [edi + 0x11f], al
mov al, byte [ecx + ebp]
mov byte [edi + ecx + 0x100], al
inc ecx
cmp ecx, 0x10
jl 0x11087292
cmp dword [esp + 0x1c], 0
lea esi, [edi + 0x120]
mov dword [esi], 0
je 0x110872ed
movzx edx, byte [edi + 0x11f]
cmp edx, 1
jb 0x110872c6
cmp edx, 0x10
jbe 0x110872cb
mov edx, 0x10
mov ecx, 0xf
cmp edx, ecx
ja 0x110872eb
sub edi, edx
add edi, 0x11f
nop
mov al, byte [edi]
lea edi, [edi - 1]
mov byte [ebx + ecx], al
dec ecx
cmp ecx, edx
jge 0x110872de
mov dword [esi], edx
pop edi
pop esi
pop ebp
pop ebx
ret