Function at 0x140197d40
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rcx
cmp qword [rcx], 0
jle 0x14019818c
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
add rcx, 8
mov qword [rsp + 0x68], rcx
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x70], rcx
add rax, 0x10
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x58], rcx
mov rax, qword [rax]
mov rdx, rax
add rdx, 8
mov r8, rcx
shl r8, 3
add rdx, r8
mov qword [rsp + 0x60], rdx
cmp qword [rax + rcx*8 + 8], 0
je 0x14019813a
mov eax, dword [0x1402b28a8]
add eax, dword [0x1402b28ac]
and eax, 0x81545d97
and eax, 0x8b0be37
mov ecx, 0x3962c766
xor ecx, 0xef7a73ab
or eax, ecx
mov ecx, 0x97e0e2d9
xor ecx, 0x8e386777
cmp eax, ecx
jb 0x140198194
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x1402b28b0]
sub eax, dword [0x1402b28b4]
add eax, 0x54b484e7
mov r8d, 0xf019e567
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x88]
mov r8d, 0x7833e63e
xor r8d, 0x858c30c7
add eax, r8d
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rdx
cmp rcx, rdx
setg cl
mov byte [rsp + 0x57], cl
cmp eax, 0xe7133f29
je 0x140197e06
mov rax, qword [rsp + 0x48]
mov cl, byte [rsp + 0x57]
test cl, 1
mov qword [rsp + 0x40], rax
jne 0x140197e98
jmp 0x140197e7b
mov rcx, qword [rsp + 0x88]
call fcn.14001ddb1
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov eax, dword [0x1402b28b8]
mov edx, dword [0x1402b28bc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
mov eax, 0xa1d2743b
xor eax, 0xa1d2743b
sub eax, ecx
add eax, 0xd7f75624
mov ecx, 0x115fb4da
xor edx, edx
div ecx
mov ecx, 0x8c9803e0
xor ecx, 0xe780bcaa
xor eax, ecx
cmp eax, 0xbe352b21
ja 0x14019819d
mov rdx, qword [rsp + 0x38]
mov r9, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
mov r8d, dword [0x1402b28c0]
mov r10d, dword [0x1402b28c4]
mov r11d, r8d
and r11d, r10d
mov eax, 0x8bd368cd
xor eax, 0x8bd368cf
imul eax, r11d
add r8d, r10d
sub r8d, eax
mov eax, 0x48403f8
xor eax, 0xd9959979
imul r8d, eax
mov eax, 0xffffffff
xor eax, 0x2e7b98d8
xor r10d, r10d
sub r10d, 1
sub eax, r10d
sub r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x311e4d2e
mov r10d, 0xffffffff
xor r10d, 0x311e4d2e
and r8d, r10d
or eax, r8d
mov rcx, qword [rcx]
mov r10, rdx
shl r10, 4
mov r8, rcx
add r8, r10
mov qword [r8], r9
mov r8, rdx
shl r8, 4
add rcx, r8
add rcx, 8
lea r8, [0x1402b2158]
mov qword [rcx], r8
mov rcx, 0xffffffffffffffff
xor rcx, 1
xor r8d, r8d
sub r8, 1
sub rcx, r8
mov r8, rdx
sub r8, rcx
mov qword [rsp + 0x28], r8
xor rdx, 0xffffffffffffffff
mov rcx, r8
xor rcx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rdx
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0x29aa69ddddb9c41e
movabs r8, 0xd655962222463be1
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xd9532f57c989bd58
movabs r8, 0xd9532f57c989bd58
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0x15bb61a9
jb 0x140197eea
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140198022
jmp 0x14019802c
call fcn.14000ee80
jmp 0x14019813a
mov eax, dword [0x1402b28c8]
xor eax, 0x7bcda580
xor eax, dword [0x1402b28cc]
or eax, 0xe9e2f0c
imul eax, eax, 0x3bdccad9
mov ecx, 0x62968b7b
xor ecx, 0xd45f975a
xor eax, ecx
cmp eax, 0xe6178f08
je 0x1401981a6
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x28]
mov r9d, dword [0x1402b28d0]
mov eax, dword [0x1402b28d4]
mov r8d, r9d
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
and eax, eax
mov r9d, 0xd72e97bd
xor r9d, 0x28d16842
xor eax, r9d
and r8d, eax
mov eax, 0x441efcbd
xor eax, 0xbbe10342
xor r8d, eax
mov r9d, r8d
xor r9d, 0xffffffff
and r9d, 0x7089dfe5
mov r10d, 0xffffffff
xor r10d, 0x7089dfe5
mov eax, r8d
and eax, r10d
imul eax, r9d
mov r9d, r8d
and r9d, 0x7089dfe5
or r8d, 0x7089dfe5
imul r8d, r9d
add r8d, eax
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x445b5847
mov r9d, 0xffffffff
xor r9d, 0x445b5847
or r8d, r9d
and eax, r8d
xor eax, 0xffffffff
mov r8d, 0x8b2c2ff2
xor r8d, 0x5e6a65d7
add eax, r8d
mov qword [rcx], rdx
cmp eax, 0xc7e380
jb 0x140198060
jmp 0x14019813a
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x58]
movabs rdx, 0xf3f45e38c843e091
sub rax, rdx
movabs rdx, 0xd61a8e4cc1b38b88
movabs r8, 0xd61a8e4cc1b38b89
xor rdx, r8
add rax, rdx
movabs rdx, 0xf3f45e38c843e091
add rax, rdx
cmp rax, qword [rcx]
mov qword [rsp + 0x80], rax
jl 0x140197d99
add rsp, 0x98
ret
movabs dword [0xfffffc69e9c48595], eax
enter 0xffffffffffffe4db, 0xffffffffffffffe9
std
invalid
mov edx, 0xe90f2b40
mov cl, 0xfe
invalid