Function at 0x1401769c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x20], rcx
mov eax, 0x10
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x18], rax
mov rax, qword [0x1402c6150]
mov qword [rbp - 8], rax
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 8]
mov qword [rbp], rdx
mov byte [rcx], 0
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rbp]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x40], xmm0
add rax, 0x60
mov qword [rbp + 8], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.140025b10
mov rdx, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, rax
mov qword [rbp + 0x18], rcx
lea rax, [0x1402b1968]
mov qword [rcx], rax
add rcx, 0x10
sub rsp, 0x20
xor eax, eax
mov r8b, al
call fcn.140174ff0
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rcx, qword [rax]
add rax, 8
mov qword [rbp + 0x28], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x30], rax
xor eax, eax
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x20], rax
mov eax, dword [0x1402b1ad8]
xor edx, edx
div dword [0x1402b1adc]
and eax, 0x33fb5df
mov ecx, 0xd1f25af0
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xf0e28103
and ecx, 0xf0e28103
mov edx, 0x15bff6bd
xor edx, 0xea400942
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x7d58802c
xor ecx, 0x9cc4de1a
cmp eax, ecx
jbe 0x140177017
mov r8, qword [rbp + 0x30]
mov eax, dword [0x1402b1ae0]
sub eax, dword [0x1402b1ae4]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa1dd5531
mov edx, 0xffffffff
xor edx, 0xa1dd5531
and eax, edx
sub eax, ecx
mov ecx, 0x7c20b8ff
xor ecx, 0x8f46e2c4
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x20]
sub eax, 0xbf35b902
mov ecx, 0x2988f03
xor ecx, 0x412758bf
add eax, ecx
add eax, 0xbf35b902
mov ecx, 0xafdb77a4
xor ecx, 0xd0cce443
cmp rdx, r8
sete dl
mov byte [rbp - 0x21], dl
cmp eax, ecx
je 0x140176b02
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140176d51
jmp 0x140176b82
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x140176ce8
mov rax, qword [rbp - 0x30]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rbp - 0x40], rcx
mov rcx, qword [rax - 0x10]
movabs rdx, 0x23533c468dad6680
movabs rax, 0x23533c468dad6690
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rbp - 0x38], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140176bf7
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140176ce8
mov eax, dword [0x1402b1ae8]
and eax, dword [0x1402b1aec]
mov ecx, 0xc8a6b7af
xor edx, edx
div ecx
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xa9804282
mov edx, 0xffffffff
xor edx, 0xa9804282
and r8d, edx
mov ecx, 0x87aff2ce
xor ecx, 0x68c128a1
mov r9d, 0x6462e17b
xor r9d, 0x9b9d1e84
xor ecx, r9d
and ecx, 0xa9804282
and edx, 0xef6eda6f
or eax, r8d
or ecx, edx
xor eax, ecx
sub eax, 0xecbdb7a9
cmp eax, 0x8c7ba8cb
jae 0x140177020
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x1402b1af0]
xor edx, edx
div dword [0x1402b1af4]
mov rdx, qword [rbp - 0x38]
xor eax, 0x4eb94df5
mov r8d, 0x5fecda89
xor r8d, 0xd9d162f1
and eax, r8d
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0x5be8d8e8
xor r9d, 0xe555164
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0x55bd898c
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x55bd898c
or eax, 0x55bd898c
imul eax, r9d
add eax, r8d
mov qword [rcx], rdx
cmp eax, 0x7c3d2519
jae 0x140176c66
jmp 0x140176ce8
mov rax, qword [rbp + 8]
cmp byte [rax], 0
jne 0x140177002
mov rdx, qword [rbp - 0x30]
lea rcx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140171e10
mov rcx, qword [rbp + 8]
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov cl, byte [rcx]
movabs rdx, 0xdeb0d68d5cfcf987
add rax, rdx
add rax, 1
movabs rdx, 0x96ff6413078a06bf
movabs r8, 0x484fb29e5b76ff38
xor rdx, r8
sub rax, rdx
cmp cl, 0
mov qword [rbp + 0x38], rax
je 0x140176aa2
jmp 0x140177002
mov rax, qword [rbp + 8]
mov al, byte [rax]
mov cl, 0x63
xor cl, 0x63
cmp al, cl
jne 0x140177002
cmp qword [rbp + 0x40], 1
jle 0x140176f3f
mov eax, dword [0x1402b1af8]
and eax, dword [0x1402b1afc]
or eax, 0xf342b162
and eax, 0xcad1a70a
or eax, 0xd190f248
mov ecx, 0xd601837e
xor ecx, 0x1dfa514a
cmp eax, ecx
je 0x140177029
mov eax, dword [0x1402b1b00]
xor eax, 0x737d68c
or eax, dword [0x1402b1b04]
mov ecx, 0x7124b2e4
xor ecx, 0xe6303d8a
xor edx, edx
div ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xf8e3a18f
xor ecx, 0x70b9a9fb
mov edx, 0xb3b7e78d
xor edx, 0x3bedeff9
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0x4cf51bc0
xor edx, 0xb30ae43f
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov edx, 0xffffffff
xor edx, 0xd0d78cf5
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xd0d78cf5
add eax, edx
sub eax, ecx
mov dword [rbp - 0x54], eax
movabs rcx, 0xe6f3b5ce2f71a6d8
movabs rax, 0xe6f3b5ce2f71a6f8
xor rcx, rax
movabs rdx, 0x349cb536f8c3030a
movabs rax, 0x349cb536f8c30302
xor rdx, rax
sub rsp, 0x20
call fcn.140025b10
add rsp, 0x20
mov qword [rbp - 0x60], rax
movabs rcx, 0x96b2719e303b921e
movabs rdx, 0x694d8e61cfc46de1
xor rcx, rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140173280
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x54]
mov r9, rdx
add r9, 0x10
mov qword [rbp - 0x50], r9
mov qword [rdx + 0x10], r8
mov cl, byte [rcx]
mov dl, 0xf
xor dl, 0xf
cmp cl, dl
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0x5a707187
je 0x140176d9d
mov al, byte [rbp - 0x41]
test al, 1
jne 0x140176ebe
jmp 0x140177002
lea rcx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140173280
mov rcx, qword [rbp - 0x60]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 8]
mov qword [rbp - 0x68], rdx
mov qword [rcx + 0x18], rdx
mov al, byte [rax]
mov cl, 0x5f
xor cl, 0x5f
cmp al, cl
jne 0x140177002
mov rdx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x50]
mov rcx, qword [rcx]
mov r8, qword [rcx + 8]
mov rax, qword [rax + 8]
mov rcx, rax
and rcx, r8
shl rcx, 1
xor rax, r8
add rax, rcx
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140171e10
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
je 0x140176d64
jmp 0x140177002
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x70], rax
cmp rax, 1
jge 0x140176f85
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140025e55
add rsp, 0x20
jmp 0x140176f91
mov rax, qword [rbp + 0x48]
add rax, 8
mov qword [rbp - 0x78], rax
mov rax, qword [rbp + 8]
mov rcx, qword [rbp - 0x78]
mov qword [rbp - 0x80], rcx
cmp byte [rax], 0
jne 0x140177002
mov r9, qword [rbp + 0x18]
mov r8, qword [rbp - 0x18]
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140176380
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140177002
lea rcx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140173f50
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140177002
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.1401766e0
add rsp, 0x20
mov rax, qword [rbp - 0x18]
cmp byte [rax], 0
setne al
and al, 1
movzx eax, al
lea rsp, [rbp + 0x50]
pop rbp
ret
sub eax, 0xe9316a3c
cmp al, 0x6a
xor ecx, ebp
loop 0x140177018
invalid
nop
lodsq rax, qword [rsi]
and ch, cl
cmp eax, 0x34fffffc
xor eax, 0x6be914b6
std
invalid
xor al, 0x35
mov dh, 0x14
jmp 0x140176d9d