Function at 0x1001b130
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018c0cb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x84
push esi
push edi
mov dword [ebp - 4], 1
call fcn.10134400
mov esi, eax
test esi, esi
jne 0x1001b231
movaps xmm1, xmmword [0x1019a5a0]
mov esi, dword [ebp + 8]
mov ecx, esi
mov dword [ebp - 0x18], 0xb3b2a8b2
movd xmm0, dword [ebp - 0x18]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
mov word [ebp - 0x14], ax
lea eax, [ebp - 0xd]
psrad xmm0, 0x18
push eax
xorps xmm1, xmm0
lea eax, [ebp - 0x14]
andps xmm1, xmmword [0x10196d40]
push eax
packuswb xmm1, xmm1
lea eax, [ebp - 0x18]
packuswb xmm1, xmm1
push eax
movd dword [ebp - 0x18], xmm1
call fcn.100055e0
mov ecx, dword [ebp + 0x20]
cmp ecx, 0xf
jbe 0x1001b1e7
mov edx, dword [ebp + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001b1dd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001b22b
push ecx
push edx
call fcn.1013141d
add esp, 8
mov ecx, dword [ebp + 0x38]
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x20], 0xf
mov byte [ebp + 0xc], 0
cmp ecx, 0xf
jbe 0x1001b6c3
mov edx, dword [ebp + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001b6b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1001b6b9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
cmp dword [ebp + 0x38], 0xf
lea eax, [ebp + 0x24]
mov byte [ebp - 4], 3
cmova eax, dword [ebp + 0x24]
push eax
push 0x2712
push esi
call fcn.10137380
push 1
push 0x51
push esi
call fcn.10137380
push 0x1019833c
push 0x27c1
push esi
call fcn.10137380
push 1
push 0x40
push esi
call fcn.10137380
push 1
push 0xac
push esi
call fcn.10137380
cmp dword [ebp + 0x20], 0xf
lea eax, [ebp + 0xc]
cmova eax, dword [ebp + 0xc]
push eax
push 0x271f
push esi
call fcn.10137380
add esp, 0x48
push 0x1001df70
push 0x4e2b
push esi
call fcn.10137380
lea eax, [ebp - 0x70]
push eax
push 0x2711
push esi
call fcn.10137380
push 0x100166f0
push 0x4e6f
push esi
call fcn.10137380
lea eax, [ebp - 0x88]
push eax
push 0x272d
push esi
call fcn.10137380
push esi
call fcn.10134460
add esp, 0x34
test eax, eax
je 0x1001b35e
push eax
call fcn.10133a70
mov edi, eax
sub esp, 0x14
mov edx, esp
mov ecx, edi
xorps xmm0, xmm0
movups xmmword [edx], xmm0
lea eax, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [ebp - 0x1c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001b343
sub ecx, dword [ebp - 0x1c]
push ecx
push edi
mov ecx, edx
call fcn.10003a40
call fcn.10015330
add esp, 0x18
sub esp, 0x18
lea eax, [ebp - 0x70]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.1000c790
sub esp, 0x18
mov byte [ebp - 4], 4
lea eax, [ebp + 0x24]
mov dword [ebp - 0x90], esp
mov ecx, esp
push eax
call fcn.1000c790
sub esp, 0x18
mov byte [ebp - 4], 5
lea eax, [ebp + 0xc]
mov ecx, esp
push eax
call fcn.1000c790
mov byte [ebp - 4], 3
call fcn.100118c0
lea eax, [ebp - 0x58]
push eax
push 0x400022
push esi
call fcn.101343e0
add esp, 0x54
test eax, eax
jne 0x1001b5b4
mov ecx, dword [ebp - 0x58]
xor dl, dl
xor edi, edi
mov byte [ebp - 0xd], dl
cmp dword [ecx], edi
jle 0x1001b566
movaps xmm2, xmmword [0x10196d40]
xor esi, esi
movaps xmm0, xmmword [0x1019a4e0]
mov dword [ebp - 0x1c], esi
mov eax, dword [ecx + 4]
mov esi, dword [esi + eax]
test esi, esi
je 0x1001b550
nop
movd eax, xmm0
movaps xmm1, xmmword [0x1019a5a0]
movups xmmword [ebp - 0x42], xmm0
mov dword [ebp - 0x32], 0x8a8d849a
mov word [ebp - 0x2e], 0x83
mov byte [ebp - 0x2c], 1
movd xmm0, eax
mov eax, 0x10
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x3e]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
punpcklwd xmm0, xmm0
packuswb xmm1, xmm1
psrad xmm0, 0x18
movd dword [ebp - 0x42], xmm1
movaps xmm1, xmmword [0x1019a5b0]
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x3a]
punpcklbw xmm0, xmm0
andps xmm1, xmm2
punpcklwd xmm0, xmm0
packuswb xmm1, xmm1
psrad xmm0, 0x18
packuswb xmm1, xmm1
movd dword [ebp - 0x3e], xmm1
movaps xmm1, xmmword [0x1019a5c0]
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x36]
punpcklbw xmm0, xmm0
andps xmm1, xmm2
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
packuswb xmm1, xmm1
xorps xmm0, xmmword [0x1019a5d0]
andps xmm0, xmm2
packuswb xmm1, xmm1
packuswb xmm0, xmm0
packuswb xmm0, xmm0
movd dword [ebp - 0x3a], xmm1
movd dword [ebp - 0x36], xmm0
nop word [eax + eax]
lea ecx, [eax - 0x24]
xor byte [ebp + eax - 0x42], cl
inc eax
cmp eax, 0x15
jb 0x1001b4c0
lea eax, [ebp - 0x42]
mov byte [ebp - 0x2c], 0
push eax
push dword [esi]
call sub.VCRUNTIME140.dll_strstr
add esp, 8
test eax, eax
jne 0x1001b51c
lea ecx, [ebp - 0x2b]
mov dword [ebp - 0x2b], 0xf8aab890
mov dword [ebp - 0x27], 0x8da7c193
mov dword [ebp - 0x23], 0x979f9787
mov word [ebp - 0x1f], 0x9c
mov byte [ebp - 0x1d], 1
call fcn.10013680
lea eax, [ebp - 0x2b]
push eax
push dword [esi]
call sub.VCRUNTIME140.dll_strstr
add esp, 8
test eax, eax
je 0x1001b523
mov dl, 1
mov byte [ebp - 0xd], dl
jmp 0x1001b526
mov dl, byte [ebp - 0xd]
mov esi, dword [esi + 4]
movaps xmm2, xmmword [0x10196d40]
movaps xmm0, xmmword [0x1019a4e0]
test esi, esi
jne 0x1001b3f0
mov ecx, dword [ebp - 0x58]
movaps xmm2, xmmword [0x10196d40]
movaps xmm0, xmmword [0x1019a4e0]
mov esi, dword [ebp - 0x1c]
inc edi
add esi, 4
mov dword [ebp - 0x1c], esi
cmp edi, dword [ecx]
jl 0x1001b3e1
test dl, dl
jne 0x1001b5b4
movaps xmm0, xmmword [0x1019a560]
lea ecx, [ebp - 0x51]
sub esp, 0x18
mov dword [ebp - 0x31], 0x9b9b949a
movups xmmword [ebp - 0x51], xmm0
mov esi, esp
mov word [ebp - 0x2d], 0x100
movaps xmm0, xmmword [0x1019a4c0]
movups xmmword [ebp - 0x41], xmm0
mov dword [ebp - 0x18], esi
call fcn.10013350
lea eax, [ebp - 0xd]
mov ecx, esi
push eax
lea eax, [ebp - 0x2d]
push eax
lea eax, [ebp - 0x51]
push eax
call fcn.100055e0
call fcn.10015330
add esp, 0x18
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x74]
mov eax, 0xf
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [ebp - 0x70]
mov byte [ebp - 0x70], 0
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x60]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], eax
cmp ecx, eax
jbe 0x1001b628
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001b61b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001b22b
push ecx
push edx
call fcn.1013141d
mov eax, dword [ebp - 0x5c]
add esp, 8
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
cmp eax, 0xf
jbe 0x1001b670
mov edx, dword [ebp - 0x70]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001b666
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001b22b
push ecx
push edx
call fcn.1013141d
add esp, 8
mov ecx, dword [ebp + 0x20]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp ecx, 0xf
jbe 0x1001b1e7
mov edx, dword [ebp + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001b1dd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001b22b
jmp 0x1001b1dd
push ecx
push edx
call fcn.1013141d
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret