Function at 0x140127ae9
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 0x140127bbf
mov rsi, r8
mov rdi, rdx
movzx r15d, byte [rdx]
cmp r15d, 0x2b
je 0x140127b1e
cmp r15d, 0x2d
jne 0x140127b2a
dec rsi
je 0x140127c4a
inc rdi
cmp r15b, 0x2d
sete r9b
lea rbx, [rsp + 0x28]
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.140059940
mov cl, byte [rbx + 0x10]
cmp cl, 2
jne 0x140127bca
cmp rsi, 3
jb 0x140127e42
xor eax, eax
lea rcx, [0x14044ea7c]
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 0x140127b62
test al, 0xdf
je 0x140127e18
xor eax, eax
lea rcx, [0x14044ea7f]
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 0x140127b8a
test al, 0xdf
jne 0x140127e42
mov rcx, rdi
mov rdx, rsi
call fcn.140059d10
movsd xmm0, qword [0x1403bce78]
jmp 0x140127e25
mov word [r14], 1
jmp 0x140127f28
mov r12, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
mov bpl, byte [rsp + 0x39]
lea rax, [r12 + 0x16]
cmp rax, 0x3b
ja 0x140127c9c
movabs r8, 0x20000000000000
cmp rbx, r8
ja 0x140127c9c
test bpl, bpl
jne 0x140127c9c
cmp r12, 0x16
jg 0x140127c55
movq xmm1, rbx
punpckldq xmm1, xmmword [0x1403bce30]
subpd xmm1, xmmword [0x1403bce40]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
test r12, r12
js 0x140127e51
and r12d, 0x1f
lea rax, [0x1403c4e70]
mulsd xmm0, qword [rax + r12*8]
jmp 0x140127e65
mov word [r14], 0x101
jmp 0x140127f28
lea rdx, [0x14044ea88]
mov rax, rbx
mul qword [rdx + r12*8 - 0xb0]
jo 0x140127c9c
cmp rax, r8
ja 0x140127c9c
movq xmm1, rax
punpckldq xmm1, xmmword [0x1403bce30]
subpd xmm1, xmmword [0x1403bce40]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
mulsd xmm0, qword [0x1403bce50]
jmp 0x140127e65
mov byte [rsp + 0x27], cl
mov rcx, r12
mov rdx, rbx
call fcn.140127963
mov r13, rax
mov r15d, edx
test bpl, bpl
je 0x140127cd9
test r15d, r15d
js 0x140127cd9
inc rbx
mov rcx, r12
mov rdx, rbx
call fcn.140127963
cmp r13, rax
jne 0x140127ce2
cmp r15d, edx
je 0x140127f03
jmp 0x140127ce2
test r15d, r15d
jns 0x140127f03
lea rbx, [rsp + 0x28]
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.1400594c0
xor r13d, r13d
cmp qword [rbx + 0x300], 0
je 0x140127e75
mov eax, dword [rsp + 0x330]
mov r15d, 0
cmp eax, 0xfffffebc
jl 0x140127f03
mov r15d, 0x7ff
xor r13d, r13d
cmp eax, 0x135
jg 0x140127f03
test eax, eax
jle 0x140127d79
xor r13d, r13d
lea rbx, [0x14044ea69]
lea rsi, [rsp + 0x28]
mov edi, 0x3c
cmp eax, 0x12
ja 0x140127d55
mov eax, eax
movzx edi, byte [rax + rbx]
mov rcx, rsi
mov rdx, rdi
call fcn.1400592a0
mov eax, dword [rsp + 0x330]
cmp eax, 0xfffff801
jl 0x140127e72
add r13d, edi
test eax, eax
jg 0x140127d45
lea rsi, [rsp + 0x28]
lea rbx, [0x14044ea69]
test eax, eax
je 0x140127d9d
neg eax
mov edi, 0x3c
cmp eax, 0x12
ja 0x140127db0
mov eax, eax
movzx edi, byte [rax + rbx]
jmp 0x140127db0
mov al, byte [rsp + 0x28]
cmp al, 4
ja 0x140127dd4
cmp al, 2
mov edi, 0
adc rdi, 1
mov rcx, rsi
mov rdx, rdi
call fcn.140058fd0
mov eax, dword [rsp + 0x330]
cmp eax, 0x7ff
jg 0x140127ed8
sub r13d, edi
test eax, eax
jle 0x140127d85
dec r13d
cmp r13d, 0xfffffc01
jg 0x140127e7d
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.1400592a0
add esi, r13d
mov r13d, esi
cmp esi, ebx
jb 0x140127df3
jmp 0x140127e80
mov eax, 3
movsd xmm0, qword [0x1403bce70]
cmp rax, rsi
jne 0x140127e42
cmp r15b, 0x2d
jne 0x140127e38
xorpd xmm0, xmmword [0x1403bce60]
movsd qword [r14 + 8], xmm0
xor eax, eax
jmp 0x140127e49
mov byte [r14 + 1], 1
mov al, 1
mov byte [r14], al
jmp 0x140127f28
neg r12d
and r12d, 0x1f
lea rax, [0x1403c4e70]
divsd xmm0, qword [rax + r12*8]
test cl, cl
jne 0x140127f16
jmp 0x140127f1e
xor r13d, r13d
xor r15d, r15d
jmp 0x140127f03
mov esi, r13d
lea eax, [rsi + 0x3ff]
cmp eax, 0x7fe
jg 0x140127ed8
lea rdi, [rsp + 0x28]
mov edx, 0x35
mov rcx, rdi
call fcn.140058fd0
mov rcx, rdi
call fcn.140058300
mov rcx, rax
shr rcx, 0x35
je 0x140127edf
lea rdi, [rsp + 0x28]
mov edx, 1
mov rcx, rdi
call fcn.1400592a0
mov rcx, rdi
call fcn.140058300
lea ecx, [rsi + 0x400]
cmp ecx, 0x7fe
jle 0x140127edd
xor r13d, r13d
jmp 0x140127f03
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 0x140127f1e
xorpd xmm0, xmmword [0x1403bce60]
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