Function at 0x14000d910
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r13
push r14
sub rsp, 0x100
mov rax, qword [0x140045100]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x150]
movsxd r14, edx
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x78], r8
lea rcx, [r14 + 0x40]
mov qword [rsp + 0x80], rax
call fcn.140025894
mov r13, rax
test rax, rax
jne 0x14000d973
lea eax, [r13 - 1]
jmp 0x14000de88
mov qword [rsp + 0xf8], rbx
xor edx, edx
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0xe0], r12
lea ecx, [rdx + 0x14]
mov qword [rsp + 0xd8], r15
call fcn.14000fc40
xor ecx, ecx
mov dword [rax + 0x2d8], 0x10
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x60], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x50], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x58], rax
call fcn.140010b30
xor ecx, ecx
mov rsi, rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov r15, rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x28], rax
mov r12, rax
call fcn.140010b30
xor ecx, ecx
mov rdi, rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x70], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x40], rax
call fcn.140010b30
xor ecx, ecx
mov qword [rsp + 0x68], rax
mov rbx, rax
call fcn.140010b30
mov rdx, qword [0x140045010]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x48], rax
call fcn.140014650
mov rdx, qword [str.FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC]
mov rcx, qword [rsp + 0x50]
call fcn.140014650
mov rdx, qword [str.28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93]
mov rcx, qword [rsp + 0x58]
call fcn.140014650
mov rdx, qword [str.FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123]
mov rcx, rsi
call fcn.140014650
mov rdx, qword [str.32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7]
mov rcx, r15
call fcn.140014650
mov rdx, qword [str.BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0]
mov rcx, r12
call fcn.140014650
mov r8, qword [rsp + 0x60]
xor r9d, r9d
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.1400152b0
call fcn.14000f040
mov r12, rax
call fcn.14000f040
mov rdx, qword [rsp + 0x28]
mov r9, r12
mov rcx, qword [rsp + 0x20]
xor r8d, r8d
mov r15, rax
call fcn.140019aa0
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x30]
call fcn.140012370
mov r8, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x148]
call fcn.140012370
mov rdx, qword [rsp + 0x28]
mov r9, r15
mov rcx, qword [rsp + 0x20]
xor r8d, r8d
call fcn.140019aa0
xor ecx, ecx
call fcn.14002589c
lea ecx, [rax + 0x1bd8c95a]
call fcn.14000f560
jmp 0x14000db35
mov rbx, qword [rsp + 0x68]
mov rdx, rdi
mov rcx, rsi
call fcn.140015160
cmp dword [rdi], 0
je 0x14000db35
mov r8, r12
mov rdx, r12
mov rcx, rdi
call fcn.140017740
mov r8, qword [rsp + 0x48]
mov rdx, rbx
mov rcx, r12
call fcn.140019690
mov r9d, 1
mov r8, rbp
mov rdx, rbx
lea ecx, [r9 + 0x1f]
call fcn.140011fe0
mov rdx, qword [rsp + 0x48]
lea r8, [rbp + 0x20]
mov r9d, 1
lea ecx, [r9 + 0x1f]
call fcn.140011fe0
mov rcx, r15
call fcn.140011630
test eax, eax
jne 0x14000ddd2
mov r8, r15
mov rdx, r15
mov rcx, rdi
call fcn.140017740
mov r8, qword [rsp + 0x40]
mov rcx, r15
mov rdx, qword [rsp + 0x70]
call fcn.140019690
mov rdx, qword [rsp + 0x70]
lea r8, [rsp + 0x88]
mov r9d, 1
lea ecx, [r9 + 0x1f]
call fcn.140011fe0
mov rdx, qword [rsp + 0x40]
lea r8, [rsp + 0xa8]
mov r9d, 1
lea ecx, [r9 + 0x1f]
call fcn.140011fe0
lea rbx, [rbp + 0x60]
mov r8d, r14d
mov r9, rbx
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x88]
call fcn.14000d0e0
test eax, eax
je 0x14000db30
mov r11, qword [rsp + 0x38]
xor edx, edx
test r14d, r14d
jle 0x14000dd34
cmp r14d, 8
jb 0x14000dd34
lea eax, [r14 + 0x5f]
movsxd r8, eax
lea rcx, [r11 - 1]
add r8, rbp
add rcx, r14
cmp rbx, rcx
ja 0x14000dc58
cmp r8, r11
jae 0x14000dd34
mov r8, r11
mov r9, 0xffffffffffffffa0
sub r8, rbp
cmp r14d, 0x40
jb 0x14000dcef
mov eax, r14d
and eax, 0xffffffc0
mov rcx, r9
movsxd r10, eax
sub rcx, rbp
nop
movdqu xmm0, xmmword [rbx]
add edx, 0x40
movdqu xmm1, xmmword [r8 + rbx - 0x60]
lea rbx, [rbx + 0x40]
lea rax, [rcx + rbx]
pxor xmm1, xmm0
movdqu xmmword [rbx - 0x40], xmm1
movdqu xmm0, xmmword [rbx - 0x30]
movdqu xmm1, xmmword [r8 + rbx - 0x90]
pxor xmm1, xmm0
movdqu xmmword [rbx - 0x30], xmm1
movdqu xmm0, xmmword [rbx - 0x20]
movdqu xmm1, xmmword [r8 + rbx - 0x80]
pxor xmm1, xmm0
movdqu xmmword [rbx - 0x20], xmm1
movdqu xmm0, xmmword [rbx - 0x10]
movdqu xmm1, xmmword [r8 + rbx - 0x70]
pxor xmm1, xmm0
movdqu xmmword [rbx - 0x10], xmm1
cmp rax, r10
jl 0x14000dc80
mov eax, r14d
and al, 0x3f
cmp al, 8
jb 0x14000dd34
mov ecx, r14d
movsxd rax, edx
and ecx, 0xfffffff8
movsxd r10, ecx
lea rcx, [rbp + 0x60]
add rcx, rax
sub r9, rbp
nop word [rax + rax]
movq xmm0, qword [rcx]
add edx, 8
movq xmm1, qword [r8 + rcx - 0x60]
lea rcx, [rcx + 8]
pxor xmm1, xmm0
lea rax, [r9 + rcx]
movq qword [rcx - 8], xmm1
cmp rax, r10
jl 0x14000dd10
movsxd r10, edx
mov rbx, r14
cmp r10, r14
jge 0x14000dd72
lea rcx, [rbp + 0x60]
mov r9, r11
add rcx, r10
sub r9, rbp
mov r8, rbx
sub r8, r10
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r9 + rcx - 0x60]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x14000dd60
movups xmm0, xmmword [rsp + 0x88]
lea rcx, [r13 + 0x20]
mov r8, rbx
mov rdx, r11
movups xmmword [r13], xmm0
movups xmm1, xmmword [rsp + 0x98]
movups xmmword [r13 + 0x10], xmm1
call fcn.140033790
movups xmm0, xmmword [rsp + 0xa8]
lea r8, [rbp + 0x40]
mov rcx, r13
lea edx, [r14 + 0x40]
movups xmmword [r14 + r13 + 0x20], xmm0
movups xmm1, xmmword [rsp + 0xb8]
movups xmmword [r14 + r13 + 0x30], xmm1
call fcn.14000c750
mov rbx, qword [rsp + 0x68]
add r14d, 0x60
jmp 0x14000ddd8
mov r14d, 0xffffffff
mov rcx, qword [rsp + 0x70]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x40]
call fcn.14000fbf0
mov rcx, rbx
call fcn.14000fbf0
mov rcx, qword [rsp + 0x48]
call fcn.14000fbf0
mov rcx, rdi
call fcn.14000fbf0
mov rcx, qword [rsp + 0x50]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x58]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x60]
call fcn.14000fbf0
mov rcx, rsi
call fcn.14000fbf0
mov rcx, qword [rsp + 0x20]
call fcn.14000fbf0
mov rcx, qword [rsp + 0x28]
call fcn.14000fbf0
mov rcx, r12
call fcn.14000ef70
mov rcx, r15
call fcn.14000ef70
call fcn.14000f900
mov rcx, r13
call fcn.140025880
mov r15, qword [rsp + 0xd8]
mov eax, r14d
mov r12, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.14001af60
add rsp, 0x100
pop r14
pop r13
pop rbp
ret