Function at 0x140160fa0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rcx
mov ecx, dword [0x140220418]
sub ecx, dword [0x14022041c]
mov eax, 0x10591a5f
xor eax, 0x7d4b313a
and eax, ecx
xor eax, 0xffffffff
add ecx, 0x6d122b65
add ecx, 1
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x51d23ec1
mov r8d, 0xddfa70ec
xor r8d, 0x8c284e2d
mov r9d, 0xa1b7b845
xor r9d, 0x5e4847ba
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xffffffff
or ecx, 0x51d23ec1
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xc087604a
xor ecx, 0x3d12d7fb
xor eax, ecx
mov ecx, 0xa162f057
xor ecx, 0x834239c8
cmp eax, ecx
jbe 0x1401613b7
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x140220420]
mov edx, dword [0x140220424]
xor edx, 0xfaca62a
or eax, edx
mov edx, 0x92d68080
xor edx, 0x562ffd8
imul eax, edx
xor edx, edx
sub edx, eax
mov eax, 0x2cb0e82a
xor eax, 0x2cb0e82a
mov r8d, 0xc8019cff
xor r8d, 0x5b214c85
sub eax, r8d
add edx, eax
xor eax, eax
sub eax, edx
mov r8d, 0xd113f7bd
xor edx, edx
div r8d
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
cmp rcx, 0
setg cl
mov byte [rsp + 0x47], cl
cmp eax, 0x51282ac0
je 0x14016103e
mov al, byte [rsp + 0x47]
test al, 1
jne 0x1401610c3
jmp 0x1401612db
mov rdx, qword [rsp + 0x38]
mov rcx, rdx
and rcx, 1
mov rax, rdx
or rax, 1
add rcx, rax
mov qword [rsp + 0x30], rcx
xor rdx, 0xffffffffffffffff
mov rax, rcx
and rax, rdx
movabs r8, 0xb2da6d2ba285ca52
movabs r9, 0x4d2592d45d7a35ad
xor r8, r9
xor rax, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs rdx, 0xbe4821870b6ef55c
movabs r8, 0x41b7de78f4910aa3
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
jge 0x1401611ef
mov eax, dword [0x140220428]
add eax, dword [0x14022042c]
mov ecx, eax
xor ecx, 0xd425595b
mov edx, 0x5d796914
xor edx, 0xa28696eb
xor ecx, edx
or eax, 0xd425595b
and eax, ecx
add eax, 0x87e9986f
or eax, 0x138b083f
cmp eax, 0x7c489d6
jbe 0x1401613c0
mov eax, dword [0x140220430]
sub eax, dword [0x140220434]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xd9831dec
xor edx, 0xfc9b8d1e
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x251890f2
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x251890f2
or eax, 0x251890f2
imul eax, edx
add eax, ecx
sub eax, 0x1f4c6380
add eax, 0x4066dd58
mov ecx, 0x1382eadd
xor ecx, 0xe9072439
add eax, ecx
sub eax, 0x4066dd58
mov dword [rsp + 0x2c], eax
call fcn.140008bc6
mov eax, dword [rsp + 0x2c]
cmp eax, 0xbc1637a4
je 0x140161171
jmp 0x1401612db
mov rax, qword [rsp + 0x30]
cmp rax, 0
jge 0x14016123b
mov rcx, qword [rsp + 0x30]
movabs rdx, 0x494830b7186b208e
movabs rax, 0x494830b7186b208e
xor rdx, rax
movabs r8, 0x342141dc3d393b6f
movabs rax, 0x4bdebe23c2c6c490
xor r8, rax
call fcn.14000e6db
jmp 0x1401612db
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
mov rcx, qword [rdx + 8]
add rcx, 8
add rcx, qword [rdx]
mov rdx, qword [rax + 8]
add rdx, 8
call fcn.14017f3d0
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov r8, qword [rcx]
mov rax, qword [rax]
movabs rcx, 0xcef223cee4c1f7bd
mov rdx, rax
sub rdx, rcx
add rdx, r8
movabs rcx, 0x1d68a15e74809dc2
movabs r9, 0xd39a829090416a7f
xor rcx, r9
add rdx, rcx
mov qword [rsp + 0x20], rdx
mov rcx, rdx
xor rcx, r8
xor rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1401612ce
call fcn.140008bc6
jmp 0x1401612db
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x20]
mov qword [rax], rcx
mov ecx, dword [0x140220438]
mov edx, dword [0x14022043c]
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0x85e92adb
xor r9d, 0x7a16d524
mov r8d, edx
xor r8d, r9d
or eax, r8d
xor ecx, 0xffffffff
mov r8d, 0x4363bcd1
xor r8d, 0xbc9c432e
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
or eax, 0xeec6465c
imul eax, eax, 0xc07d9f9f
xor eax, 0xf0303295
mov ecx, 0x30f33a4f
xor ecx, 0xc196ecdd
cmp eax, ecx
jae 0x1401613c9
mov eax, dword [0x140220440]
xor edx, edx
div dword [0x140220444]
mov ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x3b2a9fcd
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
mov r8d, 0xeccf856f
xor r8d, 0x13307a90
xor eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x3b2a9fcd
or ecx, 0x3b2a9fcd
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0xae75698a
mov edx, 0xf5d62f58
xor edx, 0x5ba346d2
xor ecx, edx
or eax, ecx
sub eax, 0xb22a33af
cmp eax, 0xbeae8772
je 0x1401613c9
add rsp, 0x58
ret
stc
adc eax, 0xfc7ee93f
invalid
loope 0x1401613d6
mov edi, 0xfffda8e9
push qword [rbp + 0x19]
jne 0x1401613e4
jl 0x140161443
jmp 0x14016133f
nop word cs:[rax + rax]