Function at 0x1400171e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov eax, dword [0x1401d5be8]
mov ecx, dword [0x1401d5bec]
mov edx, 0x8f7e5a16
xor edx, 0xd5fb69cd
xor ecx, edx
and eax, ecx
sub eax, 0x40b24ac9
or eax, 0x8aeaf2cc
add eax, 0x50005129
cmp eax, 0x7b89b081
jae 0x14001750f
mov eax, dword [0x1401d5bf0]
xor eax, 0xcf7b93d5
imul eax, dword [0x1401d5bf4]
mov ecx, 0x2f8929af
xor edx, edx
div ecx
mov ecx, 0xd4fcd195
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x60]
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x6aa13e43
mov r9d, 0xffffffff
xor r9d, 0x6aa13e43
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0x6aa13e43
mov r9d, 0xc5b5030c
xor r9d, 0xaf143d4f
or eax, r9d
imul eax, r8d
add eax, ecx
mov ecx, 0xb1821440
xor ecx, 0x745b7736
mov r9, qword [rdx]
mov rdx, r9
add rdx, 0xffffffffffffffff
mov qword [rsp + 0x48], rdx
mov r8, rdx
xor r8, r9
movabs r9, 0x173d54b9a22770b9
movabs r10, 0x173d54b9a22770b9
xor r9, r10
cmp r8, r9
setl r8b
movabs r9, 0xee51c56d7a81d644
movabs r10, 0x11ae3a92857e29bb
xor r9, r10
cmp rdx, r9
setg dl
xor dl, 0xff
xor r8b, 0xff
mov r9b, 1
xor r9b, 1
or dl, r8b
xor r8d, r8d
xor r8b, 1
or r8b, r9b
xor dl, 0xff
and dl, r8b
mov byte [rsp + 0x57], dl
cmp eax, ecx
ja 0x140017223
mov al, byte [rsp + 0x57]
test al, 1
jne 0x140017346
jmp 0x140017329
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
add rcx, 8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
jmp 0x140017350
call fcn.1400077a3
jmp 0x14001750a
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jl 0x1400174fd
mov rax, qword [rsp + 0x30]
cmp rax, 0
jl 0x14001747e
mov eax, dword [0x1401d5bf8]
xor eax, 0xf9fa248b
xor edx, edx
div dword [0x1401d5bfc]
mov ecx, eax
mov edx, 0x945f7ab5
xor edx, 0x6ba0854a
mov eax, ecx
xor eax, edx
mov edx, 0x5076d6d0
xor edx, 0x9d540aa5
and edx, eax
mov r8d, 0xffffffff
xor r8d, 0xcd22dc75
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xcd22dc75
mov r8d, 0x25597e3
xor r8d, 0xcf774b96
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, 0xe9e3bdbd
xor eax, 0x835f08d5
xor ecx, eax
mov eax, ecx
and eax, 0xe43263db
xor eax, 0xffffffff
and ecx, 0xe43263db
mov edx, 0xdc419293
xor edx, 0x23be6d6c
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0xca576aa8
xor edx, 0x35a89557
xor ecx, edx
or eax, ecx
cmp eax, 0x9065172e
jae 0x140017518
mov rcx, qword [rsp + 0x30]
mov eax, dword [0x1401d5c00]
sub eax, dword [0x1401d5c04]
mov r8d, 0xfbbe5835
xor edx, edx
div r8d
mov r8d, 0xd73d2444
xor r8d, 0x98b4f406
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x60]
sub eax, 0xdb6334be
cmp rcx, qword [rdx]
setl cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x6c2bc884
jae 0x140017420
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14001748b
jmp 0x14001747e
mov rcx, rdx
call fcn.140013580
jmp 0x14001750a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
call fcn.1400170e0
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 0xffffffffffffffff
mov rdx, rax
xor rdx, rcx
movabs r8, 0x48755e40ada06e90
movabs r9, 0x48755e40ada06e90
xor r8, r9
cmp rdx, r8
setl dl
cmp rcx, 0
setne cl
and cl, dl
test cl, 1
mov qword [rsp + 0x40], rax
jne 0x1400174f3
jmp 0x140017350
call fcn.1400077a3
jmp 0x14001750a
mov rax, qword [rsp + 0x60]
mov eax, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
add rsp, 0x68
ret
jnp 0x1400174fe
xchg esp, eax
sub eax, 0xfffd0be9
jmp rcx
loope 0x14001756c
invalid
bnd jmp qword [rcx]