Function at 0x140008e56
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], 0xfffffffffffffffe
inc qword [0x1401aa128]
lea rcx, [rbp - 0x60]
call fcn.1400097e8
lea rcx, [rbp - 0x38]
call fcn.1400097e8
xor edi, edi
cmp edi, 0x6a0
jae 0x140008f09
inc qword [0x1401aa130]
mov ecx, 0x26dcc
call fcn.140020eb0
mov rsi, rax
mov rbx, qword [0x1401aa138]
inc rbx
xor r14d, r14d
lea rax, [rbx + r14]
mov qword [0x1401aa138], rax
call fcn.140043d70
cdqe
imul rcx, rax, 0xffffffff9abf9f49
shr rcx, 0x20
add ecx, eax
mov edx, ecx
shr edx, 0x1f
sar ecx, 0xd
add ecx, edx
imul ecx, ecx, 0x34f0
sub eax, ecx
mov dword [rsi + r14*4], eax
call fcn.140043d70
inc r14
cmp r14, 0x83
jne 0x140008eb7
mov rcx, rsi
call fcn.140020fa0
inc edi
jmp 0x140008e8e
xor edi, edi
cmp edi, 0x4fa
jae 0x140008f83
inc qword [0x1401aa140]
mov ecx, 0x25970
call fcn.140020eb0
mov rsi, rax
mov rbx, qword [0x1401aa148]
inc rbx
xor r14d, r14d
lea rax, [rbx + r14]
mov qword [0x1401aa148], rax
call fcn.140043d70
cdqe
imul rcx, rax, 0x3c5c30cf
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2b
add ecx, edx
imul ecx, ecx, 0x21ee
sub eax, ecx
mov dword [rsi + r14*4], eax
call fcn.140043d70
inc r14
cmp r14, 0x185
jne 0x140008f34
mov rcx, rsi
call fcn.140020fa0
inc edi
jmp 0x140008f0b
xor edi, edi
cmp edi, 0x521
jae 0x140008ffd
inc qword [0x1401aa150]
mov ecx, 0x207dc
call fcn.140020eb0
mov rsi, rax
mov rbx, qword [0x1401aa158]
inc rbx
xor r14d, r14d
lea rax, [rbx + r14]
mov qword [0x1401aa158], rax
call fcn.140043d70
cdqe
imul rcx, rax, 0xbf6eedf
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x29
add ecx, edx
imul ecx, ecx, 0x2acb
sub eax, ecx
mov dword [rsi + r14*4], eax
call fcn.140043d70
inc r14
cmp r14, 0x181
jne 0x140008fae
mov rcx, rsi
call fcn.140020fa0
inc edi
jmp 0x140008f85
xor edi, edi
cmp edi, 0x556
jae 0x14000907a
inc qword [0x1401aa160]
mov ecx, 0x18670
call fcn.140020eb0
mov rsi, rax
mov rbx, qword [0x1401aa168]
inc rbx
xor r14d, r14d
lea rax, [rbx + r14]
mov qword [0x1401aa168], rax
call fcn.140043d70
cdqe
imul rcx, rax, 0xffffffff8ed918d1
shr rcx, 0x20
add ecx, eax
mov edx, ecx
shr edx, 0x1f
sar ecx, 0xd
add ecx, edx
imul ecx, ecx, 0x3959
sub eax, ecx
mov dword [rsi + r14*4], eax
call fcn.140043d70
inc r14
cmp r14, 0x1a7
jne 0x140009028
mov rcx, rsi
call fcn.140020fa0
inc edi
jmp 0x140008fff
xor edi, edi
cmp edi, 0x754
jae 0x1400090f7
inc qword [0x1401aa170]
mov ecx, 0x2332c
call fcn.140020eb0
mov rsi, rax
mov rbx, qword [0x1401aa178]
inc rbx
xor r14d, r14d
lea rax, [rbx + r14]
mov qword [0x1401aa178], rax
call fcn.140043d70
cdqe
imul rcx, rax, 0xffffffffa2dc3c33
shr rcx, 0x20
add ecx, eax
mov edx, ecx
shr edx, 0x1f
sar ecx, 0xd
add ecx, edx
imul ecx, ecx, 0x324d
sub eax, ecx
mov dword [rsi + r14*4], eax
call fcn.140043d70
inc r14
cmp r14, 0x1cc
jne 0x1400090a5
mov rcx, rsi
call fcn.140020fa0
inc edi
jmp 0x14000907c
xor edi, edi
cmp edi, 0x469
jae 0x140009171
inc qword [0x1401aa180]
mov ecx, 0xb0d8
call fcn.140020eb0
mov rsi, rax
mov rbx, qword [0x1401aa188]
inc rbx
xor r14d, r14d
lea rax, [rbx + r14]
mov qword [0x1401aa188], rax
call fcn.140043d70
cdqe
imul rcx, rax, 0x54c807f3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2b
add ecx, edx
imul ecx, ecx, 0x1828
sub eax, ecx
mov dword [rsi + r14*4], eax
call fcn.140043d70
inc r14
cmp r14, 0xfb
jne 0x140009122
mov rcx, rsi
call fcn.140020fa0
inc edi
jmp 0x1400090f9
xor edi, edi
cmp edi, 0x415
jae 0x1400091eb
inc qword [0x1401aa190]
mov ecx, 0x12bbc
call fcn.140020eb0
mov rsi, rax
mov rbx, qword [0x1401aa198]
inc rbx
xor r14d, r14d
lea rax, [rbx + r14]
mov qword [0x1401aa198], rax
call fcn.140043d70
cdqe
imul rcx, rax, 0x58c98153
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2b
add ecx, edx
imul ecx, ecx, 0x1711
sub eax, ecx
mov dword [rsi + r14*4], eax
call fcn.140043d70
inc r14
cmp r14, 0x14e
jne 0x14000919c
mov rcx, rsi
call fcn.140020fa0
inc edi
jmp 0x140009173
xor edi, edi
cmp edi, 0x6af
jae 0x140009265
inc qword [0x1401aa1a0]
mov ecx, 0x1123c
call fcn.140020eb0
mov rsi, rax
mov rbx, qword [0x1401aa1a8]
inc rbx
xor r14d, r14d
lea rax, [rbx + r14]
mov qword [0x1401aa1a8], rax
call fcn.140043d70
cdqe
imul rcx, rax, 0x31b0da9
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x27
add ecx, edx
imul ecx, ecx, 0x2937
sub eax, ecx
mov dword [rsi + r14*4], eax
call fcn.140043d70
inc r14
cmp r14, 0x1e0
jne 0x140009216
mov rcx, rsi
call fcn.140020fa0
inc edi
jmp 0x1400091ed
xor edi, edi
cmp edi, 0x68b
ja 0x1400092df
inc qword [0x1401aa1b0]
mov ecx, 0x104bc
call fcn.140020eb0
mov rsi, rax
mov rbx, qword [0x1401aa1b8]
inc rbx
xor r14d, r14d
lea rax, [rbx + r14]
mov qword [0x1401aa1b8], rax
call fcn.140043d70
cdqe
imul rcx, rax, 0x506012d7
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x2c
add ecx, edx
imul ecx, ecx, 0x32f6
sub eax, ecx
mov dword [rsi + r14*4], eax
call fcn.140043d70
inc r14
cmp r14, 0x133
jne 0x140009290
mov rcx, rsi
call fcn.140020fa0
inc edi
jmp 0x140009267
lea rcx, [rbp - 0x60]
lea rdx, [rbp - 0x38]
call fcn.140003fe1
lea rdi, [0x1401aa238]
test eax, eax
je 0x14000973e
inc qword [0x1401aa240]
inc qword [0x1401aa278]
lea rcx, [rbp - 0x10]
mov dword [rcx], 0x320001
inc qword [0x1401abac0]
movdqu xmm0, xmmword [0x1401ab350]
inc qword [0x1401abac8]
mov byte [rcx], 0x30
xor byte [rcx + 2], 0x32
pcmpeqd xmm1, xmm1
add qword [0x1401abad0], 2
psubq xmm0, xmm1
inc qword [0x1401ab348]
movdqu xmmword [0x1401ab350], xmm0
inc qword [0x1401abad8]
call fcn.14000ece2
inc qword [0x1401abaf8]
lea rsi, [rbp - 0x30]
inc qword [0x1401ab430]
mov rdx, qword [rsi + 0x10]
mov r8, qword [rsi + 0x18]
mov rcx, rsi
cmp r8, 8
jb 0x140009390
inc qword [0x1401abb00]
mov rcx, qword [rbp - 0x30]
inc qword [0x1401ab9f0]
inc qword [0x1401abae0]
cmp rdx, rax
jne 0x1400093f1
inc qword [0x1401abae8]
movdqu xmm0, xmmword [0x1401abb08]
pcmpeqd xmm1, xmm1
psubq xmm0, xmm1
movdqu xmmword [0x1401abb08], xmm0
test rax, rax
je 0x1400093d7
xor edx, edx
movzx r8d, word [rcx + rdx*2]
cmp r8w, word [rbp + rdx*2 - 0x10]
jne 0x1400093f1
inc rdx
cmp rax, rdx
jne 0x1400093c2
inc qword [0x1401abaf0]
mov dword [rbp + 0x34], 0
lea rax, [0x1401aa248]
jmp 0x140009738
inc qword [0x1401aa280]
movabs rax, 0x34000b00000000
mov qword [rbp - 0x10], rax
inc qword [0x1401ab968]
movdqu xmm0, xmmword [0x1401ab320]
pcmpeqd xmm1, xmm1
inc qword [0x1401ab970]
psubq xmm0, xmm1
movdqu xmmword [0x1401ab320], xmm0
mov rax, qword [0x1401ab978]
xor ecx, ecx
lea edx, [rcx + 0x31]
xor word [rbp + rcx*2 - 0x10], dx
inc rcx
cmp rcx, 4
jne 0x140009435
add rax, 4
inc qword [0x1401ab348]
mov qword [0x1401ab978], rax
inc qword [0x1401abad8]
lea rcx, [rbp - 0x10]
call fcn.14000ece2
inc qword [0x1401abaf8]
inc qword [0x1401ab430]
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
mov rcx, rsi
cmp r8, 8
jb 0x140009499
inc qword [0x1401abb00]
mov rcx, qword [rbp - 0x30]
inc qword [0x1401ab9f0]
inc qword [0x1401abae0]
cmp rdx, rax
jne 0x1400094fa
inc qword [0x1401abae8]
movdqu xmm0, xmmword [0x1401abb08]
pcmpeqd xmm1, xmm1
psubq xmm0, xmm1
movdqu xmmword [0x1401abb08], xmm0
test rax, rax
je 0x1400094e0
xor edx, edx
movzx r8d, word [rcx + rdx*2]
cmp r8w, word [rbp + rdx*2 - 0x10]
jne 0x1400094fa
inc rdx
cmp rax, rdx
jne 0x1400094cb
inc qword [0x1401abaf0]
mov dword [rbp + 0x34], 0
lea rax, [0x1401aa250]
jmp 0x140009738
inc qword [0x1401aa288]
mov dword [rbp - 0x10], 0x40000
mov word [rbp - 0xc], 0x33
inc qword [0x1401abb18]
movdqu xmm0, xmmword [0x1401ab360]
pcmpeqd xmm1, xmm1
inc qword [0x1401abb20]
psubq xmm0, xmm1
movdqu xmmword [0x1401ab360], xmm0
mov rax, qword [0x1401abb28]
xor ecx, ecx
lea edx, [rcx + 0x31]
xor word [rbp + rcx*2 - 0x10], dx
inc rcx
cmp rcx, 3
jne 0x14000953d
add rax, 3
inc qword [0x1401ab348]
mov qword [0x1401abb28], rax
inc qword [0x1401abad8]
lea rcx, [rbp - 0x10]
call fcn.14000ece2
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
inc qword [0x1401abaf8]
inc qword [0x1401ab430]
cmp rdx, 8
jb 0x14000959e
inc qword [0x1401abb00]
mov rsi, qword [rbp - 0x30]
inc qword [0x1401ab9f0]
inc qword [0x1401abae0]
cmp rcx, rax
jne 0x1400095fd
inc qword [0x1401abae8]
movdqu xmm0, xmmword [0x1401abb08]
pcmpeqd xmm1, xmm1
psubq xmm0, xmm1
movdqu xmmword [0x1401abb08], xmm0
test rax, rax
je 0x1400095e3
xor ecx, ecx
movzx edx, word [rsi + rcx*2]
cmp dx, word [rbp + rcx*2 - 0x10]
jne 0x1400095fd
inc rcx
cmp rax, rcx
jne 0x1400095d0
inc qword [0x1401abaf0]
mov dword [rbp + 0x34], 0
lea rax, [0x1401aa258]
jmp 0x140009738
inc qword [0x1401ab370]
cmp qword [rbp - 0x48], 8
jne 0x14000961e
mov dword [rbp + 0x34], 0
lea rax, [0x1401aa260]
jmp 0x140009738
inc qword [0x1401aa290]
movups xmm0, xmmword [0x1400ea0a6]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [0x1400ea0b6]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [0x1400ea0c6]
movaps xmmword [rbp + 0x10], xmm0
inc qword [0x1401abb30]
movdqu xmm0, xmmword [0x1401ab378]
pcmpeqd xmm1, xmm1
inc qword [0x1401abb38]
psubq xmm0, xmm1
movdqu xmmword [0x1401ab378], xmm0
mov rax, qword [0x1401abb40]
xor ecx, ecx
lea edx, [rcx + 0x31]
xor word [rbp + rcx*2 - 0x10], dx
inc rcx
cmp rcx, 0x18
jne 0x140009675
add rax, 0x18
inc qword [0x1401ab348]
mov qword [0x1401abb40], rax
inc qword [0x1401abad8]
lea rcx, [rbp - 0x10]
call fcn.14000ece2
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x40]
inc qword [0x1401abaf8]
inc qword [0x1401ab430]
cmp rcx, 8
jb 0x1400096d8
inc qword [0x1401abb00]
mov rcx, qword [rbp - 0x58]
inc qword [0x1401ab9f0]
jmp 0x1400096dc
lea rcx, [rbp - 0x58]
inc qword [0x1401abae0]
cmp rdx, rax
jne 0x14000973e
inc qword [0x1401abae8]
movdqu xmm0, xmmword [0x1401abb08]
pcmpeqd xmm1, xmm1
psubq xmm0, xmm1
movdqu xmmword [0x1401abb08], xmm0
test rax, rax
je 0x140009723
xor edx, edx
movzx r8d, word [rcx + rdx*2]
cmp r8w, word [rbp + rdx*2 - 0x10]
jne 0x14000973e
inc rdx
cmp rax, rdx
jne 0x14000970e
inc qword [0x1401abaf0]
mov dword [rbp + 0x34], 0
lea rax, [0x1401aa268]
mov qword [rbp + 0x28], rax
jmp 0x140009749
mov dword [rbp + 0x34], 1
mov qword [rbp + 0x28], rdi
mov rax, qword [rbp + 0x28]
inc qword [rax]
lea rcx, [rbp - 0x38]
call fcn.140009900
lea rcx, [rbp - 0x60]
call fcn.140009900
mov eax, dword [rbp + 0x34]
add rsp, 0xc0
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret