Function at 0x14023a120
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x108
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xc0], rcx
call fcn.140241230
mov rcx, qword [rsp + 0xc8]
mov rdx, rax
mov rax, qword [rsp + 0xd0]
add rdx, 0x50
mov qword [rsp + 0xd8], rdx
mov qword [rcx], 0
mov rdx, rcx
add rdx, 8
mov qword [rsp + 0xe0], rdx
mov qword [rcx + 8], 0
mov rcx, rax
and rcx, 0xffffffff80000000
shl rcx, 1
xor rax, 0xffffffff80000000
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14023a1d2
mov rcx, qword [rsp + 0xd0]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
call fcn.14000cee2
jmp 0x14023a78b
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0xf8], eax
mov ecx, 0xf10
call fcn.140069e00
mov rcx, rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xb0], rcx
cmp byte [rax], 0
jne 0x14023a78b
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xd0]
cmp rcx, 0xffffffffffffffff
setg al
cmp rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14023a262
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xd0]
movabs rax, 0x6c44c78a39143d20
movabs r8, 0x93bb3875c6ebc2df
xor rax, r8
add rdx, rax
call fcn.140013507
jmp 0x14023a78b
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xb8]
add rax, rcx
mov qword [rsp + 0x100], rax
movabs rdx, 0x79b1a4ae084b002d
movabs rax, 0x79b1a4ae084b003d
xor rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140234640
mov ecx, 0x7c3
call fcn.140069e00
mov rcx, rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xa8], rcx
cmp byte [rax], 0
jne 0x14023a78b
mov rax, qword [rsp + 0xa8]
movabs rcx, 0xc1d4389f332d2226
add rax, rcx
add rax, 0xffffffff80000000
movabs rcx, 0x871e8beb9c707fe1
movabs rdx, 0x46cab374af5d5dc7
xor rcx, rdx
sub rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14023a32e
mov rcx, qword [rsp + 0xa8]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
call fcn.14000cee2
jmp 0x14023a78b
mov rax, qword [rsp + 0xa8]
mov r10d, eax
lea rcx, [rsp + 0xf8]
xor eax, eax
mov r9d, eax
lea rax, [rsp + 0xe8]
mov rdx, r9
mov r8, r9
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x30], rax
call fcn.1400af883
mov ecx, eax
mov rax, qword [rsp + 0xd8]
mov dword [rsp + 0xa4], ecx
cmp byte [rax], 0
jne 0x14023a78b
mov eax, dword [rsp + 0xa4]
cmp eax, 0
jne 0x14023a427
movabs rcx, 0xd34d4b75f7c18a0a
movabs rax, 0xd34d4b75f7c18a42
xor rcx, rax
movabs rdx, 0x4da54be260f5895f
movabs rax, 0x4da54be260f58957
xor rdx, rax
call fcn.1400132f0
mov rcx, rax
mov rax, qword [0x1402696a8]
mov qword [rcx], rax
lea rax, [0x140269214]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140269240]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140269248]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140269214]
lea r8, [0x140269228]
lea r9, [0x140269237]
mov qword [rsp + 0x20], 0x68a5f331
call fcn.1400127b0
jmp 0x14023a78b
mov eax, dword [rsp + 0xe8]
movsxd rcx, eax
mov qword [rsp + 0x98], rcx
mov ecx, 0x6917d0dd
xor ecx, 0x6917d0dd
cmp eax, ecx
jge 0x14023a48c
mov rcx, qword [rsp + 0x98]
movabs rdx, 0x8fa8bd97164d925d
movabs rax, 0x8fa8bd97164d925d
xor rdx, rax
movabs r8, 0xdd66bf4462d0d09a
movabs rax, 0xa29940bb9d2f2f65
xor r8, rax
call fcn.14000cee2
jmp 0x14023a78b
mov eax, dword [0x14025f638]
xor eax, dword [0x14025f63c]
mov ecx, 0xeb1c882d
xor ecx, 0x6478a22e
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x83f4caa6
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
sub eax, 0x5b3c2388
cmp eax, 0x98129f7c
je 0x14023a79b
mov rcx, qword [rsp + 0xc8]
mov edx, dword [str.N]
mov eax, dword [0x14025f644]
xor eax, 0x1429e85f
add edx, 0x66d28b0a
add edx, eax
mov eax, 0x269f645
xor eax, 0x64bb7d4f
sub edx, eax
mov eax, 0xbf0758d6
xor eax, 0xd1f4a487
or edx, eax
mov r8d, 0x9630c70e
xor r8d, 0x2cb6079e
mov eax, edx
and eax, r8d
xor edx, 0xba86c090
or eax, edx
mov r8d, 0x1016cdb1
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x98]
mov dword [rsp + 0x84], eax
mov eax, 0xac5fe5a1
xor eax, 0x1e8af302
mov dword [rsp + 0x80], eax
call fcn.140014c40
mov ecx, 0xe07
call fcn.140069e00
mov rdx, qword [rsp + 0xd8]
mov ecx, dword [rsp + 0x80]
mov r8, rax
mov eax, dword [rsp + 0x84]
mov qword [rsp + 0x88], r8
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x97], dl
cmp eax, ecx
jae 0x14023a4c9
mov al, byte [rsp + 0x97]
test al, 1
jne 0x14023a5a0
jmp 0x14023a78b
mov rax, qword [rsp + 0x88]
movsxd rcx, dword [rsp + 0xe8]
cmp rax, rcx
je 0x14023a77e
mov ecx, 0x37
call fcn.140069e00
mov rcx, rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x78], rcx
mov al, byte [rax]
mov cl, 0xbd
xor cl, 0xbd
cmp al, cl
jne 0x14023a78b
mov ecx, dword [0x14025f648]
mov eax, 0x3c761b78
xor eax, 0x107351b7
xor ecx, eax
mov edx, dword [0x14025f64c]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x22574bed
xor r8d, 0xdda8b412
xor ecx, r8d
or eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
and eax, 0xc47fd1cc
and eax, 0x6d73e191
mov ecx, 0xbeed4290
xor edx, edx
div ecx
cmp eax, 0xaa228f72
je 0x14023a7a4
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0xc8]
mov eax, dword [0x14025f650]
xor eax, 0x1b689940
mov ecx, dword [0x14025f654]
xor ecx, 0x8b67da88
and eax, ecx
xor eax, 0x64df9631
add eax, 0xe280f90
and eax, 0xaba86510
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rsp + 0x68], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rsp + 0x77], cl
cmp eax, 0x82eb4b67
ja 0x14023a63e
mov al, byte [rsp + 0x77]
test al, 1
jne 0x14023a6c1
jmp 0x14023a6a9
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffff
call fcn.140013507
jmp 0x14023a78b
mov eax, dword [rsp + 0xe8]
movsxd rcx, eax
mov qword [rsp + 0x60], rcx
mov ecx, 0x90fc174
xor ecx, 0x90fc174
cmp eax, ecx
jge 0x14023a700
mov rcx, qword [rsp + 0x60]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000cee2
jmp 0x14023a78b
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax]
add rax, 8
add rax, rdx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x48], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
cmp rax, rcx
je 0x14023a77e
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
add rax, 1
mov qword [rsp + 0x58], rax
jmp 0x14023a743
mov rcx, qword [rsp + 0xf0]
call fcn.1400b42e7
mov rax, qword [rsp + 0xc0]
add rsp, 0x108
ret
cld
out dx, eax
mov cl, 0x76
jmp 0x14023a4c9
invalid