Function at 0x140024af0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rcx
call fcn.14000c8dc
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 0x140024b41
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
call fcn.140024820
jmp 0x140024ee6
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jge 0x140024ee6
mov rax, qword [rsp + 0x68]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x140024b9b
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x140024d11
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x70]
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x50], rcx
mov rax, rcx
xor rax, r8
movabs r8, 0x948a3c3e3969999e
movabs r9, 0x948a3c3e3969999e
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg cl
and al, cl
test al, 1
jne 0x140024c20
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140014320
mov rcx, rax
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
jmp 0x140024d11
mov eax, dword [0x1401f23e8]
xor eax, 0x53cdea11
mov ecx, dword [0x1401f23ec]
xor ecx, 0x848c9395
or eax, ecx
and eax, 0x38e772b1
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x5553bdb6
mov edx, 0xae3fb7c2
xor edx, 0xfb6c0a74
mov r8d, 0x832dcb83
xor r8d, 0x7cd2347c
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0xcc742479
xor ecx, 0x39fd8e96
and eax, ecx
cmp eax, 0x4c84670e
jb 0x140024eef
mov ecx, dword [0x1401f23f0]
mov edx, dword [0x1401f23f4]
xor edx, 0x90834b88
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and edx, edx
mov r8d, 0xd4f0cce3
xor r8d, 0x2b0f331c
xor edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov edx, 0x57498658
xor edx, 0xb18625ae
mov ecx, 0xdb701c5d
xor ecx, 0x248fe3a2
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xe6cfa3f6
add eax, edx
sub eax, ecx
sub eax, 0xb071b3ea
or eax, 0xd6ff53a9
mov dword [rsp + 0x4c], eax
call fcn.1400091c0
mov eax, dword [rsp + 0x4c]
cmp eax, 0x3a11e964
jbe 0x140024eef
jmp 0x140024ee6
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov qword [rcx], rdx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov eax, dword [0x1401f23f8]
mov r8d, dword [0x1401f23fc]
mov ecx, 0xfc081c14
xor ecx, 0x3f7e3eb
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x746cb845
xor ecx, 0xe5287494
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xd721ff0e
xor edx, 0x5f124331
mov r8d, 0x3afc24a8
xor r8d, 0xc503db57
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x8833bc3f
and edx, r8d
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x99d4f74a
xor edx, 0x11e74b75
mov r8d, 0x21ba1463
xor r8d, 0xde45eb9c
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov edx, eax
and edx, 0xd080ca0a
mov ecx, 0x1cd8fd6
xor ecx, 0x1cd8fd4
imul ecx, edx
add eax, 0xd080ca0a
sub eax, ecx
mov ecx, 0x9f96f0a4
xor ecx, 0x5d0f5c45
cmp eax, ecx
je 0x140024ef8
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1401f2400]
imul eax, dword [0x1401f2404]
imul eax, eax, 0x3b245ef9
mov r8d, 0xfceea5ed
xor r8d, 0xfc4a368a
mov edx, eax
and edx, r8d
shl edx, 1
xor eax, 0xa49367
add eax, edx
mov r8d, 0x667d592a
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x70]
cmp rcx, rdx
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0x3e9631a0
jae 0x140024e0d
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140024e77
jmp 0x140024ee6
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.1400e19d0
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
jne 0x140024ee6
mov rdx, qword [rsp + 0x38]
mov rax, rdx
add rax, 1
movabs rcx, 0xde2fe885b52d068d
movabs r8, 0x21d0177a4ad2f972
xor rcx, r8
xor rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x40], rax
jge 0x140024d2b
call fcn.1400091c0
nop
add rsp, 0x88
ret
jb 0x140024f6c
call 0x13d8b38dc
invalid
cmovbe esi, dword [rdi*2 - 0xf317]
dec dword [rax - 0x7d]
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140024820
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp fcn.140024af0
xor byte [rax - 0x73], cl
insb byte [rdi], dx
and al, 0x30
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], rcx
push 0x10
pop rax
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov rax, rcx
add rax, 8
mov qword [rbp - 0x18], rax
mov rax, qword [rcx + 8]
mov rcx, rdx
add rcx, 8
mov qword [rbp - 0x10], rcx
cmp rax, qword [rdx + 8]
mov qword [rbp - 8], rax
je 0x140024fe2
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140022b30
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x30]
mov rcx, qword [rbp - 8]
mov r8, qword [r8]
mov qword [rdx], r8
mov qword [rax], rcx
mov rsp, rbp
pop rbp
ret