Function at 0x14002c790
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
mov r8, qword [rcx]
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs rax, 0x426f78c9d7a7df19
movabs rdx, 0x426f78c9d7a7df19
xor rax, rdx
movabs rdx, 0xaaded1a6cc6ebf3c
movabs r9, 0xaaded1a6cc6ebf3d
xor rdx, r9
sub rax, rdx
sub rcx, rax
mov rax, r8
sub rax, rcx
mov qword [rsp + 0x60], rax
mov rdx, rax
and rdx, r8
shl rdx, 1
mov rcx, rax
add rcx, r8
sub rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
and al, dl
xor al, 0xff
xor cl, 0xff
xor dl, 0xff
or cl, dl
and al, cl
xor al, 0xff
test al, 1
jne 0x14002c94f
mov edx, dword [0x1402017e8]
mov ecx, dword [0x1402017ec]
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, ecx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xbfbdbab7
xor edx, edx
div ecx
mov ecx, 0xc46881d1
xor edx, edx
div ecx
mov ecx, 0xe2c9d87d
xor ecx, 0xe2c9d87d
sub ecx, eax
xor eax, eax
sub eax, 0x36ad2482
add ecx, eax
mov eax, 0xf2408e07
xor eax, 0xf2408e07
sub eax, ecx
cmp eax, 0x25ec4ca8
jb 0x14002cbcf
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1402017f0]
mov r8d, dword [0x1402017f4]
xor r8d, 0xaf91fcc0
mov edx, r8d
and edx, eax
xor edx, 0xffffffff
add eax, r8d
mov r8d, 0xbc477381
xor r8d, 0xbc477380
add eax, r8d
add eax, edx
mov r8d, 0x784bebe9
xor edx, edx
div r8d
mov edx, 0xea583a2e
xor edx, 0xea583a2e
sub edx, eax
xor eax, eax
sub eax, 0x99bf691a
add edx, eax
xor eax, eax
sub eax, edx
mov r9d, 0xffffffff
xor r9d, 0x86a04a55
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x3fde2b8b
xor r9d, 0xc021d474
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x86a04a55
mov r9d, 0xa7cd3ea3
xor r9d, 0x216d74f6
or eax, r9d
imul eax, r8d
add eax, edx
add rcx, 8
mov qword [rsp + 0x48], rcx
cmp eax, 0x6ab5ed97
ja 0x14002cbcf
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
jmp 0x14002c959
call fcn.140007f57
jmp 0x14002cbca
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
cmp rax, rcx
jl 0x14002cbbd
mov eax, dword [0x1402017f8]
imul eax, dword [0x1402017fc]
mov ecx, 0xe0bcb0ff
xor ecx, 0xb3b8b719
xor edx, edx
div ecx
mov ecx, 0xb508d8c0
xor ecx, 0x20c4a94b
or eax, ecx
xor eax, 0x81aca6c
cmp eax, 0x7e786583
je 0x14002cbd8
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x140201800]
or eax, dword [0x140201804]
mov r8d, 0xd77f159d
xor r8d, 0x4ed9cc6e
xor edx, edx
div r8d
mov r9d, 0xffffffff
xor r9d, 0x6b8e7545
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x6b8e7545
or eax, 0x6b8e7545
imul eax, r8d
add eax, edx
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0x10e52f85
xor r8d, 0x3f7ea745
and edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x2f9b88c0
and eax, r8d
sub eax, edx
cmp rcx, 0
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0x92d32a1d
jae 0x14002cbd8
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14002ca62
jmp 0x14002ca4f
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
cmp rax, qword [rcx]
jl 0x14002cb64
mov ecx, dword [0x140201808]
xor ecx, dword [0x14020180c]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xe4f2c2ab
or edx, 0xe4f2c2ab
mov r8d, 0xe07567e7
xor r8d, 0x1f8a9818
xor edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0xe4f2c2ab
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xd5ff5003
xor edx, 0x2a00affc
xor ecx, edx
and eax, ecx
or eax, 0xacc7a699
mov ecx, 0xbf713032
xor ecx, 0xbf713032
mov edx, 0x866c3a0c
xor edx, 0xd6d0d964
sub ecx, edx
add eax, ecx
mov ecx, 0xf5e3facf
xor ecx, 0xf22e8a6b
cmp eax, ecx
jbe 0x14002cbe1
mov eax, dword [0x140201810]
mov ecx, dword [0x140201814]
sub eax, 0xb02a22d8
add eax, ecx
add eax, 0xb02a22d8
mov ecx, 0x85eb0a8c
xor edx, edx
div ecx
mov edx, eax
and edx, 0x16119e48
mov ecx, 0x47a744c7
xor ecx, 0x47a744c5
imul ecx, edx
mov edx, 0x23786f8f
xor edx, 0x3569f1c7
add eax, edx
sub eax, ecx
xor eax, 0x95d95133
mov dword [rsp + 0x30], eax
mov eax, 0x4bc58708
xor eax, 0x98ceaca4
mov dword [rsp + 0x2c], eax
mov rcx, rdx
call fcn.140014583
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x30]
cmp eax, ecx
jae 0x14002caea
jmp 0x14002cbca
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
lea rcx, [rax + rcx*8 + 8]
call fcn.14002c74e
mov rcx, qword [rsp + 0x38]
mov rax, rcx
dec rax
mov rdx, rax
xor rdx, rcx
sets r8b
test rcx, rcx
setne cl
sete dl
or dl, r8b
add cl, dl
inc cl
test cl, 1
mov qword [rsp + 0x40], rax
jne 0x14002cbb3
jmp 0x14002c959
call fcn.140007f57
jmp 0x14002cbca
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
add rsp, 0x68
ret
adc edx, ecx
movabs eax, dword [0x87b9fffffcade9b0]
xchg edx, eax
mov ch, 0xe9
mov ecx, 0xe9b59287
leave
std
invalid
xchg esp, eax
xchg ebp, eax
cmp al, 0x9a
jmp 0x14002caea