Function at 0x140077088
Capabilities:
Encode data using xor

Disassembly:
test edx, edx
je 0x140077480
push rbp
push r15
lea rbp, [rsp - 0x4f]
mov eax, 0xd8
call fcn.1400cc090
sub rsp, rax
movaps xmmword [rsp + 0xa0], xmm6
mov rax, qword [0x140175060]
xor rax, rsp
mov qword [rbp + 7], rax
cmp dword [0x140178650], 0
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0xd0], rsi
movaps xmm6, xmm2
mov qword [rsp + 0xc8], rdi
mov r15d, edx
mov qword [rbp - 0x59], rcx
je 0x14007713b
lea rcx, [rbp - 0x21]
call fcn.14004bca0
mov edx, 0x13
lea r8, [0x14015f330]
lea ecx, [rdx - 0xe]
mov r9d, 0xdf
call fcn.14004bf50
lea rdx, [rbp - 0x21]
lea rcx, [0x140178a90]
call fcn.14004bc70
xor edi, edi
lea r8, [0x14015f348]
test eax, eax
mov ebx, edi
lea edx, [rdi + 0x13]
sete bl
lea ecx, [rdi + 6]
mov r9d, 0xe1
mov dword [rbp - 0x69], ebx
call fcn.14004bf50
test ebx, ebx
jne 0x14007715c
jmp 0x140077142
xor edi, edi
mov ebx, edi
mov dword [rbp - 0x69], ebx
mov edx, 0x12
lea r8, [0x14015f360]
mov r9d, 0xe6
lea ecx, [rdx - 9]
call fcn.14004bf50
movsxd rcx, dword [0x140178638]
mov eax, dword [0x140178640]
movups xmm0, xmmword [0x140178a78]
mov r8d, dword [0x140178644]
mov dword [rbp - 0x61], eax
mov eax, dword [0x140178a88]
movups xmmword [rbp - 0x11], xmm0
mov rsi, rcx
add ecx, r15d
mov dword [rbp - 1], eax
mov dword [rbp - 0x5d], r8d
mov dword [0x140178638], ecx
cmp ecx, 0x3ff
jl 0x1400771cc
mov eax, 0x7fdff7fd
mov dword [0x140178634], 0x3ff
imul ecx
sub edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3ff
add ecx, eax
mov dword [0x140178638], ecx
jmp 0x1400771e4
mov eax, dword [0x140178634]
cmp eax, 0x3ff
jge 0x1400771e4
cmp ecx, eax
cmovg eax, ecx
mov dword [0x140178634], eax
mov eax, 0x66666667
mov ecx, r15d
imul r15d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
sub ecx, eax
mov eax, edi
test ecx, ecx
setg al
add eax, edx
add r8d, eax
mov dword [0x140178644], r8d
test ebx, ebx
jne 0x140077230
lea r8, [0x14015f378]
lea edx, [rbx + 0x12]
lea ecx, [rbx + 0xa]
mov r9d, 0x106
call fcn.14004bf50
lea rcx, [rbp - 0x51]
call fcn.140080380
test r15d, r15d
jle 0x1400773a3
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xb8], r13
lea ecx, [r15 - 1]
mov eax, 0xcccccccd
mov qword [rsp + 0xb0], r14
mov rbx, rsi
mov r12d, 0x14
mul ecx
shr edx, 4
lea r13d, [rdx + 1]
nop word [rax + rax]
mov r14d, r15d
cmp r15d, 0x14
cmovg r14d, r12d
call fcn.140058b80
lea rcx, [rbp - 0x51]
mov rdx, rax
xor r8d, r8d
call fcn.14007fdc0
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 0x51]
mov r8, r12
call fcn.140080020
lea r12d, [rsi - 0x3ff]
movsxd rdx, esi
add r12d, r14d
lea rcx, [rbp - 0x51]
test r12d, r12d
jle 0x1400772ed
mov eax, r14d
sub eax, r12d
movsxd r8, eax
lea rax, [0x140178660]
add rdx, rax
call fcn.140080020
movsxd r8, r12d
lea rdx, [0x140178660]
lea rcx, [rbp - 0x51]
jmp 0x1400772fa
lea rax, [0x140178660]
movsxd r8, r14d
add rdx, rax
call fcn.140080020
mov r12, qword [rbp - 0x59]
movsxd r14, r14d
lea rcx, [rbp - 0x51]
mov r8, r14
mov rdx, r12
call fcn.140080020
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x51]
mov r8d, 8
call fcn.140080020
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 0x51]
xor r8d, r8d
call fcn.14007fd20
inc dword [rbp - 0x5d]
add r12, r14
mov qword [rbp - 0x59], r12
mov rcx, rdi
test r14, r14
jle 0x140077375
lea rdx, [0x140178660]
movzx eax, byte [rbp + rcx - 0x11]
inc rbx
inc esi
xor byte [rbx + rdx - 1], al
cmp rbx, 0x3ff
jl 0x14007736d
mov esi, edi
mov rbx, rdi
inc rcx
cmp rcx, r14
jl 0x140077351
sub r15d, 0x14
mov r12d, 0x14
dec r13
jne 0x140077280
mov ebx, dword [rbp - 0x69]
mov r14, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xc0]
lea rcx, [rbp - 0x51]
call fcn.140080040
mov rsi, qword [rsp + 0xd0]
test ebx, ebx
jne 0x1400773d0
lea r8, [0x14015f390]
lea edx, [rbx + 0x12]
lea ecx, [rbx + 9]
mov r9d, 0x137
call fcn.14004bf50
movdqu xmm1, xmmword [0x140178a78]
movdqu xmm0, xmmword [rbp - 0x11]
mov ecx, 4
lea rdx, [0x140178a78]
pxor xmm1, xmm0
movdqu xmmword [0x140178a78], xmm1
nop word [rax + rax]
movzx eax, byte [rbp + rdi - 1]
lea rdi, [rdi + 1]
xor byte [rdi + rdx + 0xf], al
dec rcx
jne 0x140077400
movsd xmm0, qword [0x1400f9028]
movsd xmm1, qword [0x140178648]
mov rdi, qword [rsp + 0xc8]
comisd xmm0, xmm1
jbe 0x14007743c
addsd xmm1, xmm6
movsd qword [0x140178648], xmm1
test ebx, ebx
mov rbx, qword [rsp + 0x100]
jne 0x140077462
mov edx, 0x12
lea r8, [0x14015f3a8]
mov r9d, 0x144
lea ecx, [rdx - 8]
call fcn.14004bf50
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.1400cbcb0
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xd8
pop r15
pop rbp
ret