Function at 0x1018eee0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x208
mov eax, dword [0x10216574]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1fc], ecx
push edi
mov esi, edx
push eax
mov dword [ebp - 0x208], esi
call fcn.1018e2b0
mov eax, dword [ebp + 8]
add esp, 4
cdq
and edx, 0xf
lea edi, [edx + eax]
sar edi, 4
test edi, edi
jle 0x1018ef3f
lea eax, [ebp - 0x1f8]
mov edx, esi
push eax
mov ecx, esi
call fcn.1018c490
add esp, 4
add esi, 0x10
sub edi, 1
jne 0x1018ef24
mov esi, dword [ebp - 0x1fc]
lea eax, [ebp - 0x104]
mov edi, 1
mov dword [ebp - 0x104], 0x78dc897e
sub edi, eax
mov dword [ebp - 0x100], 0x4fb64b7f
lea ecx, [ebp - 0x104]
mov dword [ebp - 0xfc], 0x16080d7d
mov eax, 2
mov dword [ebp - 0xf8], 0x2162cf7c
sub eax, ecx
mov dword [ebp - 0xf4], 0xa4748079
mov dword [ebp - 0x200], eax
xor edx, edx
mov ebx, dword [ebp - 0x200]
mov eax, 3
sub eax, ecx
mov dword [ebp - 0xf0], 0x931e4278
mov dword [ebp - 0xec], 0xcaa0047a
mov dword [ebp - 0xe8], 0xfdcac67b
mov dword [ebp - 0xe4], 0xb02ebc6c
mov dword [ebp - 0xe0], 0x87447e6d
mov dword [ebp - 0xdc], 0xdefa386f
mov dword [ebp - 0xd8], 0xe990fa6e
mov dword [ebp - 0xd4], 0x6c86b56b
mov dword [ebp - 0xd0], 0x5bec776a
mov dword [ebp - 0xcc], 0x2523168
mov dword [ebp - 0xc8], 0x3538f369
mov dword [ebp - 0xc4], 0x87faf62
mov dword [ebp - 0xc0], 0x3f156d63
mov dword [ebp - 0xbc], 0x66ab2b61
mov dword [ebp - 0xb8], 0x51c1e960
mov dword [ebp - 0xb4], 0xd4d7a665
mov dword [ebp - 0xb0], 0xe3bd6464
mov dword [ebp - 0xac], 0xba032266
mov dword [ebp - 0xa8], 0x8d69e067
mov dword [ebp - 0xa4], 0x20cbd748
mov dword [ebp - 0xa0], 0x17a11549
mov dword [ebp - 0x9c], 0x4e1f534b
mov dword [ebp - 0x98], 0x7975914a
mov dword [ebp - 0x94], 0xfc63de4f
mov dword [ebp - 0x90], 0xcb091c4e
mov dword [ebp - 0x8c], 0x92b75a4c
mov dword [ebp - 0x88], 0xa5dd984d
mov dword [ebp - 0x84], 0x989ac446
mov dword [ebp - 0x80], 0xaff00647
mov dword [ebp - 0x7c], 0xf64e4045
mov dword [ebp - 0x78], 0xc1248244
mov dword [ebp - 0x74], 0x4432cd41
mov dword [ebp - 0x70], 0x73580f40
mov dword [ebp - 0x6c], 0x2ae64942
mov dword [ebp - 0x68], 0x1d8c8b43
mov dword [ebp - 0x64], 0x5068f154
mov dword [ebp - 0x60], 0x67023355
mov dword [ebp - 0x5c], 0x3ebc7557
mov dword [ebp - 0x58], 0x9d6b756
mov dword [ebp - 0x54], 0x8cc0f853
mov dword [ebp - 0x50], 0xbbaa3a52
mov dword [ebp - 0x4c], 0xe2147c50
mov dword [ebp - 0x48], 0xd57ebe51
mov dword [ebp - 0x44], 0xe839e25a
mov dword [ebp - 0x40], 0xdf53205b
mov dword [ebp - 0x3c], 0x86ed6659
mov dword [ebp - 0x38], 0xb187a458
mov dword [ebp - 0x34], 0x3491eb5d
mov dword [ebp - 0x30], 0x3fb295c
mov dword [ebp - 0x2c], 0x5a456f5e
mov dword [ebp - 0x28], 0x6d2fad5f
mov dword [ebp - 0x24], 0x801b35e1
mov dword [ebp - 0x20], 0xb771f7e0
mov dword [ebp - 0x1c], 0xeecfb1e2
mov dword [ebp - 0x18], 0xd9a573e3
mov dword [ebp - 0x14], 0x5cb33ce6
mov dword [ebp - 0x10], 0x6bd9fee7
mov dword [ebp - 0xc], 0x3267b8e5
mov dword [ebp - 8], 0x50d7ae4
mov dword [ebp - 0x204], eax
nop dword [eax]
mov eax, edx
lea ecx, [ebp - 0x104]
and eax, 0xf
add ecx, edx
add edx, 4
movzx eax, byte [eax + esi]
xor byte [ecx], al
lea eax, [ecx + edi]
and eax, 0xf
movzx eax, byte [eax + esi]
xor byte [ecx + 1], al
lea eax, [ecx + ebx]
and eax, 0xf
movzx eax, byte [eax + esi]
xor byte [ecx + 2], al
mov eax, dword [ebp - 0x204]
add eax, ecx
and eax, 0xf
movzx eax, byte [eax + esi]
xor byte [ecx + 3], al
cmp edx, 0x100
jl 0x1018f1a0
mov ebx, dword [ebp + 8]
xor edx, edx
test ebx, ebx
jle 0x1018f214
mov esi, dword [ebp - 0x208]
nop dword [eax]
movzx eax, dl
lea ecx, [esi + edx]
inc edx
mov al, byte [ebp + eax - 0x104]
xor byte [ecx], al
cmp edx, ebx
jl 0x1018f200
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1015b166
mov esp, ebp
pop ebp
ret