Function at 0x1401239b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
lea r14, [rdx + 0x38]
nop word [rax + rax]
mov eax, dword [0x1415be500]
sub eax, dword [0x1415be504]
add eax, 0xa85d5e18
and eax, 0x2b129f9
xor eax, 0x23009c8
cmp eax, 0xcccdeabd
ja 0x1401239d0
mov r15, qword [rsi + 0x28]
movzx ebp, byte [rsi + 0x30]
movzx eax, byte [0x1415d3950]
mov edx, 0x5f0
xor ecx, ecx
call fcn.1401b5e70
mov rbx, rax
mov eax, 0xc1bbbec3
nop word cs:[rax + rax]
mov ecx, dword [0x1415be508]
sub ecx, dword [0x1415be50c]
not ecx
and ecx, 0xc70f2a8a
mov edx, ecx
not edx
and edx, 0x4102a8e
xor ecx, 0xfbefd571
lea ecx, [rcx + rdx*2]
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x263ed98a
je 0x140123a20
test rbx, rbx
je 0x140123e57
mov r8d, 0x5f0
mov rcx, rbx
xor edx, edx
call fcn.14022b190
mov eax, dword [0x1415be510]
mov ecx, dword [0x1415be514]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xa7c434c3
and ecx, 0x583bcb3c
imul ecx, edx
mov edx, eax
and edx, 0x583bcb3c
or eax, 0x583bcb3c
imul eax, edx
add eax, ecx
imul eax, eax, 0x715a490f
cmp eax, 0x208e5730
je 0x140123a70
nop word cs:[rax + rax]
mov eax, dword [0x1415be518]
and eax, dword [0x1415be51c]
imul eax, eax, 0xb523f29f
or eax, 0x21bdef77
mov ecx, eax
not ecx
or ecx, 0x2cd5953f
add eax, ecx
inc eax
cmp eax, 0xd8257cb8
ja 0x140123ac0
mov rax, qword [rsi + 0x60]
movabs rcx, 0xf641900d6256b71f
movabs r9, 0xa60c596fc19fead0
movabs rdx, 0x6c7967656e657261
movabs r8, 0x2138e5d9d890fbd9
add rdx, r8
add r9, rcx
mov qword [rsp + 0x20], r9
movabs r11, 0x800000000000000
jmp 0x140123d64
mov r9, r8
movabs rcx, 0x7465646279746573
and r9, rcx
mov r10, r8
or r10, rcx
not r9
and r9, r10
lea r10, [r9 + rdx]
movabs rcx, 0x2138e5d9d890fbd9
sub r10, rcx
mov r13, r9
rol r13, 0x10
mov rcx, r13
xor rcx, r13
not rcx
and rcx, r10
xor rcx, r13
add r9, qword [rsp + 0x20]
movabs r10, 0xf641900d6256b71f
sub r9, r10
movabs r10, 0xded7d4e2d7dedfc6
lea r13, [r10 + rcx]
mov r10, r9
movabs r12, 0xe414a674f0de7325
xor r10, r12
rol rcx, 0x15
rol r9, 0x20
xor r8, r13
mov r12, rcx
xor r12, r13
not r12
and r12, r13
add r12, r12
sub r13, r12
add r13, rcx
xor r13, r11
add r8, r10
add r9, r13
rol r10, 0xd
xor r10, r8
rol r13, 0x10
mov rcx, r13
not rcx
mov r12, r9
not r12
and r12, rcx
and r13, r9
not r13
not r12
rol r8, 0x20
and r12, r13
add r9, r10
movabs rcx, 0xc7df44e8070583b0
add r8, rcx
add r8, r12
sub r8, rcx
rol r10, 0x11
xor r10, r9
rol r12, 0x15
rol r9, 0x20
xor r12, r8
xor r8, r11
mov ecx, r9d
not ecx
movzx ecx, cl
and r9, 0xffffffffffffff00
or r9, rcx
movabs rcx, 0x8d4103932c0932e6
sub r8, rcx
add rcx, r10
add r8, rcx
rol r10, 0xd
add r9, r12
mov rcx, r8
xor rcx, r10
not rcx
and rcx, r10
add rcx, rcx
sub r10, rcx
add r10, r8
rol r12, 0x10
rol r8, 0x20
xor r12, r9
add r9, r10
rol r10, 0x11
add r8, r12
xor r10, r9
rol r12, 0x15
mov rcx, r12
xor rcx, r8
not rcx
and rcx, r8
add rcx, rcx
mov r13, r8
sub r13, rcx
add r13, r12
rol r9, 0x20
add r8, r10
movabs r12, 0xd04f9f6d32406ba4
add r9, r13
add r9, r12
sub r9, r12
rol r10, 0xd
xor r10, r8
rol r13, 0x10
xor r13, r9
add r9, r10
rol r10, 0x11
mov rcx, r10
xor rcx, r9
not rcx
and rcx, r9
add rcx, rcx
mov r12, r9
sub r12, rcx
rol r8, 0x20
add r8, r13
add r12, r10
rol r13, 0x15
xor r13, r8
rol r9, 0x20
mov rcx, r12
and rcx, r8
or r8, r12
add r8, rcx
add r9, r13
rol r12, 0xd
mov rcx, r12
and rcx, r8
or r12, r8
not r12
or r12, rcx
not r12
rol r13, 0x10
xor r13, r9
add r9, r12
rol r12, 0x11
rol r13, 0x15
mov rcx, r9
rol rcx, 0x20
mov r8, r12
xor r8, r12
not r8
and r8, r13
xor r8, r12
mov r10, r8
and r10, rcx
add r8, rcx
add r10, r10
sub r8, r10
xor r8, r9
jne 0x140123e19
mov r8d, dword [0x1415be520]
xor r8d, dword [0x1415be524]
imul r8d, r8d, 0xbf360268
mov r9d, r8d
and r9d, 0x24e266e0
add r9d, r9d
neg r9d
add r8d, r9d
add r8d, 0x24e266e3
and r8d, 0xfffffff9
xor r8d, 0x8e51c23c
cmp r8d, 0x970f78de
jb 0x140123e0f
nop word [rax + rax]
mov r8d, dword [0x1415be528]
sub r8d, dword [0x1415be52c]
mov r9d, r8d
and r9d, 0x4efd035e
add r9d, r9d
mov r10d, r8d
sub r10d, r9d
neg r9d
add r8d, r9d
add r8d, 0x4efd035e
not r8d
or r8d, 0x9bb7f2d4
lea r9d, [r8 + r10]
add r9d, 0x4efd035e
mov r8d, 1
lock xadd qword [0x1415d38a0], r8
cmp r9d, 0x388b01b7
jne 0x140123b40
lock inc qword [0x1415d38a0]
jmp 0x140123db0
mov ecx, dword [0x1415be530]
and ecx, dword [0x1415be534]
mov edx, ecx
xor edx, 0x5a115266
or ecx, 0xa5eead98
and ecx, edx
shr ecx, 1
mov edx, 0xa6f1c9fb
imul rdx, rcx
shr rdx, 0x3e
or edx, 0xeaf2b71e
cmp edx, 0x4da8b639
jae 0x140123e59
jmp 0x140123efb
ud2
mov ecx, dword [0x1415be538]
sub ecx, dword [0x1415be53c]
mov edx, ecx
and edx, 0x3b6ad479
add edx, edx
neg edx
add ecx, edx
add ecx, 0xbb6ad479
mov edx, ecx
and edx, 0x185b880a
add edx, edx
sub ecx, edx
add ecx, 0x185b880a
shr ecx, 1
imul rcx, rcx, 0x2122a39d
shr rcx, 0x3c
mov rdx, qword [rsi + 0x58]
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rdi + 0x128], xmm1
movups xmmword [rdi + 0x118], xmm0
mov qword [rdi + 0x138], r15
mov byte [rdi + 0x140], bpl
mov qword [rdi], 0
mov qword [rdi + 8], rbx
mov qword [rdi + 0x80], 0
mov qword [rdi + 0x88], rbx
mov qword [rdi + 0x100], rax
mov qword [rdi + 0x108], r8
mov qword [rdi + 0x110], rdx
cmp ecx, 0x3e64b27d
jbe 0x140123f5b
mov rcx, qword [rsi + 0x58]
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rdi + 0x128], xmm1
movups xmmword [rdi + 0x118], xmm0
mov qword [rdi + 0x138], r15
mov byte [rdi + 0x140], bpl
mov qword [rdi], 0
mov qword [rdi + 8], rbx
mov qword [rdi + 0x80], 0
mov qword [rdi + 0x88], rbx
mov qword [rdi + 0x100], rax
mov qword [rdi + 0x108], r8
mov qword [rdi + 0x110], rcx
jmp 0x140123e59
mov rax, qword [rsi + 0x10]
test rax, rax
js 0x140123f6b
jne 0x140123f7a
jmp 0x140123ff0
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x140123ff0
mov eax, dword [0x1415be540]
mov ecx, dword [0x1415be544]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
or ecx, 0xa21d08bf
add ecx, 0x4f5707da
cmp ecx, 0x8c3e5e0f
ja 0x140123fd1
mov eax, dword [0x1415be548]
xor edx, edx
div dword [0x1415be54c]
mov edi, eax
mov r8, qword [rsi + 0x18]
mov rcx, qword [0x1415d3918]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp edi, 0x1f9e4cb1
jne 0x140123ff0
mov r8, qword [rsi + 0x18]
mov rcx, qword [0x1415d3918]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140123fa6
mov eax, dword [0x1415be554]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x1415be550]
xor ecx, eax
imul eax, ecx, 0xa1de3334
not eax
or eax, 0x82980380
and eax, 0xae9867a3
cmp eax, 0xe7ff40e6
je 0x140123ff0
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret