Function at 0x14000d430
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf8
mov rax, qword [0x140045100]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov rdi, qword [rsp + 0x160]
xor ebp, ebp
movsxd rsi, edx
mov r13d, r9d
mov r12, r8
mov r15, rcx
mov ebx, esi
cmp esi, 0x60
jl 0x14000d8e1
lea rcx, [rsi - 0x20]
sub ebx, 0x60
call fcn.140025894
mov r14, rax
test rax, rax
je 0x14000d8e1
xor edx, edx
lea ecx, [rbp + 0x14]
call fcn.14000fc40
xor ecx, ecx
mov dword [rax + 0x2d8], 0x10
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x30], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x38], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x70], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x78], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x50], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x40], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x48], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x58], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x60], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.140010b30
mov r8, rax
mov qword [rsp + 0x68], rax
mov rdx, r12
mov ecx, r13d
call fcn.140012370
mov rdx, qword [0x140045010]
mov rcx, qword [rsp + 0x50]
call fcn.140014650
mov rdx, qword [str.FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC]
mov rcx, qword [rsp + 0x40]
call fcn.140014650
mov rdx, qword [str.28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93]
mov rcx, qword [rsp + 0x48]
call fcn.140014650
mov rdx, qword [str.FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123]
mov rcx, qword [rsp + 0x58]
call fcn.140014650
mov r13, qword [rsp + 0x60]
mov rdx, qword [str.32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7]
mov rcx, r13
call fcn.140014650
mov rdx, qword [str.BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0]
mov rcx, qword [rsp + 0x20]
call fcn.140014650
mov r8, qword [rsp + 0x50]
xor r9d, r9d
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
call fcn.1400152b0
call fcn.14000f040
mov r8, r13
lea ecx, [rbp + 0x20]
mov rdx, r15
mov r12, rax
call fcn.140012370
mov r8, qword [rsp + 0x20]
lea rdx, [r15 + 0x20]
lea ecx, [rbp + 0x20]
call fcn.140012370
mov rdx, qword [rsp + 0x20]
mov r9, r12
xor r8d, r8d
mov rcx, r13
call fcn.140019aa0
test eax, eax
je 0x14000d857
mov rcx, r12
call fcn.140011630
test eax, eax
jne 0x14000d857
mov rcx, qword [rsp + 0x68]
mov r8, r12
mov rdx, r12
call fcn.140017740
mov r13, qword [rsp + 0x30]
mov rcx, r12
mov r8, qword [rsp + 0x38]
mov rdx, r13
call fcn.140019690
lea r9d, [rbp + 1]
mov rdx, r13
lea r8, [rsp + 0x80]
lea ecx, [rbp + 0x20]
call fcn.140011fe0
mov rdx, qword [rsp + 0x38]
lea r9d, [rbp + 1]
lea r8, [rsp + 0xa0]
lea ecx, [rbp + 0x20]
call fcn.140011fe0
mov r9, rdi
lea rdx, [rsp + 0xa0]
mov r8d, ebx
lea rcx, [rsp + 0x80]
call fcn.14000d0e0
test eax, eax
je 0x14000d85c
mov edx, ebp
test ebx, ebx
jle 0x14000d7a7
cmp ebx, 8
jb 0x14000d7a7
lea eax, [rsi - 1]
movsxd rcx, eax
lea r8, [rdi - 0x61]
add rcx, r15
lea r9, [r15 + 0x60]
add r8, rsi
cmp rdi, rcx
ja 0x14000d6b4
cmp r8, r9
jae 0x14000d7a7
cmp ebx, 0x40
jb 0x14000d75e
mov ecx, ebx
and ecx, 0x8000003f
jge 0x14000d6ce
dec ecx
or ecx, 0xffffffc0
inc ecx
mov eax, ebx
sub eax, ecx
mov r8, r15
movsxd r10, eax
sub r8, rdi
lea rax, [rdi + 0x10]
mov r9, 0xfffffffffffffff0
sub r9, rdi
nop dword [rax]
movdqu xmm0, xmmword [rax - 0x10]
add edx, 0x40
movdqu xmm1, xmmword [r8 + rax + 0x50]
movdqu xmm2, xmmword [r8 + rax + 0x60]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
lea rcx, [r9 + rax]
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [r8 + rax + 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [r8 + rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp rcx, r10
jl 0x14000d6f0
mov eax, ebx
and al, 0x3f
cmp al, 8
jb 0x14000d7a7
jmp 0x14000d764
mov r8, r15
sub r8, rdi
mov eax, ebx
and eax, 0x80000007
jge 0x14000d774
dec eax
or eax, 0xfffffff8
inc eax
mov ecx, ebx
sub ecx, eax
movsxd rax, edx
movsxd r9, ecx
lea rcx, [rax + rdi]
movq xmm0, qword [rcx]
add edx, 8
movq xmm1, qword [rcx + r8 + 0x60]
pxor xmm1, xmm0
movq qword [rcx], xmm1
add rcx, 8
mov rax, rcx
sub rax, rdi
cmp rax, r9
jl 0x14000d782
movsxd r9, edx
sub rsi, 0x60
cmp r9, rsi
jge 0x14000d7e2
mov r8, r15
lea rcx, [r9 + rdi]
sub r8, rdi
mov rdx, rsi
sub rdx, r9
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rcx + 0x60]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14000d7d0
movups xmm0, xmmword [rsp + 0x80]
lea rcx, [r14 + 0x20]
mov r8, rsi
mov rdx, rdi
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsp + 0x90]
movups xmmword [r14 + 0x10], xmm1
call fcn.140033790
movups xmm0, xmmword [rsp + 0xa0]
lea r8, [rsp + 0xc0]
mov rcx, r14
lea edx, [rbx + 0x40]
movups xmmword [rsi + r14 + 0x20], xmm0
movups xmm1, xmmword [rsp + 0xb0]
movups xmmword [rsi + r14 + 0x30], xmm1
call fcn.14000c750
lea rdx, [r15 + 0x40]
mov r8d, 0x20
lea rcx, [rsp + 0xc0]
call fcn.140033690
test eax, eax
cmove ebp, ebx
jmp 0x14000d85c
mov r13, qword [rsp + 0x30]
mov rcx, r13
call fcn.14000fbf0
mov rcx, qword [rsp + 0x38]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x70]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x78]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x50]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x40]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x48]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x58]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x60]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x20]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x68]
call fcn.14000fbf0
mov rcx, r12
call fcn.14000ef70
call fcn.14000f900
mov rcx, r14
call fcn.140025880
mov eax, ebp
jmp 0x14000d8e3
xor eax, eax
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.14001af60
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret