Function at 0x140017e10
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov rax, rcx
add rax, 8
mov qword [rsp + 0x88], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x90], rax
mov rcx, rdx
add rcx, 8
mov qword [rsp + 0x98], rcx
mov rcx, qword [rdx + 8]
mov qword [rsp + 0xa0], rcx
cmp rax, rcx
je 0x1400184ef
mov rax, qword [rsp + 0xa0]
cmp rax, 0
je 0x140017ede
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax]
movabs rdx, 0x59978220fa57b5c8
movabs rcx, 0x59978220fa57b5c9
xor rdx, rcx
mov rcx, rax
add rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0xa69f61928ef4dd21
movabs r8, 0xe69f61928ef4dd21
xor rdx, r8
or rax, rdx
add rax, rcx
movabs rcx, 0xf4c5a0fa2d899cc6
movabs rdx, 0xf4c5a0fa2d899cc6
xor rcx, rdx
cmp rax, rcx
je 0x14001807e
mov eax, dword [0x1401d8ac8]
mov ecx, dword [0x1401d8acc]
xor ecx, 0x968655bb
add eax, ecx
mov ecx, eax
and ecx, 0x69cecbf2
xor ecx, 0xffffffff
mov edx, 0x9aa5b5dd
xor edx, 0xf36b7e2f
add eax, edx
mov edx, 0x95ff64f4
xor edx, 0x95ff64f5
add eax, edx
add eax, ecx
imul eax, eax, 0xbeb5071e
mov ecx, 0x552f0d97
xor edx, edx
div ecx
cmp eax, 0x8377e355
ja 0x1400184f8
mov rdx, qword [rsp + 0x90]
mov eax, dword [0x1401d8ad0]
mov ecx, dword [0x1401d8ad4]
xor ecx, 0x32fb8bdf
sub eax, ecx
xor eax, 0x583094fc
or eax, 0x6459bc97
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x15331506
mov r9d, 0x4c4ac3b8
xor r9d, 0x5979d6be
mov ecx, 0x62918b4b
xor ecx, 0x9d6e74b4
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0x15331506
or eax, 0x15331506
imul eax, r8d
add eax, ecx
mov ecx, 0xb0980225
xor ecx, 0x3a39e9c4
cmp rdx, 0
sete dl
mov byte [rsp + 0x77], dl
cmp eax, ecx
je 0x1400184f8
mov rax, qword [rsp + 0xa0]
mov cl, byte [rsp + 0x77]
test cl, 1
mov qword [rsp + 0x68], rax
jne 0x140018056
jmp 0x140017fdd
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rcx]
movabs r8, 0xaa0e219ec678df78
movabs rcx, 0xea0e219ec678df78
xor r8, rcx
movabs rcx, 0x3b75cb392daad5df
movabs r9, 0xc48a34c6d2552a20
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x68], rax
jne 0x140018056
mov rcx, qword [rsp + 0x90]
call fcn.14000dddb
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
mov r8, qword [r8]
mov qword [rdx], r8
mov qword [rax], rcx
jmp 0x1400184ef
mov rax, qword [rsp + 0x90]
cmp rax, 0
je 0x1400181f0
mov eax, dword [0x1401d8ad8]
xor eax, 0xe14b9d96
mov ecx, dword [0x1401d8adc]
xor ecx, 0x1d66a5b1
add eax, ecx
and eax, 0xf4d08297
imul eax, eax, 0x9b3e2e2e
sub eax, 0x741d323f
cmp eax, 0x1517249f
je 0x140018501
mov rcx, qword [rsp + 0x90]
mov eax, dword [0x1401d8ae0]
mov r8d, dword [0x1401d8ae4]
xor r8d, 0x4e708b31
xor edx, edx
sub edx, r8d
add eax, edx
mov edx, 0x97d3652b
xor edx, 0x9b06443b
imul eax, edx
mov edx, 0x84cd1929
xor edx, 0x85c397b
sub eax, edx
add eax, 0x517ac158
add eax, 0x8c912052
mov edx, 0x5beaf87d
xor edx, 0x69ee7e05
sub eax, edx
mov rcx, qword [rcx]
mov qword [rsp + 0x58], rcx
movabs rdx, 0x9aedc6cf84913f85
movabs r8, 0xdaedc6cf84913f85
xor rdx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x67], cl
cmp eax, 0xa9c7265a
jae 0x1400180c4
mov al, byte [rsp + 0x67]
test al, 1
jne 0x140018162
jmp 0x1400181f0
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x58]
xor rdx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
movabs r8, 0xbfffffffffffffff
xor r9, r8
mov r8, 0xffffffffffffffff
movabs r10, 0x8c9c1d0495a97bed
xor r8, r10
or rdx, r9
movabs r9, 0x8c9c1d0495a97bed
or r8, r9
movabs r9, 0x8049634aab4a403d
movabs r10, 0x7fb69cb554b5bfc2
xor r9, r10
xor rdx, r9
and rdx, r8
mov rax, qword [rax]
cmp rdx, rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
jge 0x1400183b1
mov rcx, qword [rsp + 0x90]
call fcn.14000dddb
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov rcx, rax
add rcx, 1
mov rdx, rax
or rdx, rdx
movabs r8, 0x258225d9949dc578
movabs r9, 0xda7dda266b623a87
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r9, 0xbd613db129e4ccf2
movabs r10, 0x429ec24ed61b330d
xor r9, r10
movabs r10, 0xda6c2935a2f78610
movabs r11, 0x2593d6ca5d0879ef
xor r10, r11
xor r9, r10
and r8, r9
or rdx, r8
movabs r8, 0xf39c32d138b9a315
movabs r9, 0xc63cd2ec7465cea
xor r8, r9
xor rdx, r8
xor rax, 0xffffffffffffffff
movabs r8, 0xed525c7a31a3c910
movabs r9, 0x12ada385ce5c36ef
xor r8, r9
movabs r9, 0x5bfdb7ebbaa897a7
movabs r10, 0xa402481445576858
xor r9, r10
xor r8, r9
and rax, r8
or rdx, rax
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1400182e0
call fcn.140007bb8
jmp 0x1400184ef
mov rdx, qword [rsp + 0x40]
mov rcx, rdx
add rcx, 9
mov qword [rsp + 0x38], rcx
mov rax, 0xffffffffffffffff
xor rax, 0xfffffffffffffffe
and rax, rdx
movabs r8, 0x6e04b4e2b0562c79
movabs r9, 0x91fb4b1d4fa9d386
xor r8, r9
xor rdx, r8
and rdx, 0xfffffffffffffffe
sub rdx, rax
mov rax, rcx
and rax, rdx
movabs r8, 0xd411ec19f8b95b29
movabs r9, 0x2bee13e60746a4d6
xor r8, r9
xor rax, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x140018362
call fcn.140007bb8
jmp 0x1400184ef
mov rax, qword [rsp + 0x38]
cmp rax, 0
jge 0x140018381
mov rcx, r8
mov rdx, r8
call fcn.14000c4b0
jmp 0x1400184ef
mov rcx, qword [rsp + 0x38]
call fcn.14000a511
mov rdx, qword [rsp + 0x88]
mov rcx, rax
mov rax, qword [rsp + 0x78]
mov qword [rdx], rcx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x28], r8
mov qword [rcx], rdx
mov r9, qword [rax]
movabs rax, 0x2da13dd1b6818cc5
movabs rcx, 0x454849c013888dc4
xor rax, rcx
mov rcx, r9
sub rcx, rax
add rcx, 1
movabs rax, 0x68e97411a5090101
add rcx, rax
mov qword [rsp + 0x30], rcx
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rax, 0x1bdac9a9fe440005
and rdx, rax
mov r10, 0xffffffffffffffff
movabs rax, 0x1bdac9a9fe440005
xor r10, rax
and r9, r10
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r8, 0x1bdac9a9fe440005
and rax, r8
movabs r8, 0xec4440d54d359985
movabs r11, 0x13bbbf2ab2ca667a
xor r8, r11
and r8, r10
or rdx, r9
or rax, r8
xor rdx, rax
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0xcc8aeefdb4c60f11
movabs r8, 0x337511024b39f0ee
xor rdx, r8
xor rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x1400184ae
call fcn.140007bb8
jmp 0x1400184ef
mov rax, qword [rsp + 0x30]
cmp rax, 0
jge 0x1400184cd
mov rcx, r8
mov rdx, r8
call fcn.14000c4b0
jmp 0x1400184ef
mov r8, qword [rsp + 0x30]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x28]
add rcx, 8
mov rdx, qword [rax]
add rdx, 8
call fcn.14002e4d6
nop
add rsp, 0xa8
ret
cmp eax, 0xe9a783b1
xor bh, dl
invalid
invalid