Function at 0x1011bff0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x18
mov edx, ecx
mov ecx, dword [esp + 0x1c]
push ebx
mov ebx, dword [esp + 0x24]
push ebp
mov eax, dword [edx + 0x14]
mov ebp, dword [edx + 0x34]
imul eax, ebx
push esi
push edi
mov edi, dword [edx + 0x14]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], edi
lea esi, [eax + ecx*2]
mov eax, dword [ebp]
add esi, dword [edx + 0xc]
mov ecx, ebp
mov dword [esp + 0x10], esi
mov eax, dword [eax + 8]
call eax
mov ecx, dword [esp + 0x14]
movzx eax, al
cmp eax, 0xff
jne 0x1011c0c6
test byte [ecx + 0x2c], 0x10
je 0x1011c090
push dword [esp + 0x34]
mov eax, dword [ebp]
mov ecx, ebp
push esi
push ebx
push dword [esp + 0x38]
call dword [eax + 0x14]
mov ebx, dword [esp + 0x38]
dec ebx
test ebx, ebx
jle 0x1011c22c
mov eax, dword [esp + 0x34]
mov ebp, esi
add eax, eax
mov dword [esp + 0x34], eax
push eax
add esi, edi
push ebp
push esi
call fcn.101b5ac0
mov eax, dword [esp + 0x40]
add esp, 0xc
sub ebx, 1
jne 0x1011c070
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x38]
mov dword [esp + 0x38], eax
nop dword [eax + eax]
push dword [esp + 0x34]
mov eax, dword [ebp]
mov ecx, ebp
push esi
push ebx
push dword [esp + 0x38]
call dword [eax + 0x14]
inc ebx
add esi, edi
sub dword [esp + 0x38], 1
jne 0x1011c0a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x10
mov edx, dword [ecx + 0x38]
inc eax
mov ebp, edx
shr eax, 3
sub ebp, esi
mov dword [esp + 0x24], edx
test byte [ecx + 0x2c], 0x10
mov dword [esp + 0x14], eax
je 0x1011c189
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
push edi
push edx
mov eax, dword [ecx]
push ebx
push dword [esp + 0x38]
call dword [eax + 0x14]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
nop
mov ebx, esi
mov dword [esp + 0x38], edi
mov esi, edi
nop dword [eax + eax]
movzx eax, word [ebx]
lea ebx, [ebx + 2]
movzx ecx, word [ebx + ebp - 2]
mov edx, eax
and edx, 0x7e0
mov edi, ecx
and edi, 0x7e0
shl edx, 0x10
shl edi, 0x10
or edx, eax
or edi, ecx
and edx, 0xfffff81f
and edi, 0xfffff81f
dec esi
sub edi, edx
imul edi, dword [esp + 0x14]
shr edi, 5
add edi, edx
mov eax, edi
shr eax, 0x10
xor eax, edi
and eax, 0x7e0
xor eax, edi
mov word [ebx - 2], ax
test esi, esi
jg 0x1011c110
mov esi, dword [esp + 0x10]
add esi, dword [esp + 0x1c]
sub ebp, dword [esp + 0x1c]
sub dword [esp + 0x2c], 1
mov edi, dword [esp + 0x34]
mov dword [esp + 0x10], esi
jne 0x1011c100
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x10
mov eax, dword [esp + 0x38]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
push edi
push edx
mov eax, dword [ecx]
push ebx
push dword [esp + 0x38]
call dword [eax + 0x14]
mov ebx, esi
mov esi, edi
nop dword [eax]
movzx eax, word [ebx]
lea ebx, [ebx + 2]
movzx ecx, word [ebx + ebp - 2]
mov edx, eax
and edx, 0x7e0
mov edi, ecx
and edi, 0x7e0
shl edx, 0x10
shl edi, 0x10
or edx, eax
or edi, ecx
and edx, 0xfffff81f
and edi, 0xfffff81f
dec esi
sub edi, edx
imul edi, dword [esp + 0x14]
shr edi, 5
add edi, edx
mov eax, edi
shr eax, 0x10
xor eax, edi
and eax, 0x7e0
xor eax, edi
mov word [ebx - 2], ax
test esi, esi
jg 0x1011c1b0
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x10]
inc ebx
add esi, dword [esp + 0x1c]
sub ebp, dword [esp + 0x1c]
sub dword [esp + 0x38], 1
mov edx, dword [esp + 0x24]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], esi
jne 0x1011c191
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x10