Function at 0x1401be4a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rcx
mov eax, dword [0x1401e0df0]
xor eax, 0xf5ba7508
mov r8d, dword [0x1401e0df4]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0x65723b07
mov ecx, 0x51e1e58d
xor ecx, 0xdd5f1017
xor eax, ecx
and eax, 0x86c64b2c
mov ecx, 0x10d8e13d
xor ecx, 0xd2b471cf
cmp eax, ecx
ja 0x1401bea80
mov ecx, dword [0x1401e0df8]
mov eax, dword [0x1401e0dfc]
mov r8d, ecx
and r8d, eax
or ecx, eax
mov eax, r8d
add eax, ecx
mov edx, ecx
mov ecx, r8d
lea r8d, [rcx + rdx + 0x665fa204]
mov ecx, r8d
and ecx, 0x32a2b61b
xor r8d, 0xcd5d49e4
mov edx, eax
mov eax, r8d
lea eax, [rax + rdx + 0x665fa204]
sub eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xfcdd45a4
and ecx, 0x322ba5b
imul ecx, edx
mov edx, eax
and edx, 0x322ba5b
or eax, 0x322ba5b
imul eax, edx
add eax, ecx
mov dword [rbp + 4], eax
mov eax, 0x82221e79
mov dword [rbp], eax
mov eax, 0x10
mov qword [rbp - 0x38], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x10], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x48], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x40], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.1401c69c0
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp - 8], rax
add rax, 0x60
mov qword [rbp - 0x20], rax
movabs rdx, 0x730cfdcb314b6df3
movabs rax, 0x730cfdcb314b6de3
xor rdx, rax
sub rsp, 0x20
call fcn.1401b4760
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14002fa86
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov word [rcx], 0x7f
sub rsp, 0x20
call fcn.1400629b3
mov rdx, qword [rbp - 8]
mov ecx, dword [rbp]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 4]
mov qword [rbp + 8], r8
cmp byte [rdx + 0x60], 0
sete dl
mov byte [rbp + 0x17], dl
cmp eax, ecx
jae 0x1401be51c
mov al, byte [rbp + 0x17]
test al, 1
jne 0x1401be6a8
jmp 0x1401be795
mov rcx, qword [rbp - 0x48]
mov edx, 0x10
sub rsp, 0x20
call fcn.1401b4760
mov rax, qword [rbp + 8]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp + 0x18]
mov r8, qword [rbp - 0x40]
add rsp, 0x20
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
mov r9d, 0x20019
sub rsp, 0x20
call fcn.1400c78f0
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401be795
mov rax, qword [rbp - 0x48]
cmp byte [rax + 8], 0
jne 0x1401be729
sub rsp, 0x20
call fcn.14007c810
add rsp, 0x20
mov rax, qword [rbp - 0x20]
cmp byte [rax], 0
jne 0x1401be795
jmp 0x1401be7c1
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x48]
mov rdx, qword [rax]
mov qword [rbp - 0x58], rdx
mov r8d, 7
sub rsp, 0x20
call fcn.1401b20d0
mov rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov dl, byte [rax]
mov byte [rbp - 0x49], dl
mov dl, 0x47
xor dl, 0x47
mov byte [rax], dl
sub rsp, 0x20
call fcn.1400c83c0
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xb0
xor cl, 0xb0
cmp al, cl
jne 0x1401be795
mov al, byte [rbp - 0x49]
mov rcx, qword [rbp - 0x20]
mov byte [rcx], al
cmp al, 0
jne 0x1401be795
jmp 0x1401be7c1
mov rax, qword [rbp - 0x20]
mov cl, 0x55
xor cl, 0x55
mov byte [rax], cl
sub rsp, 0x20
call fcn.1401b4ce8
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov cl, byte [rax]
mov al, 1
cmp cl, 0
mov byte [rbp - 0x59], al
jne 0x1401be926
mov eax, dword [str..FSo]
mov edx, dword [0x1401e0e04]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
add eax, 0xf11f3802
mov ecx, eax
and ecx, 0x192514ca
xor ecx, 0xffffffff
add eax, 0x192514ca
mov edx, 0x4d3aaa24
xor edx, 0x4d3aaa25
add eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xde860704
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xde860704
or eax, 0xde860704
imul eax, edx
add eax, ecx
cmp eax, 0xb47dc6bb
jb 0x1401bea89
mov eax, dword [0x1401e0e08]
mov ecx, dword [0x1401e0e0c]
xor eax, ecx
xor eax, 0xaea804b0
imul eax, eax, 0xfcd0b96e
add eax, 0x9e413825
or eax, 0x7fddf1b1
mov dword [rbp - 0x60], eax
sub rsp, 0x20
mov cx, 0x435
call fcn.140062790
mov rcx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x60]
mov cl, byte [rcx]
mov byte [rbp - 0x5b], cl
test cl, cl
sete cl
mov r8, qword [r8]
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp - 0x5a], cl
cmp eax, 0x7dc8d78d
jb 0x1401be839
mov al, byte [rbp - 0x5b]
mov cl, byte [rbp - 0x5a]
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1401be8b8
jmp 0x1401be920
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x28]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x40]
mov byte [rdx], 1
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.1401b07a6
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 0x10
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14002fe92
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x61], al
mov al, byte [rbp - 0x61]
mov byte [rbp - 0x59], al
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
mov dl, byte [rbp - 0x59]
mov byte [rbp - 0x62], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401b0781
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x94
xor cl, 0x94
cmp al, cl
jne 0x1401be968
mov al, byte [rbp - 0x62]
mov rcx, qword [rbp - 0x20]
mov byte [rcx], al
cmp al, 0
je 0x1401bea7a
sub rsp, 0x20
call fcn.1401b4ca1
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp word [rax + 0x12], 1
jle 0x1401bea7a
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x1401bea7a
mov rax, qword [rbp - 0x20]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401b4cb3
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14008f410
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x2f
xor cl, 0x2f
cmp al, cl
jne 0x1401bea7a
mov eax, dword [0x1401e0e10]
xor eax, dword [0x1401e0e14]
mov ecx, 0x2cc77d6b
xor ecx, 0xddc9fe11
xor eax, ecx
add eax, 0x3bad1d35
mov ecx, 0x99646492
xor edx, edx
div ecx
cmp eax, 0xb1d70fbf
je 0x1401bea92
mov eax, dword [0x1401e0e18]
mov r8d, dword [0x1401e0e1c]
mov edx, 0x7fa4a2e8
xor edx, 0x805b5d17
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
and ecx, ecx
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0xfa2726e4
xor eax, 0xcffefcc6
xor ecx, ecx
sub ecx, 0xe99b3b70
sub eax, ecx
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.1401b4ce8
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0x8ab6b3ed
jae 0x1401bea05
jmp 0x1401bea7a
lea rsp, [rbp + 0x30]
pop rbp
ret
cmp ecx, dword ds:[rsi - 0x56c1664]
invalid
sar byte [0x13dc3d3bb], 0xff
call qword [rsi - 0x16926482]
push 0xffffffffffffffff
invalid
xchg esi, eax
jle 0x1401bea30
insd dword [rdi], dx
jmp 0x1401bea05