Function at 0x14001a610
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 0x14001a643
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
call fcn.14001a0a0
jmp 0x14001a988
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rax, rcx
jge 0x14001a988
mov rax, qword [rsp + 0x68]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x14001a6ce
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
movabs r8, 0x52e5ea7bb92f8bdb
movabs rdx, 0xed1a158446d07424
xor r8, rdx
mov rdx, rax
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xc65b4384a2f46948
movabs r9, 0x79a4bc7b5d0b96b7
xor r8, r9
or rax, r8
and rax, rdx
cmp rax, rcx
jge 0x14001a83f
mov ecx, dword [0x140250df8]
mov eax, dword [0x140250dfc]
xor eax, 0x18d1221a
and ecx, eax
mov eax, 0xccb21ba2
xor eax, 0x25c43df
add ecx, eax
mov eax, 0xb5dfd865
xor eax, 0xcb8bfcaf
mov edx, 0x62e77348
xor edx, 0x9d188cb7
xor eax, edx
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0x71a6f769
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xa1f141a5
xor ecx, 0xbea80d39
cmp eax, ecx
jae 0x14001aa54
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x60]
mov eax, dword [0x140250e00]
xor edx, edx
div dword [0x140250e04]
mov ecx, 0x45ac5cdf
xor ecx, 0xc4a4aea8
xor eax, ecx
imul eax, eax, 0xfcf3e107
mov ecx, 0x976b0c01
xor ecx, 0x6894f3fe
mov edx, eax
xor edx, ecx
and edx, 0xf06ce00f
mov r8d, 0xffffffff
xor r8d, 0xf06ce00f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x85ad5faf
xor r8d, 0x75c1bfa0
mov edx, eax
and edx, r8d
or eax, 0xf06ce00f
imul eax, edx
add eax, ecx
mov ecx, 0xcaaad0b1
xor ecx, 0x74f48cff
xor edx, edx
sub rdx, r9
mov r8, r10
add r8, rdx
mov qword [rsp + 0x40], r8
mov rdx, r8
xor rdx, r10
cmp rdx, 0
setl dl
xor r8, r9
cmp r8, 0xffffffffffffffff
setg r9b
mov r8b, dl
xor r8b, r9b
xor r8b, 0xff
or dl, r9b
and dl, r8b
mov byte [rsp + 0x4f], dl
cmp eax, ecx
jb 0x14001aa54
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14001a835
jmp 0x14001a802
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140010c40
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x14001a83f
call fcn.140007e9d
jmp 0x14001a988
mov eax, dword [0x140250e08]
mov r8d, dword [0x140250e0c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0xe447eec8
sub eax, 0x9c0285b8
xor eax, 0x604a8d4b
cmp eax, 0xb7b4d3ba
ja 0x14001aa5d
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x60]
mov eax, dword [0x140250e10]
xor eax, dword [0x140250e14]
mov ecx, 0x215ad3fc
xor ecx, 0x215ad3fc
sub ecx, eax
mov eax, 0xe34542b8
xor eax, 0xe34542b8
mov r9d, 0xcaf16278
xor r9d, 0x84c64987
sub eax, r9d
add ecx, eax
mov eax, 0xf402d19c
xor eax, 0xf402d19c
sub eax, ecx
and eax, 0xaf73764a
xor ecx, ecx
sub ecx, 0x9c95f3d9
add eax, ecx
mov ecx, 0xd4e97d69
xor ecx, 0x9aa4e95e
mov qword [rdx], r8
cmp eax, ecx
jbe 0x14001a88a
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
jmp 0x14001a909
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x14001a988
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rax + rdx*8 + 8], 0
mov rax, rdx
add rax, 1
movabs rcx, 0x2df19f7b02c8ac1d
movabs r8, 0xd20e6084fd3753e2
xor rcx, r8
xor rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0xa3716f2918e029aa
movabs r8, 0xa3716f2918e029aa
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x38], rax
jge 0x14001a909
call fcn.140007e9d
mov eax, dword [0x140250e18]
xor eax, 0xdb442f5e
mov ecx, dword [0x140250e1c]
mov edx, 0x2a8716ac
xor edx, 0x3764bf06
xor ecx, edx
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x2a9f487
xor ecx, 0xafcb397e
xor edx, edx
div ecx
sub eax, 0xa8d2bd19
add eax, 0x906afd5b
mov ecx, 0xcf6bb3ba
xor ecx, 0x6cc3150a
add eax, ecx
sub eax, 0x906afd5b
mov ecx, 0xc3f6784f
xor ecx, 0x8302d945
cmp eax, ecx
jbe 0x14001aa66
mov eax, dword [0x140250e20]
imul eax, dword [0x140250e24]
add eax, 0x1bcddd35
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xb8c1c9cf
mov edx, 0x2404fede
xor edx, 0xff8c3bf3
mov r8d, 0x71ff01b8
xor r8d, 0x8e00fe47
xor edx, r8d
or eax, ecx
mov ecx, 0xb6ebf1ab
xor ecx, 0x6d633486
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
add eax, 0x9fc078c1
cmp eax, 0xc59c3772
je 0x14001a9f0
add rsp, 0x78
ret
stosb byte [rdi], al
push rdx
cmpsd dword [rsi], dword [rdi]
add ebp, ecx
invalid
xchg esp, eax
test dword [rdi - 0x39], ebx
jmp 0x14001a88a
pop rbp
lodsb al, byte [rsi]
add eax, 0xffff81e9
call qword [rax - 0x67137eb8]
sub rsp, 0x98
mov rax, rdx
mov qword [rsp + 0x70], rax