Function at 0x1401a5d80
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], rcx
mov eax, dword [0x1401d2eb0]
xor edx, edx
div dword [0x1401d2eb4]
mov ecx, 0xa4121f26
xor ecx, 0x5bede0d9
mov edx, eax
xor edx, ecx
and edx, 0x8e341681
mov r8d, 0xdf4c2537
xor r8d, 0x517833b6
mov ecx, 0x9add1eb1
xor ecx, 0x6522e14e
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x8e341681
mov r8d, 0xa2d38eef
xor r8d, 0x2ce7986e
or eax, r8d
imul eax, edx
add eax, ecx
or eax, eax
mov ecx, 0x74d22a5f
xor ecx, 0x8b2dd5a0
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x6e292
mov edx, 0x21bb3c04
xor edx, 0x21bdde96
mov r8d, 0x35dcceb0
xor r8d, 0xca23314f
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xa762d174
xor edx, edx
div ecx
cmp eax, 0x14da1fe9
jae 0x1401a6261
mov edx, dword [0x1401d2eb8]
mov ecx, dword [0x1401d2ebc]
mov eax, edx
xor eax, ecx
not eax
or edx, ecx
and edx, eax
mov r8d, edx
add r8d, 0xe09c358e
mov ecx, r8d
and ecx, 0x60d4289b
xor r8d, 0x9f2bd764
mov eax, edx
mov edx, r8d
lea eax, [rax + rdx - 0x1f63ca72]
sub eax, ecx
xor eax, 0xda95ccfe
mov dword [rbp + 0xc], eax
mov eax, 0xbe916051
mov dword [rbp + 8], eax
mov eax, 0x10
mov qword [rbp - 0x20], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.1401a7c51
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov qword [rbp], rax
add rax, 0x60
mov qword [rbp - 8], rax
sub rsp, 0x20
call fcn.1401a3290
mov rdx, qword [rbp]
mov ecx, dword [rbp + 8]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0xc]
mov dword [rbp + 0x10], r8d
mov dl, byte [rdx + 0x60]
mov r8b, 7
xor r8b, 7
cmp dl, r8b
sete dl
mov byte [rbp + 0x17], dl
cmp eax, ecx
ja 0x1401a5e47
mov al, byte [rbp + 0x17]
test al, 1
jne 0x1401a5f4c
jmp 0x1401a61d6
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.1401a5330
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 8]
mov dword [rbp - 0x34], ecx
cmp byte [rax], 0
jne 0x1401a61d6
mov eax, dword [rbp - 0x34]
mov ecx, dword [rbp + 0x10]
movsxd r8, ecx
movsxd rdx, eax
mov rcx, rdx
add rcx, r8
mov qword [rbp - 0x40], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1401a5fad
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1401a61d6
mov rax, qword [rbp - 0x40]
add rax, 0xffffffff80000000
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x1401a5fdc
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1401a61d6
mov ecx, 0x74f
sub rsp, 0x20
call fcn.140062510
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 8]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x1401a61c0
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x40]
cmp rax, rcx
jl 0x1401a6018
jmp 0x1401a625b
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001be40
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov qword [rax], 0
mov ecx, 0x451e5f5a
xor ecx, 0x451e5f5b
mov dword [rax + 8], ecx
mov ecx, 0x3a1
sub rsp, 0x20
call fcn.140062d70
mov rdx, qword [rbp - 8]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x60]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401a6195
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.14001217d
mov rcx, qword [rbp - 0x30]
add rsp, 0x20
mov qword [rbp - 0x70], rax
mov ax, 0x6861
xor ax, 0x6183
mov word [rcx], ax
sub rsp, 0x20
call fcn.140062840
mov rdx, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp - 0x68], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401a6195
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x68]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001c072
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x70]
add rsp, 0x20
mov r8, qword [rax]
mov rax, qword [rax + 8]
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.140071e10
mov r8, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 8]
mov rax, qword [rbp - 0x70]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rcx + 0x10], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 0x18], r8
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401a6195
mov rdx, qword [rbp - 0x60]
mov rax, qword [rbp + 0x18]
mov rcx, qword [0x1401dd298]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x1401dd2a0]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140026540
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 8]
mov dl, byte [rbp - 0x51]
mov rcx, qword [rbp - 0x50]
mov byte [rbp - 0x71], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14019a8c0
mov rax, qword [rbp - 8]
add rsp, 0x20
cmp byte [rax], 0
je 0x1401a61c5
jmp 0x1401a61d6
mov al, byte [rbp - 0x71]
mov rcx, qword [rbp - 8]
mov byte [rcx], al
cmp al, 0
je 0x1401a625b
sub rsp, 0x20
call fcn.14019d433
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp word [rax + 0x12], 1
jle 0x1401a625b
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x3b746dca
xor ecx, 0xef71244c
cmp eax, ecx
jne 0x1401a625b
mov rax, qword [rbp - 8]
xor ecx, ecx
xor cl, 0
mov byte [rax], cl
sub rsp, 0x20
call fcn.14019d445
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140091980
mov rax, qword [rbp - 8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x37
xor cl, 0x37
cmp al, cl
jne 0x1401a625b
sub rsp, 0x20
call fcn.14019d499
add rsp, 0x20
lea rsp, [rbp + 0x20]
pop rbp
ret
xchg edx, eax
or al, byte [rsp + rbp*8 - 0x42217]
jmp qword [rsi + 0xf]