Function at 0x140024cc0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov rdx, qword [rcx]
movabs rcx, 0x88cd3e7f06ce751a
movabs rax, 0x88cd3e7f06ce751a
xor rcx, rax
movabs rax, 0xf86a8352a706c107
movabs r8, 0x7957cad58f93ef8
xor rax, r8
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x60], rax
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x7e9cc41a7cca29df
movabs r8, 0x7e9cc41a7cca29df
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140024d5e
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
add rcx, 8
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
jmp 0x140024d68
call fcn.1400077a3
jmp 0x140024fa9
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
mov ecx, dword [0x1401d62f8]
mov eax, dword [0x1401d62fc]
xor eax, 0xc240a2bf
add ecx, eax
add ecx, 0x23398589
mov edx, 0xb7b97b65
xor edx, 0x2bedaaf0
mov eax, ecx
and eax, edx
or ecx, 0x9c54d195
add eax, ecx
imul eax, eax, 0xffdef64f
cmp eax, 0xf8612c0a
ja 0x140025041
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x50]
mov eax, dword [0x1401d6300]
imul eax, dword [0x1401d6304]
imul eax, eax, 0x655f2d1c
mov r10d, 0xffffffff
xor r10d, 0x3858f85a
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x3858f85a
or eax, 0x3858f85a
imul eax, r9d
add eax, r8d
mov r8d, 0xc37e9474
xor r8d, 0x99c7a834
add eax, r8d
mov r8d, 0x292f3d39
xor r8d, 0x8f49605d
sub eax, r8d
sub eax, 0x5ab93c40
cmp rcx, rdx
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0xba78a487
jae 0x140024db3
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140024f9c
jmp 0x140024e52
mov rax, qword [rsp + 0x38]
movabs rcx, 0x63c12f77a674682c
movabs rdx, 0x63c12f77a674682c
xor rcx, rdx
cmp rax, rcx
jl 0x140024e8a
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rcx]
jl 0x140024e97
mov rcx, rdx
call fcn.140013580
jmp 0x140024fa9
mov eax, dword [0x1401d6308]
mov ecx, dword [0x1401d630c]
xor ecx, 0x7747b8a5
imul eax, ecx
mov ecx, 0xf7e02c9f
xor edx, edx
div ecx
mov ecx, 0xa2c5d64
xor ecx, 0x5fc407e3
xor edx, edx
div ecx
mov edx, 0x9d8e999f
xor edx, 0xd954c869
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0x44da51f6
sub eax, ecx
cmp eax, 0x62c77277
je 0x14002504a
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
mov edx, dword [0x1401d6310]
mov r8d, dword [0x1401d6314]
not edx
not r8d
or edx, r8d
not edx
or edx, 0x82224020
and edx, 0xea76413e
imul rdx, rdx, 0x4c0cfa45
shr rdx, 0x3b
mov dword [rsp + 0x24], edx
mov rax, qword [rax]
lea rcx, [rax + rcx*8 + 8]
call fcn.140024c7a
mov rcx, qword [rsp + 0x38]
mov eax, dword [rsp + 0x24]
mov r8, rcx
dec r8
mov qword [rsp + 0x28], r8
and r8, rcx
add r8, r8
lea rdx, [rcx + rcx - 1]
sub rdx, r8
sets r8b
test rcx, rcx
setne cl
sete dl
or dl, r8b
add cl, dl
inc cl
mov byte [rsp + 0x36], cl
cmp eax, 0xf622f31b
je 0x140024ee8
mov rax, qword [rsp + 0x28]
mov cl, byte [rsp + 0x36]
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x140024f92
jmp 0x140024d68
call fcn.1400077a3
jmp 0x140024fa9
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
mov eax, dword [0x1401d6318]
and eax, dword [0x1401d631c]
mov ecx, 0xdac80392
xor ecx, 0x7b9b29e6
mov edx, eax
and edx, ecx
mov ecx, 0xb5135e0
xor ecx, 0xb5135e2
imul ecx, edx
add eax, 0xa1532a74
sub eax, ecx
xor eax, 0xd5b2c6cc
mov ecx, 0x74998806
xor edx, edx
div ecx
cmp eax, 0xb24daae7
jae 0x140025053
mov eax, dword [0x1401d6320]
mov edx, dword [0x1401d6324]
mov ecx, eax
xor ecx, edx
mov r8d, 0x50eff9d1
xor r8d, 0xaf10062e
xor ecx, r8d
or eax, edx
and eax, ecx
and eax, 0xa756abe8
mov ecx, 0xeca3a776
xor edx, edx
div ecx
and eax, 0xb9af96f7
mov ecx, 0x814aa52e
xor ecx, 0x10b3ca57
cmp eax, ecx
ja 0x140024ff2
add rsp, 0x68
ret
cmp al, 0x63
xor eax, ebp
jmp 0x140024db3
invalid
imul ecx, ebx, 0x96e97785
invalid