Function at 0x140020a00
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov ecx, dword [0x14024bf48]
or ecx, dword [0x14024bf4c]
mov edx, 0xffffffff
xor edx, 0x9425667a
mov eax, ecx
xor eax, edx
and eax, ecx
sub eax, 0x6cc41229
mov ecx, 0x89db8b5d
xor edx, edx
div ecx
mov ecx, 0xcf3c0142
xor ecx, 0x870d386b
cmp eax, ecx
jae 0x140020d3b
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x14024bf50]
xor eax, 0x236652a8
or eax, dword [0x14024bf54]
mov edx, 0xe47be78d
xor edx, 0xe47be78d
mov r8d, 0x44cb2ea7
xor r8d, 0xee2f971
sub edx, r8d
sub eax, edx
mov edx, 0xd0229a91
xor edx, 0x3685b30a
mov r8d, eax
xor r8d, edx
mov edx, 0xfd4762d9
xor edx, 0x2b89d26
xor r8d, edx
and r8d, 0xe6a7299b
mov edx, 0xb369ad51
xor edx, 0xb369ad53
imul edx, r8d
mov r8d, 0x5b1a2f86
xor r8d, 0xbdbd061d
sub edx, r8d
sub eax, edx
mov r8d, 0xf6a029cb
xor r8d, 0x6aead238
xor edx, edx
div r8d
mov r8, qword [rcx]
mov qword [rsp + 0x48], r8
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
xor ecx, ecx
mov edx, ecx
sub rdx, 1
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x68], rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, r8
and rcx, rdx
mov qword [rsp + 0x70], rcx
cmp eax, 0xfdd893ee
jae 0x140020a52
mov al, byte [rsp + 0x67]
test al, 1
jne 0x140020be6
jmp 0x140020b51
mov rax, qword [rsp + 0x70]
cmp rax, 0
jl 0x140020bdc
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rax]
mov rcx, r8
xor rcx, 0xffffffffffffffff
movabs r9, 0x70f321a826bc3368
movabs r10, 0x8f0cde57d943cc97
xor r9, r10
xor r8, r9
and rcx, r8
movabs r8, 0xbfffffffffffffff
movabs r9, 0xbfffffffffffffff
or r8, r9
xor r8, 0xffffffffffffffff
or rcx, r8
movabs r8, 0x3b315f7fa52dc18f
movabs r9, 0xc4cea0805ad23e70
xor r8, r9
xor rcx, r8
cmp rcx, rdx
mov qword [rsp + 0x40], rax
jl 0x140020be6
jmp 0x140020cfd
call fcn.140008c92
jmp 0x140020d32
mov ecx, dword [0x14024bf58]
xor ecx, 0x91d3e599
mov eax, dword [0x14024bf5c]
mov edx, 0xdf1b63e
xor edx, 0xe58e5f5e
sub ecx, edx
add ecx, eax
add ecx, 0xe87fe960
mov eax, 0x15cd7f03
xor eax, 0xee3c93b4
xor ecx, eax
xor ecx, 0x7bd02b4
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x290bd6fd
mov edx, 0xffffffff
xor edx, 0x290bd6fd
and ecx, edx
or eax, ecx
cmp eax, 0x69313ab8
jbe 0x140020d44
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x14024bf60]
sub eax, dword [0x14024bf64]
mov r8d, 0x9930cf09
xor edx, edx
div r8d
mov r8d, 0xb0055f8f
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x58]
and eax, 0x94d5a7
mov dword [rsp + 0x2c], eax
mov r8d, 1
mov r9d, 0x38
mov qword [rsp + 0x20], 8
call fcn.140010b50
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
mov r8, rax
mov eax, dword [rsp + 0x2c]
mov qword [rsp + 0x30], r8
mov qword [rdx], r8
movabs rdx, 0x36d6ccca3cfe00ac
movabs r8, 0x36d6ccca3cfe00ac
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x6ea7934f
je 0x140020c43
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x40], rax
jne 0x140020cf3
jmp 0x140020cfd
call fcn.140008c92
jmp 0x140020d32
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov qword [r8], r9
add rcx, 8
imul rax, rax, 0x38
add rcx, rax
mov r8d, 0x38
call sub.msvcrt.dll_memcpy
nop
add rsp, 0x88
ret
test al, 0xab
mov edi, 0xfd0ee9d8
invalid
retf