Function at 0x110874fe
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 + 0xb0]
mov byte [esi], al
movzx eax, byte [ebp + 1]
mov byte [edi + 0xb4], al
lea ebx, [edi + 0x98]
movzx eax, byte [ebp + 2]
mov byte [edi + 0xb8], al
movzx eax, byte [ebp + 3]
mov byte [edi + 0xbc], al
movzx eax, byte [ebp + 4]
mov byte [edi + 0xb1], al
movzx eax, byte [ebp + 5]
mov byte [edi + 0xb5], al
movzx eax, byte [ebp + 6]
mov byte [edi + 0xb9], al
movzx eax, byte [ebp + 7]
mov byte [edi + 0xbd], al
movzx eax, byte [ebp + 8]
mov byte [edi + 0xb2], al
movzx eax, byte [ebp + 9]
mov byte [edi + 0xb6], al
movzx eax, byte [ebp + 0xa]
mov byte [edi + 0xba], al
movzx eax, byte [ebp + 0xb]
mov byte [edi + 0xbe], al
movzx eax, byte [ebp + 0xc]
mov byte [edi + 0xb3], al
movzx eax, byte [ebp + 0xd]
mov byte [edi + 0xb7], al
movzx eax, byte [ebp + 0xe]
mov byte [edi + 0xbb], al
movzx eax, byte [ebp + 0xf]
mov ebp, 9
mov byte [edi + 0xbf], al
movzx eax, byte [edi + 0xa3]
xor byte [esi], al
movzx eax, byte [edi + 0xa2]
xor byte [esi + 4], al
mov eax, dword [edi + 0xa0]
shr eax, 8
xor byte [esi + 8], al
movzx eax, byte [edi + 0xa0]
xor byte [esi + 0xc], al
movzx eax, byte [edi + 0xa7]
xor byte [esi + 1], al
movzx eax, byte [edi + 0xa6]
xor byte [esi + 5], al
mov eax, dword [edi + 0xa4]
shr eax, 8
xor byte [esi + 9], al
movzx eax, byte [edi + 0xa4]
xor byte [esi + 0xd], al
movzx eax, byte [edi + 0xab]
xor byte [esi + 2], al
movzx eax, byte [edi + 0xaa]
xor byte [esi + 6], al
mov eax, dword [edi + 0xa8]
shr eax, 8
xor byte [esi + 0xa], al
movzx eax, byte [edi + 0xa8]
xor byte [esi + 0xe], al
movzx eax, byte [edi + 0xaf]
xor byte [esi + 3], al
movzx eax, byte [edi + 0xae]
xor byte [esi + 7], al
mov eax, dword [edi + 0xac]
shr eax, 8
xor byte [esi + 0xb], al
movzx eax, byte [edi + 0xac]
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 0x1108765e
push esi
call fcn.110889be
movzx eax, byte [esi + 6]
lea ebx, [edi + 0xd0]
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 + 0xc0]
mov byte [ebx], al
movzx eax, byte [edi + 0xc1]
xor al, byte [edi + 0xb4]
mov byte [edi + 0xd1], al
movzx eax, byte [edi + 0xc2]
xor al, byte [edi + 0xb8]
mov byte [edi + 0xd2], al
movzx eax, byte [edi + 0xc3]
xor al, byte [edi + 0xbc]
mov byte [edi + 0xd3], al
movzx eax, byte [edi + 0xc4]
xor al, byte [edi + 0xb1]
mov byte [edi + 0xd4], al
movzx eax, byte [edi + 0xc5]
xor al, byte [edi + 0xb5]
mov byte [edi + 0xd5], al
movzx eax, byte [edi + 0xc6]
xor al, byte [edi + 0xb9]
mov byte [edi + 0xd6], al
movzx eax, byte [edi + 0xc7]
xor al, byte [edi + 0xbd]
mov byte [edi + 0xd7], al
movzx eax, byte [edi + 0xc8]
xor al, byte [edi + 0xb2]
mov byte [edi + 0xd8], al
movzx eax, byte [edi + 0xc9]
xor al, byte [edi + 0xb6]
mov byte [edi + 0xd9], al
movzx eax, byte [edi + 0xca]
xor al, byte [edi + 0xba]
mov byte [edi + 0xda], al
movzx eax, byte [edi + 0xcb]
xor al, byte [edi + 0xbe]
mov ebp, dword [esp + 0x18]
mov byte [edi + 0xdb], al
movzx eax, byte [edi + 0xcc]
xor al, byte [edi + 0xb3]
mov byte [edi + 0xdc], al
movzx eax, byte [edi + 0xcd]
xor al, byte [edi + 0xb7]
mov byte [edi + 0xdd], al
movzx eax, byte [edi + 0xce]
xor al, byte [edi + 0xbb]
mov byte [edi + 0xde], al
movzx eax, byte [edi + 0xcf]
xor al, byte [edi + 0xbf]
xor ecx, ecx
mov byte [edi + 0xdf], al
mov al, byte [ecx + ebp]
mov byte [edi + ecx + 0xc0], al
inc ecx
cmp ecx, 0x10
jl 0x11087942
cmp dword [esp + 0x1c], 0
lea esi, [edi + 0xe0]
mov dword [esi], 0
je 0x1108799d
movzx edx, byte [edi + 0xdf]
cmp edx, 1
jb 0x11087976
cmp edx, 0x10
jbe 0x1108797b
mov edx, 0x10
mov ecx, 0xf
cmp edx, ecx
ja 0x1108799b
sub edi, edx
add edi, 0xdf
nop
mov al, byte [edi]
lea edi, [edi - 1]
mov byte [ebx + ecx], al
dec ecx
cmp ecx, edx
jge 0x1108798e
mov dword [esi], edx
pop edi
pop esi
pop ebp
pop ebx
ret