Function at 0x14003c1d4
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x890
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x58], r9
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x40], rcx
mov eax, 0x10
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x38]
add rsp, 0x20
add rax, 0x60
mov qword [rbp - 0x30], rax
mov rcx, qword [rcx]
movabs rdx, 0xba3bcd37e7a68523
movabs rax, 0x62768e60cad69f25
xor rdx, rax
mov rax, rcx
add rax, rdx
sub rax, r8
movabs rdx, 0x7a6092ecbfe685a5
movabs r9, 0xa22dd1bb92969fa3
xor rdx, r9
sub rax, rdx
mov qword [rbp - 0x28], rax
mov r9, rax
xor r9, rcx
movabs rdx, 0x8f08cc9f17c89e82
movabs r10, 0x70f73360e837617d
xor rdx, r10
xor r9, rdx
mov rdx, rcx
and rdx, r9
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl cl
xor rax, r8
cmp rax, 0xffffffffffffffff
setg dl
mov r8b, 1
xor r8b, 0
mov al, cl
xor al, r8b
mov r9b, 1
xor r9b, 0
mov r8b, dl
xor r8b, r9b
or al, r8b
mov r8b, 1
xor r8b, 0
xor cl, r8b
xor r8d, r8d
xor r8b, 1
xor dl, r8b
or cl, dl
xor al, 0xff
xor cl, 0xff
or al, cl
test al, 1
jne 0x14003c2f9
jmp 0x14003c311
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x60], rax
jmp 0x14003c4ce
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x50]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rcx
cmp rax, rcx
setl cl
mov al, cl
and al, 1
neg al
movsx rax, al
mov qword [rbp - 0x68], rax
mov rax, 0xffffffffffffffff
test cl, 1
mov qword [rbp - 0x60], rax
jne 0x14003c4ce
mov rax, qword [rbp - 0x70]
cmp rax, 1
jne 0x14003c396
mov r9, qword [rbp - 0x58]
mov r8, qword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x50]
mov rcx, qword [rcx + 8]
mov dl, byte [rcx + 8]
mov rcx, qword [rax]
mov qword [rbp - 0x10], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 8], rax
lea rcx, [rbp - 0x10]
sub rsp, 0x20
call fcn.14003a195
add rsp, 0x20
mov qword [rbp - 0x60], rax
jmp 0x14003c4ce
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x78]
xorps xmm0, xmm0
movaps xmmword [rbp + rax], xmm0
movabs rcx, 0x64611747699339d0
movabs rdx, 0x64611747699339d0
xor rcx, rdx
sub rcx, rax
xor eax, eax
sub rax, 0x10
add rcx, rax
movabs rax, 0x35bf971989fa1590
movabs rdx, 0x35bf971989fa1590
xor rax, rdx
sub rax, rcx
movabs rcx, 0x6b1e503817f483de
movabs rdx, 0x6b1e503817f48bde
xor rcx, rdx
cmp rax, rcx
mov qword [rbp - 0x78], rax
jne 0x14003c3b2
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
mov qword [rbp + 0x800], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x808], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rcx, rbp
lea rdx, [rbp + 0x800]
sub rsp, 0x20
call fcn.14003bf11
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xde
xor dl, 0xde
cmp cl, dl
mov qword [rbp - 0x60], rax
jne 0x14003c4ce
mov rax, qword [rbp - 0x58]
mov r9, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x40]
mov r10, qword [r8]
mov qword [rdx], r10
mov r8, qword [r8 + 8]
mov qword [rdx + 8], r8
mov r8, qword [rcx]
mov qword [rbp - 0x20], r8
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x18], rcx
mov rcx, rbp
lea r8, [rbp - 0x20]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14003b6bd
add rsp, 0x30
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
lea rsp, [rbp + 0x810]
pop rbp
ret