Function at 0x1400085d6
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], 0xfffffffffffffffe
mov r14, rcx
mov eax, dword [0x1402956d8]
mov ecx, dword [0x1402956dc]
shrd ecx, eax, 3
xor ecx, 0xfe0790dc
mov eax, ecx
shl rax, 4
lea rax, [rax + rax*2]
call fcn.1400fe1d0
sub rsp, rax
mov r12, rsp
imul eax, dword [0x1402956e0], 0x6d2a069e
imul ecx, dword [0x1402956e4], 0xa95cfe42
add eax, ecx
add eax, 0x33c677b
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov rbx, rsp
mov eax, dword [0x1402956e8]
mov ecx, dword [0x1402956ec]
shrd ecx, eax, 0x1f
xor ecx, 0xdab1ef6b
mov eax, ecx
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov rsi, rsp
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
sub rsp, 0x20
call fcn.1400cde90
call fcn.1400ce0b0
call fcn.1400d4110
call fcn.1400d0e40
add rsp, 0x20
mov r8, qword [r14]
mov qword [rbp - 8], r14
mov r14, qword [r14 + 8]
mov rdx, r14
sub rdx, r8
imul ecx, dword [0x1402956f0], 0x7c6603cc
imul r9d, dword [0x1402956f8], 0xa37469e1
add r9d, ecx
mov ecx, r9d
add cl, 0x20
mov r9, rdx
sar r9, cl
movsxd rdx, eax
mov rax, rdx
sub rax, r9
jae 0x140008728
shl rdx, 4
mov r15, r8
add r15, rdx
cmp r15, r14
je 0x14000871e
mov rsi, r15
sub rsp, 0x20
mov rcx, rsi
call fcn.14000e86a
add rsp, 0x20
mov rax, rsi
add rax, 0x10
mov rsi, rax
cmp rax, r14
jne 0x1400086ff
mov rax, qword [rbp - 8]
mov qword [rax + 8], r15
jmp 0x140008774
jbe 0x140008774
mov r11, qword [rbp - 8]
mov r9, qword [r11 + 0x10]
imul ecx, dword [0x140295700], 0x48eba3e7
imul r10d, dword [0x140295708], 0x93251928
sub r9, r8
add r10d, ecx
mov ecx, r10d
add cl, 0x46
sar r9, cl
cmp r9, rdx
jae 0x140008a9a
nop
mov r8, rsi
sub rsp, 0x20
mov rcx, r11
call fcn.14000e480
add rsp, 0x20
nop
mov rdi, r12
mov rsi, rbx
add r12, 8
mov qword [rbp - 0x18], r12
lea r12, [0x140294738]
lea rbx, [0x1402bed74]
xor r13d, r13d
mov qword [rbp - 0x10], rdi
mov r15, qword [rbp - 8]
mov r14, qword [r15]
mov rax, qword [r15 + 8]
sub rax, r14
mov cl, byte [0x140295744]
xor cl, 0x28
sar rax, cl
cmp r13, rax
jae 0x140008a72
mov rax, qword [0x140295748]
movabs rcx, 0xac70c4c60910f985
imul rax, rcx
mov rcx, qword [0x140295750]
movabs rdx, 0x50bdd6868727f336
imul rcx, rdx
add rcx, rax
movabs rax, 0x89712623d00e1228
add rcx, rax
nop
sub rsp, 0x20
call fcn.1400d87f8
add rsp, 0x20
nop
nop
mov rcx, rax
sub rsp, 0x20
mov qword [rbp - 0x20], rax
call fcn.140004e04
add rsp, 0x20
nop
mov r15d, eax
mov rcx, qword [0x140295758]
movabs rdx, 0x245cf2124cb5e72d
imul rcx, rdx
mov rdx, qword [0x140295760]
movabs r8, 0x55c74d4042505a07
imul rdx, r8
add rdx, rcx
movabs rcx, 0x9cfff8aa4d3ab471
add rdx, rcx
mov rcx, qword [0x140295768]
mov r8, qword [0x140295770]
shrd r8, rcx, 0x3d
movabs rcx, 0xd2231b01631bd882
xor r8, rcx
and r8, qword [0x140294740]
mov qword [rsi], rdx
mov rcx, qword [0x140295778]
movabs rdx, 0xeed901e43e176b9
imul rcx, rdx
mov rdx, qword [0x140295780]
movabs r9, 0xfb5f50ecd8a5d67c
imul rdx, r9
add rdx, rcx
movabs rcx, 0x3f14b5dee49be20e
add rdx, rcx
cmp r8, rdx
jne 0x1400088e2
imul ecx, dword [0x140295788], 0x11528813
imul edx, dword [0x14029578c], 0xf3294aeb
add ecx, edx
add ecx, 0xc0456c0a
cmp eax, ecx
setne al
jmp 0x1400088fa
mov rax, qword [0x140294738]
sub rsp, 0x20
mov rcx, r12
mov edx, r15d
call qword [rax + 0x30]
add rsp, 0x20
mov rcx, qword [0x140295790]
mov rdx, qword [0x140295798]
shrd rdx, rcx, 0x3b
mov rcx, qword [0x1402957a0]
movabs r8, 0x346c596b698d47d8
imul rcx, r8
mov r8, qword [0x1402957a8]
movabs r9, 0xcd5ee70324aa4f2e
imul r8, r9
add r8, rcx
movabs rcx, 0xc6de51126124e122
xor rdx, rcx
movabs rcx, 0xf05337da0fa0b318
add r8, rcx
test al, al
cmovne r8, rdx
mov qword [rsi + 0x10], r8
mov dword [rsi], r15d
mov rax, qword [0x1402957b0]
movabs rcx, 0xab9b984affbf44e4
imul rax, rcx
mov rcx, qword [0x1402957b8]
movabs rdx, 0x70fac8f0ed37a9e6
imul rcx, rdx
add rcx, rax
movabs rax, 0xa8666d08195a8891
add rcx, rax
and rcx, r8
mov rax, qword [0x1402957c0]
mov rdx, qword [0x1402957c8]
shrd rdx, rax, 9
mov qword [rsi + 8], r12
movabs rax, 0xae1c4a2c9878dfd8
xor rdx, rax
cmp rcx, rdx
je 0x140008a2a
mov r15, rdi
sub rsp, 0x20
mov rcx, rbx
lea rdx, [0x14021d220]
call fcn.140013a90
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.140004210
add rsp, 0x20
nop
nop
sub rsp, 0x20
mov rcx, r15
call fcn.1400041bf
add rsp, 0x20
nop
lea rax, [0x14021c750]
mov rcx, qword [rbp - 0x10]
mov qword [rcx], rax
sub rsp, 0x20
mov rcx, qword [rbp - 0x18]
call fcn.1401a0858
add rsp, 0x20
nop
mov rax, r13
shl rax, 4
add r14, rax
sub rsp, 0x20
mov rcx, r14
mov rdx, qword [rbp - 0x20]
call fcn.14000e080
add rsp, 0x20
nop
mov rax, qword [0x1402957d0]
mov rcx, qword [0x1402957d8]
shrd rcx, rax, 8
movabs rax, 0xa6ac58671ba2639d
xor rcx, rax
add r13, rcx
jmp 0x140008797
sub rsp, 0x20
lea rcx, [0x14000e15e]
call fcn.1400d1060
add rsp, 0x20
mov rax, r15
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [0x140295710]
mov rdx, qword [0x140295718]
shrd rdx, rcx, 0x28
movabs rcx, 0x8d9d25f0d8a9506
xor rcx, rdx
cmp rax, rcx
jne 0x140008ac7
mov r15, r14
jmp 0x14000871e
xorps xmm0, xmm0
movabs rcx, 0x124ae588c3c63d6f
movabs rdx, 0xb2ab89c3af3a9a8f
movabs r8, 0xe2926e7325acb024
movabs r9, 0xa218a2bfecfe905f
movups xmmword [r14], xmm0
add r14, 0x10
mov r10, qword [0x140295720]
mov r11, qword [0x140295728]
shrd r11, r10, 0x38
xor r11, rcx
mov r10, rax
add r10, r11
mov rax, qword [0x140295730]
imul rax, rdx
mov r11, qword [0x140295738]
imul r11, r8
add r11, rax
add r11, r9
mov rax, r10
mov r15, r14
cmp r10, r11
jne 0x140008af2
jmp 0x14000871e