Function at 0x14000cadf
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov qword [rsp + 0x78], r9
mov dword [rsp + 0x5c], r8d
mov qword [rsp + 0x70], rdx
mov rbp, rcx
mov ecx, 0xc8
call fcn.140015329
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
add rbp, 0xb44
mov qword [rsp + 0x68], rbp
xor eax, eax
lea rcx, [rsp + 0x4c]
mov byte [rcx - 4], al
mov dword [rcx], 0x5d845e12
mov dword [rcx + 4], 0x4c905036
mov dword [rcx + 8], 0x2991141d
cmp byte [rcx - 4], al
jne 0x14000ccc1
mov eax, 1
xor r15d, r15d
mov r11d, 0xffffffff
mov r12d, 0xa91821a4
mov r13d, 0x211b4129
mov r10d, 0xdee4bed6
mov edi, dword [rsp + rax*4 + 0x48]
mov esi, edi
xor esi, r11d
mov ebx, edi
mov ecx, 0x5c0d0016
and ebx, ecx
mov edx, esi
and edx, 0xc5c460
and edi, 0xff3a3b9f
or edi, edx
xor edi, 0x5cc8c476
or edi, esi
and esi, 0xa3f2ffe9
or esi, ebx
mov edx, esi
xor edx, ecx
and edx, esi
mov r9d, edi
xor r9d, r11d
mov ebx, edx
mov esi, edx
xor esi, 0xed3b0c4a
and esi, edx
mov ebp, edx
xor ebp, r11d
mov edx, ebp
mov ecx, 0xaa94021d
and edx, ecx
and ebx, 0x556bfde2
or ebx, edx
mov r8d, ebx
xor ebx, ecx
mov edx, ebx
or edx, 0x12c4f3b5
mov ecx, edx
mov r14d, 0xecf35fee
and ecx, r14d
and ebp, 0x1080000
or ebp, ecx
mov ecx, esi
xor ecx, r11d
or edx, ecx
and ecx, r14d
and esi, 0x130ca011
or esi, ecx
mov ecx, r9d
or ecx, 0x2442014
xor esi, ebp
mov ebp, edi
or ebp, 0x6d000400
xor edx, r11d
or edx, esi
mov r14d, 0x6f442414
and ecx, r14d
mov esi, edi
and esi, 0x803b084a
or esi, ecx
and ebp, r14d
mov r14d, r9d
and r14d, 0x1080d3a1
or r14d, ebp
xor r14d, esi
mov ecx, edx
xor ecx, r11d
mov esi, 0x56e7de5b
and ecx, esi
and edx, r12d
or edx, ecx
mov ecx, r14d
xor ecx, r11d
and ecx, esi
and r14d, r12d
or r14d, ecx
xor r8d, 0x5460bcc2
xor r14d, edx
mov ecx, ebx
and ecx, r13d
and r8d, r10d
or r8d, ecx
or ebx, r9d
and r9d, r13d
and edi, r10d
or edi, r9d
xor edi, r8d
xor ebx, r11d
or ebx, edi
xor ebx, r11d
mov ecx, r14d
and ecx, ebx
xor ebx, r14d
or ebx, ecx
mov ecx, ebx
xor ecx, r11d
and ecx, 0x8a10cea8
and ebx, 0x75ef3157
or ebx, ecx
mov dword [rsp + rax*4 + 0x48], ebx
inc r15
inc rax
cmp rax, 4
jne 0x14000cb75
movabs r14, 0x21dd658801222983
movabs r12, 0x1a294528e250a1c5
movabs r13, 0x13cc7f074b158447
mov r8, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
lea rdx, [rsp + 0x4c]
call fcn.14001aa39
xor ecx, ecx
mov edx, 2
mov r8d, 0x6e0c8ed2
mov r9d, 0xd6
call fcn.14001939f
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x20], rcx
mov rcx, 0xffffffff80000001
mov rdx, rdi
xor r8d, r8d
mov r9d, 2
call rax
mov dword [rsp + 0x58], eax
mov rcx, rdi
call fcn.14001519e
mov eax, 0xafed27ec
mov dword [rsp + 0x40], ecx
mov r15d, 0xffffffff
cmp eax, 0xf3e887c2
jle 0x14000ce30
cmp eax, 0x1af7cbd1
jg 0x14000d04d
cmp eax, 0xf3e887c3
je 0x14000d0aa
cmp eax, 0xffe50378
je 0x14000d0d8
cmp eax, 0xcf23c22
jne 0x14000cd48
mov rdi, qword [rsp + 0x38]
xor ecx, ecx
mov edx, 2
mov r8d, 0x96bc22d6
mov r9d, 0xe0
call fcn.14001939f
mov rcx, rdi
call rax
mov ebp, dword [rsp + 0x40]
mov r8d, ebp
mov r10b, 0xff
xor r8b, r10b
mov edx, r8d
mov r11b, 0x20
and dl, r11b
mov eax, ebp
and al, 3
or al, dl
xor al, r11b
mov ebx, ebp
xor bl, 0x23
mov edx, ebx
and dl, bpl
or al, 0xdc
mov ecx, edx
xor cl, r10b
mov r9d, eax
mov dil, 0xb
and r9b, dil
and bl, r11b
or bl, r9b
or al, cl
and cl, dil
and dl, 0xf4
or dl, cl
xor dl, bl
xor al, r10b
or al, dl
mov ecx, eax
xor cl, r10b
and cl, 0xdd
and al, 0x22
or al, cl
xor al, r10b
and r8b, 0xe8
mov ecx, ebp
mov dl, 0x17
and cl, dl
or cl, r8b
xor cl, dl
mov edx, eax
and dl, cl
xor cl, al
or cl, dl
mov eax, ecx
xor al, r10b
and al, 0xc1
mov dl, 0x3e
and cl, dl
or cl, al
xor cl, dl
setne dil
mov eax, 0x1af7cbd2
jmp 0x14000cd48
cmp eax, 0xb98176de
jle 0x14000d073
cmp eax, 0xb98176df
je 0x14000d09e
cmp eax, 0xc09c2fc5
je 0x14000d134
cmp eax, 0xc95a768b
jne 0x14000cd48
mov qword [rsp + 0x80], rdi
xor eax, eax
mov byte [rsp + 0x48], al
mov dword [rsp + 0x4c], 0x3569cd3b
mov dword [rsp + 0x50], 0x247dc31f
mov dword [rsp + 0x54], 0x410fa268
cmp byte [rsp + 0x48], al
movabs r9, 0x98bacfa33fd19b0c
movabs rsi, 0x837dd9d63cdaf79d
mov ebx, 0x93c3de65
mov r10d, 0x70c72605
jne 0x14000cff8
mov eax, 1
xor ecx, ecx
mov ebp, dword [rsp + rax*4 + 0x48]
mov edi, ebp
xor edi, r15d
mov edx, ebp
xor edx, ebx
and edx, ebp
mov r11, r9
mov r9d, 0x93c3de65
mov r8, r13
mov r13, r12
mov r12, r14
mov r14, rsi
mov esi, edi
and esi, edx
mov ebx, edi
xor ebx, edx
or ebx, esi
xor edx, r15d
and edx, 0x6c3c219a
and ebx, r9d
or ebx, edx
mov esi, ebx
xor esi, r15d
and ebx, 0xf15e20c6
mov r9d, 0xea1df39
and esi, r9d
or esi, ebx
mov edx, esi
xor edx, 0xb05182ae
xor esi, r9d
and esi, edx
mov edx, edi
and edx, 0x410fa268
and ebp, 0xbef05d97
or ebp, edx
xor edi, ebp
and edi, ebp
mov ebp, esi
xor ebp, r15d
mov edx, edi
xor edx, r15d
and edi, ebp
or ebp, edx
and edx, esi
movabs rsi, 0x1951f79ce97e56e4
mov r9, r11
mov r11d, 0x8f38d9fa
mov ebx, ebp
xor ebx, r15d
or edx, edi
mov edi, ebp
and edi, r11d
and ebx, r10d
or ebx, edi
mov edi, edx
xor edi, r15d
or ebp, edi
and edi, r11d
and edx, r10d
or edx, edi
movabs rdi, 0x72b87388bbcdc3f
xor edx, ebx
xor ebp, r15d
or ebp, edx
mov dword [rsp + rax*4 + 0x48], ebp
add rcx, r9
sub rcx, rsi
sub rcx, r9
add rcx, rdi
movabs rdx, 0x5a2a917d9288dfd4
sub rcx, rdx
add rcx, rsi
mov rsi, r14
add rcx, rdx
movabs rdx, 0x587f66224b4d1074
add rcx, rdx
movabs rbp, 0xe6c59ed389961fa6
add rcx, rbp
sub rcx, rdx
add rcx, r14
sub rcx, rbp
sub rcx, r14
add rcx, r12
add rcx, r13
mov r14, r12
sub rcx, r12
sub rcx, rdi
add rcx, r8
mov r12, r13
sub rcx, r13
mov r13, r8
sub rcx, r8
mov ebx, 0x93c3de65
inc rcx
inc rax
cmp rax, 4
jne 0x14000ceb2
xor ecx, ecx
mov edx, 2
mov r8d, 0x6e0c8ed2
mov r9d, 0xd6
call fcn.14001939f
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x20], rcx
mov rcx, 0xffffffff80000001
lea rdx, [rsp + 0x4c]
xor r8d, r8d
mov r9d, 4
call rax
test eax, eax
mov eax, 0xb98176df
mov ecx, 0x7daacf26
cmove eax, ecx
mov rdi, qword [rsp + 0x80]
jmp 0x14000cd48
cmp eax, 0x36555dc6
je 0x14000d146
cmp eax, 0x7daacf26
je 0x14000d152
cmp eax, 0x1af7cbd2
jne 0x14000cd48
jmp 0x14000d195
cmp eax, 0x82431417
je 0x14000d09e
cmp eax, 0xafed27ec
jne 0x14000cd48
mov eax, dword [rsp + 0x58]
cmp eax, 2
mov eax, 0x36555dc6
mov ecx, 0xc95a768b
cmove eax, ecx
jmp 0x14000cd48
mov eax, 0x1af7cbd2
xor edi, edi
jmp 0x14000cd48
mov rbx, qword [rsp + 0x38]
xor edi, edi
xor ecx, ecx
mov edx, 2
mov r8d, 0x96bc22d6
mov r9d, 0xe0
call fcn.14001939f
mov rcx, rbx
call rax
mov eax, 0x1af7cbd2
jmp 0x14000cd48
mov rbx, qword [rsp + 0x38]
xor ecx, ecx
mov edx, 2
mov r8d, 0xd31a9c34
mov r9d, 0xe3
call fcn.14001939f
mov ecx, dword [rsp + 0x5c]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rdx, qword [rsp + 0x78]
xor r8d, r8d
mov r9d, 3
call rax
test eax, eax
mov eax, 0xc09c2fc5
mov ecx, 0xcf23c22
cmove eax, ecx
mov cl, 1
mov dword [rsp + 0x40], ecx
jmp 0x14000cd48
mov eax, 0xcf23c22
mov dword [rsp + 0x40], 0
jmp 0x14000cd48
cmp dword [rsp + 0x58], 0
mov eax, 0x82431417
jmp 0x14000d188
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x68]
xor ecx, ecx
mov edx, 2
mov r8d, 0x6a44d3e0
mov r9d, 0xf4
call fcn.14001939f
mov rcx, rbp
mov rdx, rbx
lea r8, [rsp + 0x38]
call rax
test eax, eax
mov eax, 0xf3e887c3
mov ecx, 0xffe50378
cmove eax, ecx
jmp 0x14000cd48
mov rax, qword [rsp + 0x60]
and dil, 1
mov eax, edi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret