Function at 0x14002ec30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov r8, qword [rcx]
mov rax, r8
add rax, 0xffffffffffffffff
mov qword [rsp + 0x50], rax
movabs rdx, 0x13f015f8da396e48
movabs rcx, 0xec0fea0725c691b7
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
or rcx, rdx
and rcx, r8
xor rcx, 0xffffffffffffffff
and r8, r8
xor r8, 0xffffffffffffffff
movabs r9, 0x9265f243cc791ae5
movabs rdx, 0x6d9a0dbc3386e51a
xor r9, rdx
mov rdx, rax
xor rdx, r9
movabs r9, 0xc83edf4fcf03c1c5
movabs r10, 0x37c120b030fc3e3a
xor r9, r10
xor r8, r9
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14002ecf8
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
add rcx, 8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
jmp 0x14002ed02
call fcn.140007e9d
jmp 0x14002f01b
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1402517b8]
mov ecx, 0x1457eb4e
xor ecx, 0xa4a0dc6
xor eax, ecx
imul eax, dword [0x1402517bc]
mov r8d, 0xffffffff
xor r8d, 0x360acb77
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x360acb77
or eax, 0x360acb77
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x730b2baa
mov edx, 0xffffffff
xor edx, 0x730b2baa
and eax, edx
shl eax, 1
sub eax, ecx
add eax, 0x17859cc
cmp eax, 0x1ddfc37a
jbe 0x14002f020
mov r8, qword [rsp + 0x40]
mov eax, dword [0x1402517c0]
mov edx, dword [0x1402517c4]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, 0x8eadb103
xor ecx, 0x8bca15a4
xor edx, edx
div ecx
sub eax, 0xfc4dafbc
mov ecx, 0x51f2b941
xor ecx, 0xcee6cb7a
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x28]
mov ecx, 0x1912f7b
xor ecx, 0xadae5552
cmp rdx, r8
setl dl
mov byte [rsp + 0x27], dl
cmp eax, ecx
je 0x14002ed7f
mov al, byte [rsp + 0x27]
test al, 1
jne 0x14002eecd
jmp 0x14002edf1
mov rax, qword [rsp + 0x28]
cmp rax, 0
jl 0x14002ee13
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
cmp rax, qword [rcx]
jl 0x14002ee20
mov rcx, rdx
call fcn.140013507
jmp 0x14002f01b
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
call fcn.14002ebe2
mov rcx, qword [rsp + 0x28]
movabs rdx, 0x9e32e8289328a636
movabs rax, 0x61cd17d76cd759c9
xor rdx, rax
mov rax, rcx
add rax, rdx
movabs rdx, 0xc5012f0739c7059f
movabs r8, 0x3afed0f8c638fa60
xor rdx, r8
mov r8, rax
xor r8, rdx
mov rdx, rcx
and rdx, r8
mov r9, rcx
xor r9, 0xffffffffffffffff
mov r8, rax
and r8, r9
or rdx, r8
cmp rdx, 0
setl r8b
cmp rcx, 0
setne dl
xor ecx, ecx
xor cl, 1
xor r8b, cl
mov cl, dl
xor cl, r8b
and cl, dl
test cl, 1
mov qword [rsp + 0x38], rax
jne 0x14002eec3
jmp 0x14002ed02
call fcn.140007e9d
jmp 0x14002f01b
mov ecx, dword [0x1402517c8]
mov r8d, dword [0x1402517cc]
mov edx, 0x6d91a2b7
xor edx, 0x926e5d48
mov eax, ecx
xor eax, edx
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x4634f615
mov r8d, 0xffffffff
xor r8d, 0x4634f615
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x4634f615
or ecx, 0x4634f615
imul ecx, edx
add ecx, eax
and ecx, 0x2638262d
mov edx, 0xffffffff
xor edx, 0x8240926a
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xc6be2c65
je 0x14002f029
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov r8d, dword [0x1402517d0]
mov r9d, dword [0x1402517d4]
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r10d, 0x7b242fa3
xor r10d, 0x84dbd05c
mov r8d, r9d
xor r8d, r10d
mov r10d, 0xceb21121
xor r10d, 0x314deede
xor r9d, r10d
and r8d, r9d
mov r9d, 0x9facbfe0
xor r9d, 0x6053401f
xor eax, r9d
mov r9d, 0x74de2882
xor r9d, 0x8b21d77d
xor r8d, r9d
and eax, r8d
imul eax, eax, 0x3ea82f
or eax, 0xcdb1d512
mov r8d, 0x5b41f984
xor r8d, 0x6c9ea2b1
add eax, r8d
mov r8d, 0xb5dc721b
xor r8d, 0x73eaa91f
sub eax, r8d
mov r8d, 0xd4574eb1
xor r8d, 0xe3881584
sub eax, r8d
mov qword [rcx], rdx
cmp eax, 0x1d7b99aa
je 0x14002f029
jmp 0x14002f01b
add rsp, 0x58
ret
loopne 0x14002f09a
movabs eax, dword [0x4fd2fffffd56e934]
fmul dword [0x140021e1a]
ror byte [rdi - 0x28], cl
or eax, 0xffff2de9
dec dword [rax - 0x7d]
in al, dx
push 0x24548948
push rax
mov qword [rsp + 0x58], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x60], rax
cmp rax, rdx
jle 0x14002f065
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
call fcn.14002ec30
jmp 0x14002f283
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
cmp rax, rcx
jge 0x14002f283
mov rax, qword [rsp + 0x58]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x40], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x14002f0cd
add byte [rax], al
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rdx, rax
add rdx, 1
xor rax, 0xffffffffffffffff
movabs r8, 0xbfffffffffffffff
or rax, r8
add rax, rdx
cmp rax, rcx
jge 0x14002f17a
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x50]
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x38], rcx
mov rax, rcx
xor rax, r8
cmp rax, 0
setl al
xor rcx, rdx
movabs rdx, 0x56f96ca3d7cc8c40
movabs r8, 0xa906935c283373bf
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x14002f170
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
movabs r9, 0x4230e1d80d4f56ce
movabs rax, 0x4230e1d80d4f56c6
xor r9, rax
movabs rax, 0xba5edab6ee021d71
movabs r10, 0xba5edab6ee021d79
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140010c40
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov qword [rax], rcx
jmp 0x14002f17a
call fcn.140007e9d
jmp 0x14002f283
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov qword [rcx], rdx
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jge 0x14002f283
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rax + rcx*8 + 8], 0
mov rax, rcx
add rax, 1
mov rdx, rcx
and rdx, rdx
xor rdx, 0xffffffffffffffff
movabs r8, 0xfb7bece25c4fbfb3
movabs r9, 0x484131da3b0404c
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
movabs r9, 0x5927fdfded565fb
movabs r10, 0xfa6d8020212a9a04
xor r9, r10
xor rcx, r9
movabs r9, 0xd9205344a325934e
movabs r10, 0x26dfacbb5cda6cb1
xor r9, r10
xor r8, r9
or rcx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0x433000f6e1f5e8ac
movabs r8, 0x433000f6e1f5e8ac
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x30], rax
jge 0x14002f191
call fcn.140007e9d
nop
add rsp, 0x68
ret