Function at 0x140017700
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x38], rcx
mov eax, 0x20
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
sub rsp, 0x20
call fcn.140009f59
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
add rsp, 0x20
add rax, 0x60
mov qword [rbp - 0x28], rax
mov rax, qword [rcx]
mov qword [rbp - 0x20], rax
cmp rax, rdx
jle 0x140017840
mov eax, dword [0x1401dbba8]
xor eax, 0xf9ebcc58
xor eax, dword [str.bJjQ]
mov ecx, 0x3b722801
xor ecx, 0xaa4541a5
or eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x575f7de0
mov ecx, 0x3cb5347a
xor ecx, 0x7e3ab4a2
mov r8d, 0x1495b39b
xor r8d, 0xeb6a4c64
xor ecx, r8d
or eax, edx
or ecx, 0x428f80d8
xor eax, 0xffffffff
and eax, ecx
or eax, 0x575e458d
cmp eax, 0x3e94fad4
jb 0x140017bc4
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x1401dbbb0]
xor edx, edx
div dword [0x1401dbbb4]
mov r8d, 0x98be603d
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x30]
and eax, 0xdf00ab6f
mov r9d, 0xda77dbf3
xor r9d, 0x2588240c
mov r8d, eax
xor r8d, r9d
and r8d, 0x9bca1e17
mov r9d, 0xffffffff
xor r9d, 0x9bca1e17
and eax, r9d
sub eax, r8d
mov dword [rbp - 0x44], eax
mov eax, 0xb4685b27
xor eax, 0x506bacc
mov dword [rbp - 0x48], eax
sub rsp, 0x20
call fcn.140017260
mov ecx, dword [rbp - 0x48]
mov eax, dword [rbp - 0x44]
add rsp, 0x20
cmp eax, ecx
ja 0x1400177bd
jmp 0x140017bbf
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
cmp rax, rcx
jge 0x140017bbf
mov rax, qword [rbp - 0x38]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x1400178a0
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
movabs rdx, 0x920957302979b062
movabs r8, 0x2df6a8cfd6864f9d
xor rdx, r8
and rax, rdx
cmp rax, rcx
jge 0x140017970
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x30]
mov rcx, rdx
sub rcx, r8
mov qword [rbp - 0x60], rcx
mov rax, rcx
xor rax, rdx
movabs rdx, 0x5de71955b5202680
movabs r9, 0x5de71955b5202680
xor rdx, r9
cmp rax, rdx
setl al
mov r9, rcx
and r9, r8
movabs rdx, 0x3bdd20e6ebd126fb
movabs r10, 0x3bdd20e6ebd126f9
xor rdx, r10
imul rdx, r9
add rcx, r8
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
xor al, 0xff
mov cl, 1
xor cl, 0
xor dl, cl
mov cl, 1
xor cl, 1
or al, dl
or cl, 1
mov dl, 1
xor dl, 0
xor al, dl
and al, cl
test al, 1
jne 0x14001795e
mov r8, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x20]
mov r9d, 0x18
sub rsp, 0x30
mov qword [rsp + 0x20], 8
call fcn.140011560
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp - 0x58]
mov qword [rax], rcx
jmp 0x140017970
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x140017bbf
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
mov qword [rcx], rdx
mov qword [rbp - 0x68], rax
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x70], rax
mov eax, dword [0x1401dbbb8]
xor eax, 0x2087b8e5
mov ecx, dword [0x1401dbbbc]
sub eax, 0x811c1d76
add eax, ecx
add eax, 0x811c1d76
mov ecx, 0x139d7f15
xor ecx, 0xf36fdd14
xor eax, ecx
or eax, 0x879d29d5
or eax, eax
mov ecx, 0x64ab9e1c
xor ecx, 0x9b5461e3
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xa067bba6
mov edx, 0xffffffff
xor edx, 0xa067bba6
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x758e29bc
je 0x140017bcd
mov rdx, qword [rbp - 0x70]
mov r8, qword [rbp - 0x30]
mov eax, dword [0x1401dbbc0]
and eax, dword [0x1401dbbc4]
mov ecx, 0x1e902582
xor ecx, 0x36c2104
xor eax, ecx
xor eax, 0x440ba798
or eax, 0x17390b7b
mov ecx, 0x507b8969
xor ecx, 0xce0f34f8
cmp rdx, r8
setl dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
ja 0x140017bcd
mov al, byte [rbp - 0x71]
test al, 1
jne 0x140017a48
jmp 0x140017b11
lea rcx, [rbp - 0x18]
mov edx, 0x18
sub rsp, 0x20
call fcn.140006de0
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x40]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rdx], rax
mov rax, qword [rbp - 0x10]
mov qword [rdx + 8], rax
mov rax, qword [rbp - 8]
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.14004efe3
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140017b11
mov rcx, qword [rbp - 0x70]
mov rax, rcx
add rax, 1
mov qword [rbp - 0x80], rax
mov r8, rcx
and r8, 0xffffffffffffffff
movabs rdx, 0xc77378e1cb2fe1cc
movabs r9, 0xc77378e1cb2fe1ce
xor rdx, r9
imul rdx, r8
movabs r8, 0x47a59de688962c09
movabs r9, 0xb85a62197769d3f6
xor r8, r9
add rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140017b16
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x140017bbf
mov eax, dword [0x1401dbbc8]
xor eax, 0xfca2df24
imul eax, dword [0x1401dbbcc]
and eax, 0xebaad3c3
sub eax, 0x3117c7f7
xor eax, 0xa13de71d
mov ecx, 0xb035e9e1
xor ecx, 0xaf29dfc7
cmp eax, ecx
ja 0x140017bd6
mov eax, dword [0x1401dbbd0]
mov edx, dword [0x1401dbbd4]
mov ecx, 0x57aeae4c
xor ecx, 0xafdcbf4
xor edx, ecx
mov ecx, edx
and ecx, eax
mov r8d, 0xc774cdae
xor r8d, 0x388b3251
xor ecx, r8d
add eax, edx
mov edx, 0x8ed7fb1d
xor edx, 0x8ed7fb1c
add eax, edx
add eax, ecx
sub eax, 0x34ca2791
mov ecx, 0x1d5e0af5
xor ecx, 0x3fe77c9f
and eax, ecx
mov ecx, 0x7aeafd7a
xor ecx, 0x2724c725
add eax, ecx
cmp eax, 0xecbce742
ja 0x140017b4a
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x68], rax
jmp 0x140017983
mov rsp, rbp
pop rbp
ret
mov esi, 0xf0e9e097
sti
invalid
mov cl, 0x6f
invalid
jrcxz 0x140017bf4
push rdx
mov ebx, 0xffff6be9
dec dword [rax - 0x7d]
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140017260
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140017700
invalid