Function at 0x1400792b6
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x338
mov r14, rcx
test r8, r8
je 0x14007938c
mov rsi, r8
mov rdi, rdx
movzx r15d, byte [rdx]
cmp r15d, 0x2b
je 0x1400792eb
cmp r15d, 0x2d
jne 0x1400792f7
dec rsi
je 0x140079417
inc rdi
cmp r15b, 0x2d
sete r9b
lea rbx, [rsp + 0x28]
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.140036ee0
mov cl, byte [rbx + 0x10]
cmp cl, 2
jne 0x140079397
cmp rsi, 3
jb 0x140079614
xor eax, eax
lea rcx, [0x14030d123]
xor edx, edx
mov bl, byte [rdx + rcx]
xor bl, byte [rdi + rdx]
lea rbp, [rdx + 1]
or al, bl
mov rdx, rbp
cmp rbp, 3
jne 0x14007932f
test al, 0xdf
je 0x1400795ea
xor eax, eax
lea rcx, [0x14030d126]
xor edx, edx
mov bl, byte [rdx + rcx]
xor bl, byte [rdi + rdx]
lea rbp, [rdx + 1]
or al, bl
mov rdx, rbp
cmp rbp, 3
jne 0x140079357
test al, 0xdf
jne 0x140079614
mov rcx, rdi
mov rdx, rsi
call fcn.1400372b0
movsd xmm0, qword [0x1402adc98]
jmp 0x1400795f7
mov word [r14], 1
jmp 0x1400796fa
mov r12, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
mov bpl, byte [rsp + 0x39]
lea rax, [r12 + 0x16]
cmp rax, 0x3b
ja 0x140079469
movabs r8, 0x20000000000000
cmp rbx, r8
ja 0x140079469
test bpl, bpl
jne 0x140079469
cmp r12, 0x16
jg 0x140079422
movq xmm1, rbx
punpckldq xmm1, xmmword [0x1402adc50]
subpd xmm1, xmmword [0x1402adc60]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
test r12, r12
js 0x140079623
and r12d, 0x1f
lea rax, [0x1402b35e8]
mulsd xmm0, qword [rax + r12*8]
jmp 0x140079637
mov word [r14], 0x101
jmp 0x1400796fa
lea rdx, [0x14030d130]
mov rax, rbx
mul qword [rdx + r12*8 - 0xb0]
jo 0x140079469
cmp rax, r8
ja 0x140079469
movq xmm1, rax
punpckldq xmm1, xmmword [0x1402adc50]
subpd xmm1, xmmword [0x1402adc60]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
mulsd xmm0, qword [0x1402adc70]
jmp 0x140079637
mov byte [rsp + 0x27], cl
mov rcx, r12
mov rdx, rbx
call fcn.140079134
mov r13, rax
mov r15d, edx
test bpl, bpl
je 0x1400794ab
test r15d, r15d
js 0x1400794ab
inc rbx
mov rcx, r12
mov rdx, rbx
call fcn.140079134
cmp r13, rax
setne al
cmp r15d, edx
setne cl
or cl, al
jne 0x1400794b4
jmp 0x1400796d5
test r15d, r15d
jns 0x1400796d5
lea rbx, [rsp + 0x28]
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.140036a60
xor r13d, r13d
cmp qword [rbx + 0x300], 0
je 0x140079647
mov eax, dword [rsp + 0x330]
mov r15d, 0
cmp eax, 0xfffffebc
jl 0x1400796d5
mov r15d, 0x7ff
xor r13d, r13d
cmp eax, 0x135
jg 0x1400796d5
test eax, eax
jle 0x14007954b
xor r13d, r13d
lea rbx, [0x14030d110]
lea rsi, [rsp + 0x28]
mov edi, 0x3c
cmp eax, 0x12
ja 0x140079527
mov eax, eax
movzx edi, byte [rax + rbx]
mov rcx, rsi
mov rdx, rdi
call fcn.140036840
mov eax, dword [rsp + 0x330]
cmp eax, 0xfffff801
jl 0x140079644
add r13d, edi
test eax, eax
jg 0x140079517
lea rsi, [rsp + 0x28]
lea rbx, [0x14030d110]
test eax, eax
je 0x14007956f
neg eax
mov edi, 0x3c
cmp eax, 0x12
ja 0x140079582
mov eax, eax
movzx edi, byte [rax + rbx]
jmp 0x140079582
mov al, byte [rsp + 0x28]
cmp al, 4
ja 0x1400795a6
cmp al, 2
mov edi, 0
adc rdi, 1
mov rcx, rsi
mov rdx, rdi
call fcn.140036570
mov eax, dword [rsp + 0x330]
cmp eax, 0x7ff
jg 0x1400796aa
sub r13d, edi
test eax, eax
jle 0x140079557
dec r13d
cmp r13d, 0xfffffc01
jg 0x14007964f
mov ebx, 0xfffffc02
mov ebp, 0x3c
lea rdi, [rsp + 0x28]
mov esi, 0xfffffc02
sub esi, r13d
cmp esi, 0x3c
cmovae esi, ebp
mov rcx, rdi
mov rdx, rsi
call fcn.140036840
add esi, r13d
mov r13d, esi
cmp esi, ebx
jb 0x1400795c5
jmp 0x140079652
mov eax, 3
movsd xmm0, qword [0x1402adc90]
cmp rax, rsi
jne 0x140079614
cmp r15b, 0x2d
jne 0x14007960a
xorpd xmm0, xmmword [0x1402adc80]
movsd qword [r14 + 8], xmm0
xor eax, eax
jmp 0x14007961b
mov byte [r14 + 1], 1
mov al, 1
mov byte [r14], al
jmp 0x1400796fa
neg r12d
and r12d, 0x1f
lea rax, [0x1402b35e8]
divsd xmm0, qword [rax + r12*8]
test cl, cl
jne 0x1400796e8
jmp 0x1400796f0
xor r13d, r13d
xor r15d, r15d
jmp 0x1400796d5
mov esi, r13d
lea eax, [rsi + 0x3ff]
cmp eax, 0x7fe
jg 0x1400796aa
lea rdi, [rsp + 0x28]
mov edx, 0x35
mov rcx, rdi
call fcn.140036570
mov rcx, rdi
call fcn.1400358a0
mov rcx, rax
shr rcx, 0x35
je 0x1400796b1
lea rdi, [rsp + 0x28]
mov edx, 1
mov rcx, rdi
call fcn.140036840
mov rcx, rdi
call fcn.1400358a0
lea ecx, [rsi + 0x400]
cmp ecx, 0x7fe
jle 0x1400796af
xor r13d, r13d
jmp 0x1400796d5
inc esi
mov rcx, rax
shr rcx, 0x34
cmp rcx, 1
sbb esi, 0
add esi, 0x3ff
movabs r13, 0xfffffffffffff
and r13, rax
mov r15d, esi
shl r15, 0x34
or r15, r13
movq xmm0, r15
cmp byte [rsp + 0x27], 0
je 0x1400796f0
xorpd xmm0, xmmword [0x1402adc80]
movsd qword [r14 + 8], xmm0
mov byte [r14], 0
add rsp, 0x338
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret