Function at 0x1001b721
Capabilities:
Encode data using xor

Disassembly:
push 0x2c8
mov eax, 0x100520e0
call fcn.1005065e
xor ebx, ebx
mov ecx, 0xfd
mov edx, ebx
mov al, byte [edx + 0x10054fc0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1001b756
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x1001b739
mov byte [ebp - 0x13], bl
lea eax, [ebp - 0x20]
mov dword [ebp - 4], ebx
push eax
call fcn.1002d52f
movaps xmm0, xmmword [0x10059fa0]
movups xmmword [ebp - 0x2d4], xmm0
pop ecx
movaps xmm0, xmmword [0x1005ae80]
movups xmmword [ebp - 0x2c4], xmm0
mov dword [ebp - 0xa4], 0xcccfc1e8
movaps xmm0, xmmword [0x1005af60]
movups xmmword [ebp - 0x2b4], xmm0
mov dword [ebp - 0xa0], 0xcfc184c2
movaps xmm0, xmmword [0x1005ab90]
movups xmmword [ebp - 0x2a4], xmm0
mov word [ebp - 0x9c], 0xc2
movaps xmm0, xmmword [0x1005a7c0]
movups xmmword [ebp - 0x294], xmm0
mov byte [ebp - 0x9a], 1
movaps xmm0, xmmword [0x1005a880]
movups xmmword [ebp - 0x284], xmm0
movaps xmm0, xmmword [0x1005a6b0]
movups xmmword [ebp - 0x274], xmm0
movaps xmm0, xmmword [0x1005a6c0]
movups xmmword [ebp - 0x264], xmm0
movaps xmm0, xmmword [0x1005a8b0]
movups xmmword [ebp - 0x254], xmm0
movaps xmm0, xmmword [0x1005a2f0]
movups xmmword [ebp - 0x244], xmm0
movaps xmm0, xmmword [0x1005a360]
movups xmmword [ebp - 0x234], xmm0
movaps xmm0, xmmword [0x1005a3b0]
movups xmmword [ebp - 0x224], xmm0
movaps xmm0, xmmword [0x1005a450]
movups xmmword [ebp - 0x214], xmm0
movaps xmm0, xmmword [0x1005a0d0]
movups xmmword [ebp - 0x204], xmm0
movaps xmm0, xmmword [0x1005a010]
movups xmmword [ebp - 0x1f4], xmm0
movaps xmm0, xmmword [0x10059b70]
movups xmmword [ebp - 0x1e4], xmm0
movaps xmm0, xmmword [0x10059cf0]
movups xmmword [ebp - 0x1d4], xmm0
movaps xmm0, xmmword [0x1005aff0]
movups xmmword [ebp - 0x1c4], xmm0
movaps xmm0, xmmword [0x1005abd0]
movups xmmword [ebp - 0x1b4], xmm0
movaps xmm0, xmmword [0x1005ac60]
movups xmmword [ebp - 0x1a4], xmm0
movaps xmm0, xmmword [0x1005acf0]
movups xmmword [ebp - 0x194], xmm0
movaps xmm0, xmmword [0x1005aee0]
movups xmmword [ebp - 0x184], xmm0
movaps xmm0, xmmword [0x1005b010]
movups xmmword [ebp - 0x174], xmm0
movaps xmm0, xmmword [0x1005ac20]
movups xmmword [ebp - 0x164], xmm0
movaps xmm0, xmmword [0x1005a910]
movups xmmword [ebp - 0x154], xmm0
movaps xmm0, xmmword [0x1005a560]
movups xmmword [ebp - 0x144], xmm0
movaps xmm0, xmmword [0x1005a5b0]
movups xmmword [ebp - 0x134], xmm0
movaps xmm0, xmmword [0x1005a5d0]
movups xmmword [ebp - 0x124], xmm0
movaps xmm0, xmmword [0x1005a520]
movups xmmword [ebp - 0x114], xmm0
movaps xmm0, xmmword [str.M_7_D]
movups xmmword [ebp - 0x104], xmm0
movaps xmm0, xmmword [0x1005a130]
movups xmmword [ebp - 0xf4], xmm0
movaps xmm0, xmmword [0x10059b90]
movups xmmword [ebp - 0xe4], xmm0
movaps xmm0, xmmword [0x10059d50]
movups xmmword [ebp - 0xd4], xmm0
movaps xmm0, xmmword [0x1005ad10]
movups xmmword [ebp - 0xc4], xmm0
movaps xmm0, xmmword [0x1005ab00]
movups xmmword [ebp - 0xb4], xmm0
mov ecx, ebx
lea eax, [ecx + 0x6f]
xor byte [ebp + ecx - 0x2d4], al
inc ecx
cmp ecx, 0x239
jb 0x1001b97c
push 0x5b
mov byte [ebp - 0x9a], bl
mov edx, ebx
pop ecx
mov al, byte [edx + 0x10054fd0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1001b9b7
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x1001b99a
mov byte [ebp - 0x12], bl
push ecx
lea eax, [ebp - 0x2d4]
mov dword [ebp - 4], 1
push eax
mov edx, 0x100d5980
lea ecx, [ebp - 0x20]
call fcn.100345b8
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 0x1001ba00
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x1001b9e3
mov byte [ebp - 0x28], bl
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 2
push eax
call fcn.1002d52f
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x30]
and dword [ebp - 0x30], 0
mov edx, 0x10060328
and dword [ebp - 0x2c], 0
mov ecx, 0x10053593
push ebx
push ebx
push ebx
push eax
push 0x100
call fcn.10031c3c
movaps xmm0, xmmword [0x10059c00]
lea ecx, [ebp - 0x3c]
add esp, 0x18
mov dword [ebp - 0x2c], 0x1a13101d
movups xmmword [ebp - 0x3c], xmm0
mov word [ebp - 0x28], 0xf2
mov byte [ebp - 0x26], 1
call fcn.100022a8
mov edx, 0x100d597b
mov ecx, eax
call fcn.100300ae
mov ecx, 0xbc
mov edx, ebx
mov al, byte [edx + 0x10054ff0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1001ba97
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 9
jl 0x1001ba7a
mov byte [ebp - 0x27], bl
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 3
push eax
call fcn.1002d52f
movaps xmm0, xmmword [0x10059bb0]
movups xmmword [ebp - 0x98], xmm0
pop ecx
movaps xmm0, xmmword [0x1005ada0]
mov ecx, ebx
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x48], 0xaea093e0
movaps xmm0, xmmword [0x1005af40]
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x44], 0xa0b0b6
movaps xmm0, xmmword [0x1005ab60]
movups xmmword [ebp - 0x68], xmm0
mov byte [ebp - 0x40], 1
movaps xmm0, xmmword [0x1005ac80]
movups xmmword [ebp - 0x58], xmm0
lea eax, [ecx + 0x6f]
xor byte [ebp + ecx - 0x98], al
inc ecx
cmp ecx, 0x57
jb 0x1001bb02
mov byte [ebp - 0x40], bl
mov ecx, 0xa5
mov edx, ebx
mov al, byte [edx + 0x10054ffc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1001bb39
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x12
jl 0x1001bb1c
mov byte [ebp - 0x12], bl
push ecx
lea eax, [ebp - 0x98]
mov dword [ebp - 4], 4
push eax
mov edx, 0x100d597c
lea ecx, [ebp - 0x24]
call fcn.100345b8
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x1a130625
mov dword [ebp - 0x18], 0x16153b52
mov word [ebp - 0x14], 0x1d
mov byte [ebp - 0x12], 1
call fcn.1000553b
mov edx, 0x10060314
mov ecx, eax
call fcn.100300ae
cmp byte [0x10060314], 0
je 0x1001bbbe
call fcn.1004f340
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call fcn.1004f820
push 0x10018c61
push 0x100d5990
call fcn.1004edc0
call fcn.1004f3a0
call fcn.1005061c
ret