Function at 0x10016353
Capabilities:
Encode data using xor

Disassembly:
push 0x138
mov eax, 0x1004be10
call fcn.1004a8fe
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0x6522252d
mov dword [ebp - 0x34], 0xf022a
xor ebx, ebx
mov dword [ebp - 0x30], 0xc3e6b1e
mov dword [ebp - 0x2c], 0x1000a09
call fcn.100127a4
movaps xmm0, xmmword [0x10054500]
lea ecx, [ebp - 0x28]
mov esi, eax
mov word [ebp - 0x18], 0x100
movups xmmword [ebp - 0x28], xmm0
call fcn.100127e6
push ecx
push esi
mov edx, 0x100ce834
mov ecx, eax
call fcn.1002e851
movaps xmm0, xmmword [0x10053ab0]
movups xmmword [ebp - 0x88], xmm0
pop ecx
movaps xmm0, xmmword [0x10054410]
movups xmmword [ebp - 0x78], xmm0
pop ecx
movaps xmm0, xmmword [0x10054330]
mov ecx, ebx
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x58], 0xa4b4beb2
mov word [ebp - 0x54], 0xa3
mov byte [ebp - 0x52], 1
lea eax, [ecx + 0x62]
xor byte [ebp + ecx - 0x88], al
inc ecx
cmp ecx, 0x35
jb 0x100163ea
movaps xmm0, xmmword [0x100543e0]
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x52], bl
movups xmmword [ebp - 0x28], xmm0
mov word [ebp - 0x18], 0xd4
mov byte [ebp - 0x16], 1
call fcn.100021b1
push ecx
lea ecx, [ebp - 0x88]
mov edx, 0x100805c0
push ecx
mov ecx, eax
call fcn.1002e851
movaps xmm0, xmmword [0x10054190]
movups xmmword [ebp - 0x13c], xmm0
pop ecx
movaps xmm0, xmmword [0x10054450]
movups xmmword [ebp - 0x12c], xmm0
pop ecx
movaps xmm0, xmmword [0x100543c0]
mov ecx, ebx
movups xmmword [ebp - 0x11c], xmm0
mov byte [ebp - 0x8c], 1
movaps xmm0, xmmword [0x10054440]
movups xmmword [ebp - 0x10c], xmm0
movaps xmm0, xmmword [0x10054390]
movups xmmword [ebp - 0xfc], xmm0
movaps xmm0, xmmword [0x100542f0]
movups xmmword [ebp - 0xec], xmm0
movaps xmm0, xmmword [0x10054310]
movups xmmword [ebp - 0xdc], xmm0
movaps xmm0, xmmword [0x100542c0]
movups xmmword [ebp - 0xcc], xmm0
movaps xmm0, xmmword [0x100542a0]
movups xmmword [ebp - 0xbc], xmm0
movaps xmm0, xmmword [0x10054050]
movups xmmword [ebp - 0xac], xmm0
movaps xmm0, xmmword [str.pbjbcUmm_nHyz_]
movups xmmword [ebp - 0x9c], xmm0
lea eax, [ecx + 0x62]
xor byte [ebp + ecx - 0x13c], al
inc ecx
cmp ecx, 0xaf
jb 0x100164d3
movaps xmm0, xmmword [0x10054500]
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x8c], bl
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0x100f0f1
call fcn.1000eb35
push ecx
lea ecx, [ebp - 0x13c]
mov edx, 0x100805c4
push ecx
mov ecx, eax
call fcn.1002e851
cmp dword [0x100805c4], 0x19
pop ecx
pop ecx
jne 0x10016578
push ecx
mov esi, 0xff
mov edx, 0x100ce82c
push esi
push ecx
mov ecx, str.Color_Alpha
call fcn.10029b9d
pop ecx
pop ecx
push esi
push ecx
mov edx, 0x100805cc
mov ecx, str.Color_Red
call fcn.10029b9d
pop ecx
pop ecx
push esi
push ecx
mov edx, 0x100ce828
mov ecx, str.Color_Green
call fcn.10029b9d
pop ecx
pop ecx
push esi
push ecx
mov edx, 0x100ce830
mov ecx, str.Color_Blue
call fcn.10029b9d
add esp, 0xc
mov ecx, 0xd4
mov edx, ebx
mov al, byte [edx + 0x1004ec50]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1001659c
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x1001657f
mov byte [ebp - 0x17], bl
lea eax, [ebp - 0x28]
mov dword [ebp - 4], ebx
push eax
call fcn.10027799
or dword [ebp - 4], 0xffffffff
movaps xmm0, xmmword [0x10054500]
pop ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0xf7f0f1
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 0x14], 1
call fcn.1000eab7
push ecx
mov dword [esp], 0x3f800000
lea ecx, [ebp - 0x140]
mov esi, str._.3f
mov dword [ebp - 0x144], 0xc2c80000
push esi
push ecx
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x140], 0x42c80000
push ecx
push 0x100580b8
push 4
pop edx
mov ecx, eax
call fcn.10029813
add esp, 0x14
mov edx, ebx
push 0x66
pop ecx
mov al, byte [edx + 0x1004ec64]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x10016638
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x1001661b
mov byte [ebp - 0x17], bl
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 1
push eax
call fcn.10027799
or dword [ebp - 4], 0xffffffff
movaps xmm0, xmmword [0x10054500]
pop ecx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x40], 0xf6f7f0f1
movups xmmword [ebp - 0x50], xmm0
mov word [ebp - 0x3c], 0x100
call fcn.100127c5
push ecx
mov dword [esp], 0x3f800000
lea ecx, [ebp - 0x144]
push esi
push ecx
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x140], 0xc2c80000
push ecx
push 0x100589ac
push 4
pop edx
mov ecx, eax
mov dword [ebp - 0x144], 0x42c80000
call fcn.10029813
add esp, 0x14
call fcn.1004a8bc
ret