Function at 0x100168cf
Capabilities:
Encode data using xor

Disassembly:
push 0x64
mov eax, 0x1004bebb
call fcn.1004a8fe
xor ebx, ebx
mov ecx, 0xff
mov edx, ebx
mov al, byte [edx + 0x1004ecc0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1c], al
and ecx, 0x800000ff
jns 0x10016901
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 8
jl 0x100168e4
mov byte [ebp - 0x14], bl
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], ebx
push eax
call fcn.1002778d
or esi, 0xffffffff
mov dword [ebp - 4], esi
movaps xmm0, xmmword [0x10053ef0]
pop ecx
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0x2e39293b
mov ecx, ebx
mov dword [ebp - 0x44], 0xe121c2a
mov dword [ebp - 0x40], 0x40c1011
mov dword [ebp - 0x3c], 0x100150f
lea eax, [ecx + 0x4a]
xor byte [ebp + ecx - 0x58], al
inc ecx
cmp ecx, 0x1e
jb 0x10016946
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x39], bl
mov dword [ebp - 0x20], 0xc8c9cacb
mov dword [ebp - 0x1c], 0xcccdcecf
mov dword [ebp - 0x18], 0xd1d2d3
mov byte [ebp - 0x14], 1
call fcn.10003452
push ecx
lea ecx, [ebp - 0x58]
mov edx, 0x100ce864
push ecx
mov ecx, eax
call fcn.1002e845
pop ecx
pop ecx
push 0x5f
pop ecx
mov edx, ebx
mov al, byte [edx + 0x1004eccc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x34], al
and ecx, 0x800000ff
jns 0x100169ac
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1001698f
mov byte [ebp - 0x25], bl
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 1
push eax
call fcn.1002778d
mov dword [ebp - 4], esi
movaps xmm0, xmmword [0x10053f00]
movups xmmword [ebp - 0x68], xmm0
pop ecx
movaps xmm0, xmmword [0x100539b0]
mov ecx, ebx
movups xmmword [ebp - 0x58], xmm0
mov word [ebp - 0x38], 0x1e
movaps xmm0, xmmword [0x10053ad0]
movups xmmword [ebp - 0x48], xmm0
mov byte [ebp - 0x36], 1
lea eax, [ecx + 0x4a]
xor byte [ebp + ecx - 0x68], al
inc ecx
cmp ecx, 0x31
jb 0x100169f6
lea ecx, [ebp - 0x1c]
mov byte [ebp - 0x36], bl
mov dword [ebp - 0x1c], 0xc9cacbc4
mov dword [ebp - 0x18], 0xcdcecfc8
mov word [ebp - 0x14], 0x100
call fcn.10002214
push ecx
lea ecx, [ebp - 0x68]
mov edx, 0x100ce854
push ecx
mov ecx, eax
call fcn.1002e845
cmp dword [0x100ce854], 7
pop ecx
pop ecx
jne 0x10016a8c
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x39261806
mov word [ebp - 0x18], 0x13
mov byte [ebp - 0x16], 1
call fcn.1000210c
push ecx
mov dword [esp], 0x3f800000
lea ecx, [ebp - 0x6c]
push str._.3f
push ecx
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0xc2480000
push ecx
push 0x100580bc
push 4
pop edx
mov ecx, eax
mov dword [ebp - 0x6c], 0x42480000
call fcn.10029807
add esp, 0x14
mov ecx, 0x95
mov edx, ebx
mov al, byte [edx + 0x1004ecdc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10016ab0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x10016a93
mov byte [ebp - 0x16], bl
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 2
push eax
call fcn.1002778d
pop ecx
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0xcecfc8c9
mov dword [ebp - 0x1c], 0xd2d3cccd
mov dword [ebp - 0x18], 0x100d0d1
call fcn.1000f866
push ecx
push 0xa6
push 0x100589d0
push 0x1002e706
mov edx, 0x100580c4
mov ecx, eax
call fcn.1002e761
add esp, 0x10
mov ecx, 0xf3
mov edx, ebx
mov al, byte [edx + 0x1004ecec]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10016b2d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x10016b10
mov byte [ebp - 0x13], bl
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 3
push eax
call fcn.1002778d
push 0x168
mov dword [ebp - 4], esi
push ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xc9cacbc4
mov dword [ebp - 0x18], 0xcecfc8
mov byte [ebp - 0x14], 1
call fcn.1000214e
mov esi, 0x100580c0
mov ecx, eax
mov edx, esi
call fcn.10029b91
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0xc8c9cacb
mov dword [ebp - 0x30], 0xcccdcecf
mov dword [ebp - 0x2c], 0xd0d1d2d3
mov word [ebp - 0x28], 0x100
call fcn.100051c1
mov edx, esi
mov ecx, eax
call fcn.1002e182
add esp, 0xc
call fcn.1004a8bc
ret