Function at 0x14002d1e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov r8, qword [rcx]
movabs rcx, 0x87dd207a30d4a703
mov rax, r8
sub rax, rcx
movabs rcx, 0x38c477eff973da74
movabs rdx, 0xc73b8810068c258b
xor rcx, rdx
add rax, rcx
movabs rcx, 0x5a4df50cbc03ab36
movabs rdx, 0xdd90d5768cd70c35
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x50], rax
mov rdx, rax
and rdx, r8
shl rdx, 1
mov rcx, rax
add rcx, r8
sub rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14002d282
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
add rcx, 8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
jmp 0x14002d28c
call fcn.1400067fe
jmp 0x14002d562
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
cmp rax, rcx
jl 0x14002d555
mov ecx, dword [0x1401dc688]
mov eax, 0x957697b5
xor eax, 0x93fe76cb
xor ecx, eax
mov edx, dword [0x1401dc68c]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe8d33721
mov r8d, 0x2454cbbf
xor r8d, 0xcc87fc9e
mov ecx, 0x7b3a31b4
xor ecx, 0x84c5ce4b
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xbc168928
xor r8d, 0x54c5be09
mov edx, eax
and edx, r8d
or eax, 0xe8d33721
imul eax, edx
add eax, ecx
imul eax, eax, 0xe5432402
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x8eb68a7f
xor edx, 0xd5fd02b1
and edx, ecx
mov r8d, 0x7774104a
xor r8d, 0x2c3f9884
mov ecx, 0xb2235d0d
xor ecx, 0x4ddca2f2
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x5b4b88ce
or eax, 0x5b4b88ce
imul eax, edx
add eax, ecx
cmp eax, 0x1c0dcc0b
ja 0x14002d567
mov eax, dword [0x1401dc690]
xor eax, 0xc022cacc
xor edx, edx
div dword [0x1401dc694]
mov rdx, qword [rsp + 0x28]
mov ecx, 0x741f757c
xor ecx, 0xf8795276
sub eax, ecx
add eax, 0x7943cd5e
mov ecx, 0xee6cc457
xor ecx, 0x620ae35d
add eax, ecx
and eax, 0x53cfa52a
add eax, 0x2e28f5f6
mov ecx, 0xa66ee0b6
xor ecx, 0x363a39be
cmp rdx, 0
setl dl
mov byte [rsp + 0x27], dl
cmp eax, ecx
je 0x14002d366
mov al, byte [rsp + 0x27]
test al, 1
jne 0x14002d3e9
jmp 0x14002d3d6
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
cmp rax, qword [rcx]
jl 0x14002d4dc
mov eax, dword [0x1401dc698]
mov ecx, dword [str.JO_5]
xor ecx, 0x609ef403
xor edx, edx
div ecx
sub eax, 0x1c3ffc69
mov ecx, 0xea0661f1
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x9546c719
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x9546c719
or eax, 0x9546c719
imul eax, edx
add eax, ecx
mov ecx, 0xf8041cd7
xor ecx, 0x1c3f740c
cmp eax, ecx
jae 0x14002d570
mov eax, dword [0x1401dc6a0]
xor eax, 0xd43048c5
mov ecx, dword [0x1401dc6a4]
xor ecx, 0x95e4da70
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0x3c0f8b73
mov edx, 0xe9ef996a
xor edx, 0xd5e01219
or ecx, edx
add eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x82a3ffdd
mov edx, 0x3770ebe
xor edx, 0x81d4f163
mov r8d, 0xb548698f
xor r8d, 0x4ab79670
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
add eax, 0xa0c3d1ab
mov dword [rsp + 0x20], eax
mov rcx, rdx
call fcn.1400137e9
mov eax, dword [rsp + 0x20]
cmp eax, 0x38b66728
jbe 0x14002d570
jmp 0x14002d562
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.14002d030
mov rcx, qword [rsp + 0x28]
xor eax, eax
mov edx, eax
sub rdx, 0xffffffffffffffff
mov rax, rcx
sub rax, rdx
mov rdx, rax
xor rdx, rcx
cmp rdx, 0
setl dl
movabs r8, 0x1bc6c45b9fb46bfa
movabs r9, 0x1bc6c45b9fb46bfa
xor r8, r9
cmp rcx, r8
setne cl
and cl, dl
test cl, 1
mov qword [rsp + 0x38], rax
jne 0x14002d54b
jmp 0x14002d28c
call fcn.1400067fe
jmp 0x14002d562
invalid
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rax], rcx
mov qword [rax], rcx
add rsp, 0x58
ret
cmp eax, 0xe900a6e9
idiv ch
invalid
cwde
loopne 0x14002d54f
ja 0x14002d55e
invalid