Function at 0x1401d7890
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xd8
mov qword [rsp + 0x70], rcx
call fcn.1401d7e87
mov qword [rsp + 0x80], rax
add rax, 0x50
mov qword [rsp + 0x68], rax
movabs rcx, 0x8536e471cd7db1d4
movabs rax, 0x8536e471cd7db1cc
xor rcx, rax
movabs rdx, 0xbdecf7f0f653d640
movabs rax, 0xbdecf7f0f653d648
xor rdx, rax
call fcn.140012610
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0xc8]
xor eax, eax
mov edx, eax
call fcn.140023670
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0xc8]
mov qword [rdx + 8], rax
mov rax, qword [rsp + 0xd0]
mov qword [rdx + 0x10], rax
mov rcx, qword [rcx]
add rcx, 0x20
call fcn.1401c3e10
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x50], 0
jne 0x1401d7b2a
mov rcx, qword [rsp + 0x70]
call fcn.1401d4f10
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
jne 0x1401d7b2a
mov rcx, qword [rsp + 0x70]
call fcn.1401d7710
mov rax, qword [rsp + 0x68]
mov al, byte [rax]
mov cl, 0x81
xor cl, 0x81
cmp al, cl
jne 0x1401d7b2a
mov ecx, 0x51a
call fcn.1400644d0
mov ecx, eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x64], ecx
cmp byte [rax], 0
jne 0x1401d7b2a
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
lea rcx, [rsp + 0xb8]
call fcn.140078b4a
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x50], rcx
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x58], rcx
mov al, byte [rax]
mov cl, 0xf1
xor cl, 0xf1
cmp al, cl
jne 0x1401d7b2a
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax]
add rdx, 0x18
lea rcx, [rsp + 0xa8]
call fcn.14013de60
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x48], rcx
cmp byte [rax], 0
jne 0x1401d7b2a
mov ecx, dword [rsp + 0x64]
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
mov qword [rsp + 0x98], r9
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rax
lea rdx, [rsp + 0x98]
lea r8, [rsp + 0x88]
call fcn.14009b430
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
jne 0x1401d7b2a
mov eax, dword [0x140257ca0]
xor eax, 0x713cf333
xor edx, edx
div dword [0x140257ca4]
add eax, 0xf2238273
sub eax, 0x54fd5857
add eax, 0x54ff82a8
mov ecx, 0xa06e8af6
xor ecx, 0xf82e2256
cmp eax, ecx
jb 0x1401d7c2e
mov eax, dword [0x140257ca8]
mov ecx, dword [0x140257cac]
xor ecx, 0xf4aa369e
sub eax, 0xef4114dd
add eax, ecx
add eax, 0xef4114dd
add eax, 0xd3039e8e
mov ecx, eax
xor ecx, 0x72b450e8
mov edx, 0xffffffff
xor edx, 0x72b450e8
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x3d7bea62
xor edx, edx
div ecx
mov dword [rsp + 0x38], eax
mov cl, 0xc5
xor cl, 0x7f
call fcn.140064710
mov rcx, qword [rsp + 0x68]
mov eax, dword [rsp + 0x38]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x12d5f786
je 0x1401d7c2e
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x1401d7c25
jmp 0x1401d7b2a
call fcn.1401d1b2b
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
cmp word [rax + 0x12], 1
jle 0x1401d7c25
mov eax, dword [0x140257cb0]
xor eax, 0x50d13877
xor edx, edx
div dword [0x140257cb4]
xor eax, 0x70cc71ed
xor eax, 0xf6e85617
xor eax, 0x607ae85e
mov ecx, 0x15832de9
xor ecx, 0xa65c3bb7
cmp eax, ecx
jbe 0x1401d7c37
mov eax, dword [0x140257cb8]
add eax, dword [0x140257cbc]
imul eax, eax, 0x64eb5731
mov ecx, 0xf901895b
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x30]
mov ecx, 0x4dfb67f
xor ecx, 0x9747b338
mov r8d, 0x1b8bc0a
xor r8d, 0xfe4743f5
xor ecx, r8d
add eax, ecx
add eax, 1
mov ecx, 0xeb22da20
xor ecx, 0xae8566e7
mov rdx, qword [rdx + 0x18]
mov edx, dword [rdx + 8]
mov r8d, 0xa2bef251
xor r8d, 0x67ccd030
cmp edx, r8d
sete dl
mov byte [rsp + 0x2f], dl
cmp eax, ecx
jbe 0x1401d7b77
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x1401d7bf9
jmp 0x1401d7c25
mov rax, qword [rsp + 0x68]
mov cl, 0xcc
xor cl, 0xcc
mov byte [rax], cl
call fcn.1401d1b3d
mov rcx, rax
call fcn.140099ce0
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
jne 0x1401d7c25
call fcn.1401d1a30
nop
add rsp, 0xd8
ret
invalid
invalid