Function at 0x100168d5
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 0x10016907
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 8
jl 0x100168ea
mov byte [ebp - 0x14], bl
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], ebx
push eax
call fcn.10027799
or esi, 0xffffffff
mov dword [ebp - 4], esi
movaps xmm0, xmmword [0x10053b10]
pop ecx
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0x6110113
mov ecx, ebx
mov dword [ebp - 0x44], 0x160a3402
mov dword [ebp - 0x40], 0x1c140809
mov dword [ebp - 0x3c], 0x1000d17
lea eax, [ecx + 0x62]
xor byte [ebp + ecx - 0x58], al
inc ecx
cmp ecx, 0x1e
jb 0x1001694c
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.1002e851
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 0x100169b2
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x10016995
mov byte [ebp - 0x25], bl
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 1
push eax
call fcn.10027799
mov dword [ebp - 4], esi
movaps xmm0, xmmword [0x10053b00]
movups xmmword [ebp - 0x68], xmm0
pop ecx
movaps xmm0, xmmword [0x10054420]
mov ecx, ebx
movups xmmword [ebp - 0x58], xmm0
mov word [ebp - 0x38], 0xf6
movaps xmm0, xmmword [0x100544f0]
movups xmmword [ebp - 0x48], xmm0
mov byte [ebp - 0x36], 1
lea eax, [ecx + 0x62]
xor byte [ebp + ecx - 0x68], al
inc ecx
cmp ecx, 0x31
jb 0x100169fc
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.1002e851
cmp dword [0x100ce854], 7
pop ecx
pop ecx
jne 0x10016a92
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.10029813
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 0x10016ab6
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x10016a99
mov byte [ebp - 0x16], bl
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 2
push eax
call fcn.10027799
pop ecx
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0xe6e7e0e1
mov dword [ebp - 0x1c], 0xeaebe4e5
mov dword [ebp - 0x18], 0x100e8e9
call fcn.1000f86c
push ecx
push 0xa6
push 0x100589d0
push 0x1002e712
mov edx, 0x100580c4
mov ecx, eax
call fcn.1002e76d
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 0x10016b33
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x10016b16
mov byte [ebp - 0x13], bl
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 3
push eax
call fcn.10027799
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.10029b9d
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.1002e18e
add esp, 0xc
call fcn.1004a8bc
ret