Function at 0x1400455a0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov qword [rsp + 0x48], 0xfffffffffffffffe
movsxd rax, edx
lea rdx, [rax + rax*4]
lea r13, [rcx + rdx*8]
lea rcx, [r13 + 0xe8]
call fcn.140002130
mov esi, 1
mov dword [rsp + 0xa8], esi
xor r12d, r12d
mov ebp, r12d
mov qword [rsp + 0xb8], r12
mov r8, qword [r13 + 0xd0]
mov rcx, qword [r13 + 0xd8]
sub rcx, r8
movabs rax, 0x4924924924924925
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140045a2e
mov r15d, r12d
lea r14, str.User_Code
mov rcx, qword [r8 + r15]
call fcn.1400ccbb4
mov edi, eax
lea rcx, [0x1401b59a8]
mov rdx, qword [0x1401b59a8]
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0xb0], rbx
cmp edi, 0xf4240
jge 0x1400457ca
mov r8, qword [r13 + 0xd0]
add r8, r15
mov rdx, qword [r8 + 0x10]
mov rax, r12
nop dword [rax]
movzx ecx, word [rdx + rax*2]
cmp cx, word [r14 + rax*2]
jne 0x140045697
movzx ecx, word [rdx + rax*2 + 2]
cmp cx, word [r14 + rax*2 + 2]
jne 0x140045697
add rax, 2
cmp rax, 0xa
jne 0x140045670
mov eax, r12d
jmp 0x14004569c
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400457ca
add r8, 0x18
lea rdx, str.try
lea rcx, [rsp + 0x38]
call fcn.14001afb0
nop
lea r8, str.catch_e_tryif_console__console.log_console.log_Caught_an_exception_from:
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14001aed0
nop
mov r8, qword [r13 + 0xd0]
add r8, 0x10
add r8, r15
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.14000feb0
nop
lea r8, str.___Exception_message:____e.message__catch_e1___r_n
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.14001aed0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14004575a
cmp dword [rbx + 0x10], 0
jl 0x140045748
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140045748
call fcn.1400024f0
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x14004573a
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0xb0], rax
jmp 0x14004575a
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0xb0]
call fcn.1400023a0
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140045774
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14004578e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400457a8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140045954
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140045954
mov rdx, qword [r13 + 0xd0]
add rdx, 0x18
add rdx, r15
lea r8, [0x14014b600]
lea rcx, [rsp + 0x40]
call fcn.14001aed0
nop
mov r14, qword [rax]
lea rcx, [r14 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x140045934
cmp dword [rdi + 0x10], 0
jl 0x140045839
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140045839
call fcn.1400024f0
mov rbx, rax
lock add dword [rdi + 0x10], 0xffffffff
jg 0x140045828
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0xb0], rax
jmp 0x140045934
movsxd rsi, dword [r14 - 0x10]
test esi, esi
jne 0x140045898
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x14004592d
cmp dword [rdi + 0x10], 0
jge 0x14004586b
cmp dword [rbx - 0xc], 0
jl 0x140045a02
mov dword [rbx - 0x10], r12d
mov word [rbx], r12w
jmp 0x14004592d
lock add dword [rdi + 0x10], 0xffffffff
jg 0x14004587e
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xb0], rax
jmp 0x14004592d
test r14, r14
je 0x140045a23
mov eax, dword [rbx - 0x10]
mov dword [rsp + 0xa0], eax
mov rbp, r14
sub rbp, rbx
sar rbp, 1
test esi, esi
js 0x140045a18
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x1400458e4
mov edx, esi
lea rcx, [rsp + 0xb0]
call fcn.140002490
mov rbx, qword [rsp + 0xb0]
mov eax, dword [rsp + 0xa0]
lea rdi, [rsi + rsi]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp rbp, rax
ja 0x14004590c
lea r8, [rbx + rbp*2]
call fcn.1400cc30c
jmp 0x140045914
mov r8, r14
call fcn.1400cc4cc
cmp esi, dword [rbx - 0xc]
jg 0x140045a0d
mov dword [rbx - 0x10], esi
mov word [rdi + rbx], r12w
mov rbp, qword [rsp + 0xb8]
mov esi, dword [rsp + 0xa8]
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14004594d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r14, str.User_Code
mov rdx, qword [rsp + 0xb0]
mov r8d, dword [rdx - 0x10]
lea rcx, [r13 + 0xe8]
call fcn.140010970
lea rcx, [rsp + 0xb0]
call fcn.140026150
dec eax
mov rcx, qword [r13 + 0xd0]
mov dword [r15 + rcx + 0x2c], esi
lea edx, [rax - 1]
add edx, esi
mov rcx, qword [r13 + 0xd0]
mov dword [r15 + rcx + 0x30], edx
add esi, eax
mov dword [rsp + 0xa8], esi
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400459bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc rbp
mov qword [rsp + 0xb8], rbp
add r15, 0x38
mov r8, qword [r13 + 0xd0]
mov rcx, qword [r13 + 0xd8]
sub rcx, r8
movabs rax, 0x4924924924924925
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbp, rdx
jae 0x140045a2e
jmp 0x140045627
mov ecx, 0x80070057
call fcn.140001920
int3
mov ecx, 0x80070057
call fcn.140001920
int3
mov ecx, 0x80070057
call fcn.140001920
int3
mov ecx, 0x80070057
call fcn.140001920
nop
mov r8d, dword [0x1401bdd80]
mov ecx, r8d
imul ecx, r8d
imul ecx, r8d
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
sub ecx, eax
cmp ecx, 2
jne 0x140045b00
mov ecx, r12d
and ecx, 1
dec ecx
not ecx
and ecx, r8d
mov eax, r12d
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r8d
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
not ecx
and ecx, r8d
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r8d
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
not ecx
and ecx, r8d
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r8d
sar ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
dec ecx
not ecx
and ecx, r8d
sar eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
dec eax
not eax
and eax, r8d
sar ecx, 1
xor eax, ecx
add r8d, eax
inc r12d
cmp r12d, 0x100
jl 0x140045a62
mov dword [0x1401bdd80], r8d
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret