Function at 0x140024767
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x70], rax
cmp rax, rdx
jle 0x140024582
mov eax, dword [0x140217318]
xor edx, edx
div dword [0x14021731c]
mov ecx, 0x6de7274b
xor ecx, 0x9218d8b4
mov edx, eax
xor edx, ecx
and edx, 0x4fe24a3c
mov r8d, 0x6649fff5
xor r8d, 0x29abb5c9
mov ecx, 0x2c859999
xor ecx, 0xd37a6666
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x4fe24a3c
mov r8d, 0xecaaa39f
xor r8d, 0xa348e9a3
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0x11ca63c6
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x11ca63c6
add eax, edx
sub eax, ecx
mov ecx, 0xe5c6d2d8
xor edx, edx
div ecx
mov ecx, 0x46371cbd
xor ecx, 0xf5fe8d72
cmp eax, ecx
ja 0x14002475e
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x140217320]
imul eax, dword [0x140217324]
xor eax, 0xf8a378b3
mov r8d, 0xb6ab1a1d
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x60]
add eax, 0x21373bdc
mov dword [rsp + 0x5c], eax
call fcn.1400240d0
mov eax, dword [rsp + 0x5c]
cmp eax, 0xf27e6ae0
je 0x140024539
jmp 0x140024758
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x140024758
mov rax, qword [rsp + 0x68]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x48], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x50], rax
cmp rax, 0
je 0x1400245d9
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x140024673
mov r8, qword [rsp + 0x70]
mov r10, qword [rsp + 0x60]
mov rcx, r10
sub rcx, r8
mov qword [rsp + 0x40], rcx
mov rdx, rcx
not rdx
mov rax, rdx
and rax, r10
not rax
not r10
mov r9, rcx
and r9, r10
not r9
and rax, r9
not rax
xor rdx, rcx
and rdx, r8
xor rdx, rcx
mov rcx, rax
and rcx, rdx
test rax, rax
sets al
test rcx, rcx
setns cl
add al, cl
inc al
test al, 1
jne 0x140024669
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140013020
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax], rcx
jmp 0x140024673
call fcn.140008bc6
jmp 0x140024758
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x140024758
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov qword [rax + rcx*8 + 8], 0
movabs rdx, 0x173f7aaba75b5330
mov rax, rcx
sub rax, rdx
add rax, 1
movabs rdx, 0xff244a5cc5206f4e
movabs r8, 0xe81b30f7627b3c7e
xor rdx, r8
add rax, rdx
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs rdx, 0x6e9610f9f287dea
movabs r9, 0xf9169ef060d78215
xor rdx, r9
and rdx, r8
movabs r8, 0xf527138152b6f2d7
movabs r9, 0xad8ec7ead490d28
xor r8, r9
movabs r9, 0x3ad67c38c00e03dd
movabs r10, 0xc52983c73ff1fc22
xor r9, r10
xor r8, r9
and rcx, r8
or rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x14002468a
call fcn.140008bc6
nop
add rsp, 0x78
ret
pop rax
mov dl, 0xe7
popfq
jmp 0x140024539
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.1400240d0
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140024480