Function at 0x1401c5250
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x58], r8
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x48], rcx
mov eax, 0x10
mov qword [rbp - 0x38], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x40], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.1401cfb6b
add rsp, 0x20
mov qword [rbp - 0x18], rax
add rax, 0x60
mov qword [rbp - 0x20], rax
mov word [rbp + 0x1e], 0x7d7
lea rcx, [rbp + 0x1e]
sub rsp, 0x20
call fcn.140067990
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x10], rcx
cmp byte [rax + 0x60], 0
jne 0x1401c560a
lea rcx, [rbp + 8]
mov edx, 0x10
sub rsp, 0x20
call fcn.1401beec5
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x40]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 8]
mov r9d, 0x20019
sub rsp, 0x20
call fcn.1400d01e0
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401c560a
mov rax, qword [rbp + 8]
mov qword [rbp - 0x60], rax
cmp byte [rbp + 0x10], 0
jne 0x1401c537a
sub rsp, 0x20
call fcn.1400860e4
add rsp, 0x20
mov rax, qword [rbp - 0x20]
mov al, byte [rax]
mov cl, 0x16
xor cl, 0x16
cmp al, cl
je 0x1401c5685
jmp 0x1401c560a
movabs rdx, 0xce25e3b50028d19a
movabs rax, 0xce25e3b50028d18a
xor rdx, rax
lea rcx, [rbp - 8]
sub rsp, 0x20
call fcn.1401beec5
add rsp, 0x20
lea rcx, [rbp - 8]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14003379c
mov rdx, qword [rbp - 0x60]
add rsp, 0x20
lea rcx, [rbp - 8]
mov r8d, 7
sub rsp, 0x20
call fcn.1401bd0e0
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp byte [rax], 0
je 0x1401c54e6
mov eax, dword [0x1401e65a0]
xor edx, edx
div dword [0x1401e65a4]
mov ecx, 0x622ef854
xor ecx, 0x557b2ee3
imul eax, ecx
mov ecx, 0xd622a07
xor edx, edx
div ecx
sub eax, 0xad4d9a43
cmp eax, 0xf3763343
ja 0x1401c568b
mov eax, dword [0x1401e65a8]
xor eax, 0xd6e1f2cd
add eax, dword [0x1401e65ac]
mov ecx, 0xb8de092a
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x20]
add ecx, 0xc14360e
sub ecx, 0xa39084be
sub ecx, 0xc14360e
mov edx, 0x678f0ce7
xor edx, 0x9870f318
mov r8d, ecx
xor r8d, edx
and r8d, 0xf50ac00
mov r9d, 0xeab27dc1
xor r9d, 0xe5e2d1c1
mov edx, 0x6c89a4e8
xor edx, 0x93765b17
xor r9d, edx
mov edx, ecx
and edx, r9d
imul edx, r8d
mov r8d, ecx
and r8d, 0xf50ac00
or ecx, 0xf50ac00
imul ecx, r8d
add ecx, edx
mov dword [rbp - 0x68], ecx
mov cl, 0x29
xor cl, 0x29
mov byte [rax], cl
sub rsp, 0x20
call fcn.1401bf6d5
mov rcx, qword [rbp - 0x20]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x62], cl
cmp cl, 0
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0x5dfe7792
ja 0x1401c5414
mov al, byte [rbp - 0x62]
mov cl, byte [rbp - 0x61]
test cl, 1
mov byte [rbp - 0x69], al
jne 0x1401c54e6
jmp 0x1401c558d
sub rsp, 0x20
mov cx, 0x9f0
call fcn.1400676f0
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x20]
mov al, byte [rax]
test al, al
sete cl
mov r8, qword [rbp - 8]
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov byte [rbp - 0x6a], al
jne 0x1401c5522
jmp 0x1401c5587
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x48]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x30]
mov byte [rcx], 1
mov rcx, qword [rbp - 8]
mov qword [rax], rcx
mov rcx, qword [rbp]
mov qword [rax + 8], rcx
lea rcx, [rbp - 8]
sub rsp, 0x20
call fcn.1401bc162
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
add rsp, 0x20
mov rcx, qword [rcx]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140033e10
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x6a], al
mov al, byte [rbp - 0x6a]
mov byte [rbp - 0x69], al
mov rax, qword [rbp - 0x20]
mov cl, byte [rbp - 0x69]
mov byte [rbp - 0x6c], cl
mov byte [rax], 0
lea rcx, [rbp - 8]
sub rsp, 0x20
call fcn.1401bc125
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov dl, byte [rax]
mov byte [rbp - 0x6b], dl
mov dl, 0x94
xor dl, 0x94
mov byte [rax], dl
sub rsp, 0x20
call fcn.1400d0b70
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401c560a
mov al, byte [rbp - 0x6c]
mov cl, byte [rbp - 0x6b]
mov dl, 4
xor dl, 5
mov byte [rbp - 0x6e], dl
cmp cl, 0
mov byte [rbp - 0x6d], al
je 0x1401c55f9
mov al, byte [rbp - 0x6e]
mov byte [rbp - 0x6d], al
mov rcx, qword [rbp - 0x20]
mov al, byte [rbp - 0x6d]
mov byte [rcx], al
cmp al, 0
je 0x1401c5685
sub rsp, 0x20
call fcn.1401bf410
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x1401c5685
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0xaa27bdc8
xor ecx, 0x7e22f44e
cmp eax, ecx
jne 0x1401c5685
mov rax, qword [rbp - 0x20]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401bf530
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140095e90
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401c5685
sub rsp, 0x20
call fcn.1401bf6d5
add rsp, 0x20
lea rsp, [rbp + 0x20]
pop rbp
ret
lea edi, [rbx - 0x14]
shr cl, 0x80
std
invalid