Function at 0x14001e7a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1508
call fcn.1400f1ac0
sub rsp, rax
mov rsi, qword [0x1402318e8]
test rsi, rsi
je 0x14001ec5c
lea rbx, [rsp + 0x502]
lea r14, [rsp + 0x2f8]
lea r15, str.File:
lea r12, [0x140216d6c]
lea r13, [0x140178880]
jmp 0x14001e800
mov rsi, qword [rsi + 0x118]
test rsi, rsi
je 0x14001ec5c
mov r8, qword [rsi + 0x108]
test r8, r8
je 0x14001e7f0
cmp word [r8], 0
je 0x14001e7f0
mov word [rsp + 0x500], 0xfeff
mov edx, 0x7fe
mov rcx, rbx
mov r9, 0xffffffffffffffff
call fcn.14015bf40
mov r9d, dword [rsi]
lea rcx, [rsp + 0x260]
call fcn.14001ec70
lea rbp, [rsp + 0x500]
mov rcx, rbp
call fcn.14015b9f4
mov rdi, rax
add rdi, rax
mov qword [rsp + 0x40], rdi
cmp rdi, 0x400000
ja 0x14001ebee
mov qword [rsp + 0x2e8], r14
movabs rax, 0x10400000000
mov qword [rsp + 0x2f0], rax
mov word [rsp + 0x2f8], 0
lea rax, vtable.H.0
mov qword [rsp + 0x2e0], rax
mov dword [rsp + 0x4c], 0x50000
mov r9, qword [0x1402246b8]
mov r8, qword [0x140224498]
lea rax, [0x140225bf0]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x2e0]
lea rdx, str._s_s._s
call fcn.140011ed0
mov rcx, qword [rsp + 0x2e8]
test rcx, rcx
je 0x14001ebd9
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
mov edx, 0xc0000000
mov r8d, 3
xor r9d, r9d
call qword [0x14021a210]
cmp rax, 0xffffffffffffffff
je 0x14001ebd9
mov rbp, rax
mov qword [rsp + 0x50], 0
mov rcx, rax
xor edx, edx
lea r8, [rsp + 0x54]
mov r9d, 2
call qword [0x14021a5e0]
mov dword [rsp + 0x50], eax
cmp eax, 0xffffffff
jne 0x14001e94b
call qword [0x14021a398]
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea rdx, [rsp + 0x4c]
mov r8d, 4
lea rdi, [rsp + 0x50]
mov r9, rdi
call qword [0x14021a6b8]
test eax, eax
je 0x14001e982
mov eax, dword [rsp + 0x50]
jmp 0x14001e98c
mov dword [rsp + 0x50], 0
xor eax, eax
lock add qword [0x14023d228], rax
lea rcx, [rsp + 0x260]
call fcn.14015b9f4
inc eax
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea rdx, [rsp + 0x3c]
mov r8d, 4
mov r9, rdi
call qword [0x14021a6b8]
test eax, eax
je 0x14001e9d9
mov eax, dword [rsp + 0x50]
jmp 0x14001e9e3
mov dword [rsp + 0x50], 0
xor eax, eax
lock add qword [0x14023d228], rax
mov edx, 0x104
mov rcx, rdi
lea r8, [rsp + 0x260]
mov r9, 0xffffffffffffffff
call fcn.14015bf40
mov r8d, dword [rsp + 0x3c]
add r8d, r8d
je 0x14001ea86
mov eax, r8d
xor ecx, ecx
xor edx, edx
nop dword [rax + rax]
mov r9d, ecx
and r9d, 0xe
add edx, dword [r13 + r9*4]
xor dl, byte [rsp + rcx + 0x50]
mov byte [rsp + rcx + 0x50], dl
lea r9d, [rcx + 1]
and r9d, 0xf
add dl, byte [r13 + r9*4]
xor dl, byte [rsp + rcx + 0x51]
mov byte [rsp + rcx + 0x51], dl
movzx edx, dl
add rcx, 2
cmp rax, rcx
jne 0x14001ea20
mov dword [rsp + 0x38], 0
test r8d, r8d
je 0x14001ea8e
mov qword [rsp + 0x20], 0
mov rcx, rbp
mov rdx, rdi
lea r9, [rsp + 0x38]
call qword [0x14021a6b8]
test eax, eax
je 0x14001ea86
mov eax, dword [rsp + 0x38]
jmp 0x14001ea90
mov dword [rsp + 0x38], 0
xor eax, eax
lock add qword [0x14023d228], rax
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x14001eb17
cmp rdx, 1
jne 0x14001eaae
xor eax, eax
xor ecx, ecx
jmp 0x14001eb06
mov r8, rdx
and r8, 0xfffffffffffffffe
xor ecx, ecx
xor eax, eax
nop dword [rax]
mov r9d, ecx
and r9d, 0xe
add eax, dword [r13 + r9*4]
xor al, byte [rsp + rcx + 0x500]
mov byte [rsp + rcx + 0x500], al
lea r9d, [rcx + 1]
and r9d, 0xf
add al, byte [r13 + r9*4]
xor al, byte [rsp + rcx + 0x501]
mov byte [rsp + rcx + 0x501], al
movzx eax, al
add rcx, 2
cmp r8, rcx
jne 0x14001eac0
test dl, 1
je 0x14001eb17
mov edx, ecx
and edx, 0xf
add eax, dword [r13 + rdx*4]
xor byte [rsp + rcx + 0x500], al
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea rdx, [rsp + 0x40]
mov r8d, 4
lea r9, [rsp + 0x38]
call qword [0x14021a6b8]
mov r14, rbx
test eax, eax
je 0x14001eb4e
mov eax, dword [rsp + 0x38]
jmp 0x14001eb58
mov dword [rsp + 0x38], 0
xor eax, eax
lock add qword [0x14023d228], rax
mov rbx, qword [rsp + 0x40]
xor edi, edi
test rbx, rbx
je 0x14001ebb8
nop dword [rax]
mov dword [rsp + 0x38], 0
cmp rbx, 0xfffffff
mov r8d, 0xfffffff
cmovb r8, rbx
lea rdx, [rsp + rdi + 0x500]
mov qword [rsp + 0x20], 0
mov rcx, rbp
lea r9, [rsp + 0x38]
call qword [0x14021a6b8]
test eax, eax
je 0x14001ebb8
mov eax, dword [rsp + 0x38]
add rdi, rax
sub rbx, rax
jne 0x14001eb70
lock add qword [0x14023d228], rdi
mov rcx, rbp
call qword [0x14021a1f0]
mov rdi, qword [rsp + 0x40]
mov rbx, r14
lea r14, [rsp + 0x2f8]
lea rbp, [rsp + 0x500]
mov rcx, rbp
xor edx, edx
mov r8, rdi
call fcn.14016e0e0
mov r8, qword [rsi + 0x108]
mov edx, 0x800
mov rcx, rbp
mov r9, 0xffffffffffffffff
call fcn.14015bf40
mov rdi, rbp
nop dword [rax]
mov rcx, rdi
mov rdx, r15
call fcn.140146994
test rax, rax
je 0x14001e7f0
mov rbp, rax
mov rcx, rax
mov rdx, r12
call fcn.140146994
test rax, rax
je 0x14001e7f0
mov rdi, rax
mov word [rax], 0
add rbp, 0xa
mov rcx, rbp
call fcn.14001ecd0
add rdi, 2
test al, al
jne 0x14001ec10
jmp 0x14001e7f0
add rsp, 0x1508
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret