Function at 0x140023a82
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rcx
call fcn.140009f59
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
add rax, 0x60
mov qword [rsp + 0x78], rax
mov rax, qword [rcx]
mov qword [rsp + 0x80], rax
cmp rax, rdx
jle 0x1400235e1
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
call fcn.1400230c0
jmp 0x140023a5e
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jge 0x140023a5e
mov ecx, dword [0x1401dc178]
imul ecx, dword [0x1401dc17c]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x1a54ea99
mov edx, 0x20a14ed6
xor edx, 0x3af5a44f
mov r8d, 0x2439e525
xor r8d, 0xdbc61ada
xor edx, r8d
and ecx, edx
or eax, ecx
or eax, 0xa6766665
or eax, 0x26a96cf7
mov ecx, 0x6fe361b4
xor ecx, 0xf5cc2835
cmp eax, ecx
jbe 0x140023a67
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x1401dc180]
mov edx, 0xd2c02a31
xor edx, 0x7ceeb14d
xor eax, edx
mov r8d, dword [0x1401dc184]
mov edx, eax
and edx, r8d
shl edx, 1
add eax, r8d
sub eax, edx
xor edx, edx
sub edx, 0xf3b4c0a7
sub eax, edx
add eax, 0x5b1f72cc
mov edx, 0x798e7caa
xor edx, 0xe4b4b70
sub eax, edx
sub eax, 0x5b1f72cc
mov edx, eax
xor edx, 0xa2a4215d
xor edx, 0xffffffff
or eax, 0xa2a4215d
and eax, edx
mov rdx, rcx
add rdx, 8
mov qword [rsp + 0x50], rdx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x58], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x67], cl
cmp eax, 0xf1494a90
je 0x14002364a
mov al, byte [rsp + 0x67]
test al, 1
jne 0x140023715
jmp 0x1400236e5
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
movabs rdx, 0x55d95975702fb723
movabs r8, 0xea26a68a8fd048dc
xor rdx, r8
and rax, rdx
cmp rax, rcx
jge 0x1400238bf
mov eax, dword [0x1401dc188]
or eax, dword [0x1401dc18c]
mov ecx, 0x3b0635ab
xor ecx, 0x693b4a7c
imul eax, ecx
imul eax, eax, 0x83db5944
mov ecx, 0x6f749207
xor ecx, 0x8d060ff8
sub eax, ecx
cmp eax, 0x2baecd9c
ja 0x140023a70
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x70]
mov eax, dword [0x1401dc190]
mov ecx, 0x8590865d
xor ecx, 0xbad3a3b8
xor eax, ecx
xor eax, dword [0x1401dc194]
imul eax, eax, 0xabc3d309
or eax, 0x240cb295
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x1f38e782
xor edx, 0x5dc9c196
and edx, ecx
mov r10d, 0xff86c432
xor r10d, 0xbd77e226
mov ecx, 0x794b584d
xor ecx, 0x86b4a7b2
xor r10d, ecx
mov ecx, eax
and ecx, r10d
imul ecx, edx
mov edx, eax
and edx, 0x42f12614
mov r10d, 0xf664575b
xor r10d, 0xb495714f
or eax, r10d
imul eax, edx
add eax, ecx
movabs rdx, 0x90102796c0e4f493
mov rcx, r9
add rcx, rdx
sub rcx, r8
movabs rdx, 0xb0db174bfb4e19f6
movabs r10, 0x20cb30dd3baaed65
xor rdx, r10
sub rcx, rdx
mov qword [rsp + 0x40], rcx
mov rdx, rcx
xor rdx, r9
movabs r9, 0xafd282b508c335a2
movabs r10, 0xafd282b508c335a2
xor r9, r10
cmp rdx, r9
setl dl
xor rcx, r8
cmp rcx, 0xffffffffffffffff
setg r8b
xor r8b, 0xff
mov cl, dl
xor cl, r8b
and cl, dl
mov byte [rsp + 0x4f], cl
cmp eax, 0x109b90d5
je 0x140023a70
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x1400238b5
jmp 0x14002385b
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
movabs r9, 0x8ac0d9958fd9366c
movabs rax, 0x8ac0d9958fd93664
xor r9, rax
movabs rax, 0xf87e53bf17c8d96a
movabs r10, 0xf87e53bf17c8d962
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140011560
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x1400238bf
call fcn.1400067fe
jmp 0x140023a5e
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
mov eax, dword [0x1401dc198]
mov ecx, dword [0x1401dc19c]
mov edx, 0xbef71763
xor edx, 0x2e122bcb
xor ecx, edx
sub eax, ecx
or eax, 0x4798ff0f
and eax, 0xa82b821c
and eax, 0xfc02955f
cmp eax, 0xc23949a
je 0x140023a79
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x1401dc1a0]
xor eax, 0x4ff18809
mov r8d, dword [0x1401dc1a4]
mov edx, 0xc97a0a25
xor edx, 0x4e9e2c1e
xor r8d, edx
xor edx, edx
div r8d
mov r8d, 0x7f51574c
xor edx, edx
div r8d
mov r8d, 0xfdd7c96
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x70]
and eax, 0x92050e98
cmp rcx, rdx
setl cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x5b58f297
jae 0x140023918
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140023988
jmp 0x140023a5e
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1400e9d1b
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
jne 0x140023a5e
mov r9, qword [rsp + 0x30]
mov rax, r9
add rax, 1
mov rcx, r9
xor rcx, 0xffffffffffffffff
movabs r8, 0xe2ac661ea1faeade
movabs rdx, 0x58a8958164a29f4c
xor r8, rdx
and r8, rcx
mov rdx, 0xffffffffffffffff
movabs rcx, 0xba04f39fc5587592
xor rdx, rcx
and r9, rdx
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r10, 0xba04f39fc5587592
and rcx, r10
and rdx, 0xffffffffffffffff
or r8, r9
or rcx, rdx
xor r8, rcx
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov rdx, rax
xor rdx, 0xffffffffffffffff
and rcx, rdx
mov rdx, r8
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x1400238d9
call fcn.1400067fe
nop
add rsp, 0x88
ret
cwde
int1
retf 0xe935
mov edi, 0xe930605d
invalid
fnstsw word [rsi]
iretd
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.1400230c0
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140023590