Function at 0x1001b661
Capabilities:
Encode data using xor

Disassembly:
push 0x2c8
mov eax, 0x100518de
call fcn.1004fe2e
xor ebx, ebx
mov ecx, 0xfd
mov edx, ebx
mov al, byte [edx + 0x10053fd8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1001b696
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x1001b679
mov byte [ebp - 0x13], bl
lea eax, [ebp - 0x20]
mov dword [ebp - 4], ebx
push eax
call fcn.1002c921
movaps xmm0, xmmword [0x10058de0]
movups xmmword [ebp - 0x2d4], xmm0
pop ecx
movaps xmm0, xmmword [0x10059860]
movups xmmword [ebp - 0x2c4], xmm0
mov dword [ebp - 0xa4], 0xf8fbf5e4
movaps xmm0, xmmword [0x10059a00]
movups xmmword [ebp - 0x2b4], xmm0
mov dword [ebp - 0xa0], 0xf3fdb8f6
movaps xmm0, xmmword [0x10059780]
movups xmmword [ebp - 0x2a4], xmm0
mov word [ebp - 0x9c], 0xfe
movaps xmm0, xmmword [0x10059530]
movups xmmword [ebp - 0x294], xmm0
mov byte [ebp - 0x9a], 1
movaps xmm0, xmmword [0x100595e0]
movups xmmword [ebp - 0x284], xmm0
movaps xmm0, xmmword [0x10059500]
movups xmmword [ebp - 0x274], xmm0
movaps xmm0, xmmword [0x100594c0]
movups xmmword [ebp - 0x264], xmm0
movaps xmm0, xmmword [0x10059590]
movups xmmword [ebp - 0x254], xmm0
movaps xmm0, xmmword [0x10059250]
movups xmmword [ebp - 0x244], xmm0
movaps xmm0, xmmword [0x10059210]
movups xmmword [ebp - 0x234], xmm0
movaps xmm0, xmmword [0x10059230]
movups xmmword [ebp - 0x224], xmm0
movaps xmm0, xmmword [0x100593a0]
movups xmmword [ebp - 0x214], xmm0
movaps xmm0, xmmword [0x10059050]
movups xmmword [ebp - 0x204], xmm0
movaps xmm0, xmmword [0x100590a0]
movups xmmword [ebp - 0x1f4], xmm0
movaps xmm0, xmmword [0x10058d60]
movups xmmword [ebp - 0x1e4], xmm0
movaps xmm0, xmmword [0x10058f40]
movups xmmword [ebp - 0x1d4], xmm0
movaps xmm0, xmmword [0x10059940]
movups xmmword [ebp - 0x1c4], xmm0
movaps xmm0, xmmword [0x100596c0]
movups xmmword [ebp - 0x1b4], xmm0
movaps xmm0, xmmword [0x10059730]
movups xmmword [ebp - 0x1a4], xmm0
movaps xmm0, xmmword [0x10059830]
movups xmmword [ebp - 0x194], xmm0
movaps xmm0, xmmword [0x100598a0]
movups xmmword [ebp - 0x184], xmm0
movaps xmm0, xmmword [0x10059990]
movups xmmword [ebp - 0x174], xmm0
movaps xmm0, xmmword [0x10059720]
movups xmmword [ebp - 0x164], xmm0
movaps xmm0, xmmword [0x10059570]
movups xmmword [ebp - 0x154], xmm0
movaps xmm0, xmmword [0x10059410]
movups xmmword [ebp - 0x144], xmm0
movaps xmm0, xmmword [0x10059460]
movups xmmword [ebp - 0x134], xmm0
movaps xmm0, xmmword [0x10059420]
movups xmmword [ebp - 0x124], xmm0
movaps xmm0, xmmword [0x10059350]
movups xmmword [ebp - 0x114], xmm0
movaps xmm0, xmmword [0x10058d50]
movups xmmword [ebp - 0x104], xmm0
movaps xmm0, xmmword [0x10059100]
movups xmmword [ebp - 0xf4], xmm0
movaps xmm0, xmmword [0x10058d40]
movups xmmword [ebp - 0xe4], xmm0
movaps xmm0, xmmword [0x10058fc0]
movups xmmword [ebp - 0xd4], xmm0
movaps xmm0, xmmword [0x100597e0]
movups xmmword [ebp - 0xc4], xmm0
movaps xmm0, xmmword [0x10059640]
movups xmmword [ebp - 0xb4], xmm0
mov ecx, ebx
lea eax, [ecx + 0x63]
xor byte [ebp + ecx - 0x2d4], al
inc ecx
cmp ecx, 0x239
jb 0x1001b8bc
push 0x5b
mov byte [ebp - 0x9a], bl
mov edx, ebx
pop ecx
mov al, byte [edx + 0x10053fe8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1001b8f7
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x1001b8da
mov byte [ebp - 0x12], bl
push ecx
lea eax, [ebp - 0x2d4]
mov dword [ebp - 4], 1
push eax
mov edx, 0x100d3978
lea ecx, [ebp - 0x20]
call fcn.10033d08
pop ecx
pop ecx
push 0x1b
pop ecx
mov edx, ebx
mov al, byte [edx + str.Xtj_sQCNI_T]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x34], al
and ecx, 0x800000ff
jns 0x1001b940
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x1001b923
mov byte [ebp - 0x28], bl
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 2
push eax
call fcn.1002c921
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x30]
and dword [ebp - 0x30], 0
mov edx, 0x1005e320
and dword [ebp - 0x2c], 0
mov ecx, 0x10052593
push ebx
push ebx
push ebx
push eax
push 0x100
call fcn.1003138c
movaps xmm0, xmmword [0x10058ff0]
lea ecx, [ebp - 0x3c]
add esp, 0x18
mov dword [ebp - 0x2c], 0x161f1c11
movups xmmword [ebp - 0x3c], xmm0
mov word [ebp - 0x28], 6
mov byte [ebp - 0x26], 1
call fcn.100022a8
mov edx, 0x100d3973
mov ecx, eax
call fcn.1002f8cb
mov ecx, 0xbc
mov edx, ebx
mov al, byte [edx + 0x10054008]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1001b9d7
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 9
jl 0x1001b9ba
mov byte [ebp - 0x27], bl
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 3
push eax
call fcn.1002c921
movaps xmm0, xmmword [0x10058cd0]
movups xmmword [ebp - 0x98], xmm0
pop ecx
movaps xmm0, xmmword [0x10059910]
mov ecx, ebx
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x48], 0xdad4e7ec
movaps xmm0, xmmword [0x100599f0]
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x44], 0xdcccc2
movaps xmm0, xmmword [0x100597b0]
movups xmmword [ebp - 0x68], xmm0
mov byte [ebp - 0x40], 1
movaps xmm0, xmmword [0x10059840]
movups xmmword [ebp - 0x58], xmm0
lea eax, [ecx + 0x63]
xor byte [ebp + ecx - 0x98], al
inc ecx
cmp ecx, 0x57
jb 0x1001ba42
mov byte [ebp - 0x40], bl
mov ecx, 0xa5
mov edx, ebx
mov al, byte [edx + 0x10054014]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001ba79
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x12
jl 0x1001ba5c
mov byte [ebp - 0x12], bl
push ecx
lea eax, [ebp - 0x98]
mov dword [ebp - 4], 4
push eax
mov edx, 0x100d3974
lea ecx, [ebp - 0x24]
call fcn.10033d08
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xf000b2a
mov dword [ebp - 0x18], 0xb062e45
mov word [ebp - 0x14], 2
mov byte [ebp - 0x12], 1
call fcn.10005531
mov edx, 0x1005e310
mov ecx, eax
call fcn.1002f8cb
cmp byte [0x1005e310], 0
je 0x1001bafe
call fcn.1004eb10
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call fcn.1004eff0
push 0x10018ae5
push 0x100d3984
call fcn.1004e590
call fcn.1004eb70
call fcn.1004fdec
ret