Function at 0x140020e30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x48], rcx
call fcn.140009f59
mov rcx, qword [rsp + 0x48]
add rax, 0x60
mov qword [rsp + 0x50], rax
add rcx, 8
mov qword [rsp + 0x58], rcx
xor eax, eax
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x40], rdx
cmp rax, rcx
jge 0x14002110b
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.14001d790
test al, 1
jne 0x140020ea5
jmp 0x14002103e
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.1400e9940
mov rax, qword [rsp + 0x50]
mov al, byte [rax]
mov cl, 0x1f
xor cl, 0x1f
cmp al, cl
jne 0x140021124
mov r8d, dword [0x1401dc058]
mov eax, dword [0x1401dc05c]
xor eax, 0xffffffff
xor ecx, ecx
sub ecx, 1
sub eax, ecx
sub r8d, eax
mov ecx, 0xf69d09f2
xor ecx, 0x962f60d
mov eax, r8d
xor eax, ecx
and eax, 0x99d55d80
mov edx, 0xffffffff
xor edx, 0x99d55d80
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x4555dfe5
and ecx, 0x99d55d80
and edx, 0x4555dfe5
or eax, r8d
or ecx, edx
xor eax, ecx
add eax, 0xdb9d4dca
add eax, 0x47f5ab91
sub eax, 0xdb9d4dca
mov edx, eax
xor edx, 0xffffffff
and edx, 0x161fb107
mov r8d, 0x5eafe419
xor r8d, 0x48b0551e
mov ecx, 0xc7c194db
xor ecx, 0x383e6b24
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x161fb107
mov r8d, 0x43eeaf49
xor r8d, 0x55f11e4e
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x4055575f
jae 0x14002112a
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x58]
mov edx, dword [0x1401dc060]
xor edx, 0x3bab8e35
and edx, dword [0x1401dc064]
and edx, edx
xor edx, 0xffffffff
mov r8d, 0xb2ec52b0
xor r8d, 0xaa7f1e70
mov r9d, 0xfccc28ae
xor r9d, 0xe45f646e
and r8d, r9d
mov r9d, 0x10b1b684
xor r9d, 0xef4e497b
xor r8d, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
sub edx, 0x1e712526
mov r8d, 0x9467d398
xor r8d, 0x255b9ae3
add edx, r8d
mov r8d, 0x833edb09
xor r8d, 0x9d4ffe2f
add edx, r8d
and edx, 0x6ba9a4f2
mov dword [rsp + 0x34], edx
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
mov edx, 8
call fcn.14000e330
mov eax, dword [rsp + 0x34]
cmp eax, 0x4a7b9e03
je 0x140020f90
jmp 0x14002103e
mov eax, dword [0x1401dc068]
xor eax, dword [0x1401dc06c]
xor eax, 0xc39b2802
mov ecx, 0xe06c0a21
xor ecx, 0x74ed7b0f
sub eax, ecx
or eax, 0xfdce8a67
mov ecx, 0x431699a1
xor ecx, 0x44a3f616
cmp eax, ecx
jb 0x140021133
mov r8, qword [rsp + 0x38]
mov eax, dword [0x1401dc070]
mov ecx, dword [0x1401dc074]
xor ecx, 0xa297e3e1
or eax, ecx
mov ecx, 0xc6e23d92
xor ecx, 0xd519d7a7
imul eax, ecx
imul eax, eax, 0xcf97c152
mov ecx, 0x11ab98d0
xor edx, edx
div ecx
mov ecx, 0x32372d45
xor ecx, 0x6df3f8e2
movabs r9, 0x93f59ae29e9d1557
movabs rdx, 0x93f59ae29e9d1556
xor r9, rdx
mov rdx, r8
and rdx, r9
movabs r9, 0xf778beea2faa02cb
movabs r10, 0xf778beea2faa02ca
xor r9, r10
or r8, r9
add rdx, r8
mov qword [rsp + 0x28], rdx
cmp eax, ecx
ja 0x140021074
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x60], rax
jmp 0x140020e5c
mov rax, qword [rsp + 0x40]
cmp rax, 0
je 0x140021124
mov rcx, qword [rsp + 0x40]
call fcn.14000e0f0
nop
add rsp, 0x68
ret
pop rdx
mov r13b, dl
jmp 0x140020f90
movabs rsi, 0x48ffffff38e990ae
sub esp, 0x28
mov qword [rsp + 0x20], rcx
call fcn.140012ee0
test al, 1
jne 0x140021157
jmp 0x140021161
mov rcx, qword [rsp + 0x20]
call fcn.14000fd30
nop
add rsp, 0x28
ret