Function at 0x1400cfa4c
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xf8
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rcx
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
call fcn.14000a414
mov rdx, qword [rsp + 0xd0]
add rax, 0x60
mov qword [rsp + 0xd8], rax
mov rax, qword [rdx]
mov qword [rsp + 0xe0], rax
movabs rcx, 0xac3dcdaa283d8076
movabs rdx, 0xac3dcdaa283d8076
xor rcx, rdx
cmp rax, rcx
jge 0x1400cfaf8
mov rcx, qword [rsp + 0xe0]
movabs rdx, 0x46332ff82fef1f4d
movabs rax, 0x46332ff82fef1f4d
xor rdx, rax
movabs r8, 0xe73959fb9cbb9865
movabs rax, 0x98c6a6046344679a
xor r8, rax
call fcn.140010917
jmp 0x1400d0246
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xc0]
call fcn.140021f70
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax]
mov qword [rsp + 0xb8], rax
cmp rax, 0
jle 0x1400d0246
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xd0]
add rcx, 8
mov qword [rsp + 0x98], rcx
add rax, 8
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0xe8]
add rax, 8
mov qword [rsp + 0xa8], rax
xor eax, eax
mov qword [rsp + 0xb0], rax
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x88], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x90], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400cfbc7
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffff
call fcn.140019d55
jmp 0x1400d0246
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0x7f], al
add al, 0xdf
movzx ecx, al
mov qword [rsp + 0x80], rcx
sub al, 0x5d
ja case.0x1400cfc0d.1
mov rax, qword [rsp + 0x80]
lea rcx, [0x1400d0258]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rcx, qword [rsp + 0xc0]
movabs rdx, 0x47785170733aa3b2
movabs rax, 0x47785170733aa3b3
xor rdx, rax
call fcn.140022539
mov rcx, qword [rsp + 0xa0]
mov r8b, byte [rsp + 0x7f]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rdx, qword [rax]
movabs rcx, 0x9a16591354289bd5
movabs rax, 0x9a16591354289bd5
xor rcx, rax
sub rcx, rdx
movabs rax, 0x19b05e62439bae16
movabs r8, 0x19b05e62439bae16
xor rax, r8
movabs r8, 0xf7f37df79444c802
movabs r9, 0xf7f37df79444c803
xor r8, r9
sub rax, r8
add rcx, rax
movabs rax, 0x275b08d8a3b28883
movabs r8, 0x275b08d8a3b28883
xor rax, r8
sub rax, rcx
mov qword [rsp + 0x70], rax
movabs rcx, 0x8f33761384e965dc
movabs r8, 0x70cc89ec7b169a23
xor rcx, r8
xor rdx, rcx
movabs r8, 0xf5bd6274ada50363
movabs rcx, 0xf5bd6274ada50362
xor r8, rcx
mov rcx, rax
add rcx, r8
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
movabs rcx, 0xa9bd9b2a67e9bb48
movabs rdx, 0xa9bd9b2a67e9bb48
xor rcx, rdx
cmp rax, rcx
jge 0x1400cfd2e
call fcn.14000a590
jmp 0x1400d01b5
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xc0]
mov qword [rdx], rcx
mov rax, qword [rax]
mov dl, 0xea
xor dl, 0xea
mov byte [rax + rcx + 8], dl
jmp 0x1400d01b5
mov rcx, qword [rsp + 0xc0]
movabs rdx, 0x1bb3e9a676df1165
movabs rax, 0x1bb3e9a676df1164
xor rdx, rax
call fcn.140022539
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov r8b, 0x15
xor r8b, 0x30
mov byte [rcx + rdx + 8], r8b
mov rdx, qword [rax]
movabs rcx, 0xa34e7f2dde90f71c
movabs rax, 0xa34e7f2dde90f71d
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0x68], rax
mov r8, rdx
xor r8, 0xffffffffffffffff
movabs rcx, 0x37181f552c1a2065
movabs r9, 0xc8e7e0aad3e5df9a
xor rcx, r9
and rcx, r8
movabs r8, 0x3ac1ab7fde246141
movabs r9, 0xc53e548021db9ebe
xor r8, r9
movabs r9, 0x9474f7d451c6bd66
movabs r10, 0x6b8b082bae394299
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
and rax, rcx
movabs rcx, 0x6435fbd41524eab4
movabs rdx, 0x6435fbd41524eab4
xor rcx, rdx
cmp rax, rcx
jge 0x1400cfe47
call fcn.14000a590
jmp 0x1400cfe6b
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xc0]
mov qword [rdx], rcx
mov rax, qword [rax]
mov dl, 0xc8
xor dl, 0xc8
mov byte [rax + rcx + 8], dl
mov al, byte [rsp + 0x7f]
movzx eax, al
mov edx, eax
movabs r8, 0x2ee629fb039f7987
movabs rax, 0x2ee629fb039f7985
xor r8, rax
lea rcx, [rsp + 0xe8]
call fcn.14003b66d
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x58], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x60], rcx
mov al, byte [rax]
mov cl, 0xed
xor cl, 0xed
cmp al, cl
jne 0x1400d0246
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xc0]
call fcn.140022539
mov rax, qword [rsp + 0x58]
movabs rcx, 0xbae4f7bc6e66dd4b
movabs rdx, 0xbae4f7bc6e66dd4b
xor rcx, rdx
cmp rax, rcx
jle 0x1400d0137
mov r9, qword [rsp + 0x58]
movabs rcx, 0x522b961540c76b9
movabs rax, 0x522b961540c76b8
xor rcx, rax
mov rax, r9
add rax, rcx
mov qword [rsp + 0x50], rax
movabs rcx, 0xd04dbc1ab27e3abc
movabs rdx, 0x2fb243e54d81c543
xor rcx, rdx
mov rdx, r9
xor rdx, rcx
movabs rcx, 0x81dcc121fff114cb
and rdx, rcx
mov r8, 0xffffffffffffffff
movabs rcx, 0x81dcc121fff114cb
xor r8, rcx
and r9, r8
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r10, 0xe6a1a4b3d91d0fee
movabs r11, 0x677d659226ec1b25
xor r10, r11
and rcx, r10
and r8, 0xffffffffffffffff
or rdx, r9
or rcx, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs r8, 0x6b945ed68ac261fa
movabs r9, 0x946ba129753d9e05
xor r8, r9
xor rcx, r8
or rax, rdx
and rax, rcx
movabs rcx, 0x447b1f1881035462
movabs rdx, 0x447b1f1881035462
xor rcx, rdx
cmp rax, rcx
jge 0x1400cffed
call fcn.14000a590
jmp 0x1400d0137
mov rax, qword [rsp + 0x50]
cmp rax, 0
jge 0x1400d0019
mov rcx, qword [rsp + 0x50]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.140010917
jmp 0x1400d0137
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rsp + 0x38], rcx
add rax, 8
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0xfeda59465a2ada3a
movabs rax, 0xfeda59465a2ada3b
xor r8, rax
mov rax, rcx
add rax, r8
cmp rcx, rdx
mov qword [rsp + 0x48], rax
jne 0x1400d004d
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xc0]
mov r9, qword [rax]
xor eax, eax
sub rax, r9
xor ecx, ecx
sub rcx, rdx
add rax, rcx
xor ecx, ecx
sub rcx, rax
mov qword [rsp + 0x30], rcx
mov rax, rcx
or rax, rax
movabs r8, 0xae5cb660aab95ff0
movabs r10, 0x51a3499f5546a00f
xor r8, r10
xor rax, r8
mov r8, r9
xor r8, 0xffffffffffffffff
mov r10, r9
xor r10, 0xffffffffffffffff
and r8, r10
or rax, r8
xor rax, 0xffffffffffffffff
mov r8, rcx
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
or rax, r8
xor rax, 0xffffffffffffffff
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400d0122
call fcn.14000a590
jmp 0x1400d0146
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
jmp 0x1400d0146
mov rax, qword [rsp + 0x60]
cmp rax, 0
je 0x1400d01b5
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
movabs rdx, 0x4e3073311a298c1c
movabs rax, 0xe3073311a298c1c
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs rdx, 0x57eedba8c8353c33
movabs r8, 0xa811245737cac3cc
xor rdx, r8
xor rax, rdx
movabs rdx, 0x4000000000000000
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jne 0x1400d01b5
mov rcx, qword [rsp + 0x60]
call fcn.1400121d0
mov rdx, qword [rsp + 0x88]
mov rax, rdx
and rax, 1
shl rax, 1
movabs r8, 0xa9be0a5dd82d4db5
movabs rcx, 0xa9be0a5dd82d4db4
xor r8, rcx
mov rcx, rdx
xor rcx, r8
add rcx, rax
mov qword [rsp + 0x28], rcx
xor rdx, 0xffffffffffffffff
movabs rax, 0x884b399f781d8821
movabs r8, 0x77b4c66087e277de
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1400d0228
call fcn.14000a590
jmp 0x1400d0246
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0xb8]
cmp rax, rcx
mov qword [rsp + 0xb0], rax
jl 0x1400cfb70
mov rax, qword [rsp + 0xc8]
add rsp, 0xf8
ret