Function at 0x1401164c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x20
mov rbx, rdx
mov rsi, r8
mov rax, qword [rbx]
mov eax, dword [rax + 0x10]
mov edi, eax
cmp edi, 1
jle 0x14011676a
lea eax, [rdi - 1]
mov rbp, rax
lea rax, [0x140138060]
cmp qword [rsi], rax
je 0x14011660b
test edi, edi
jl 0x14011678a
mov rax, qword gs:[0x58]
mov ecx, dword [0x1401d5d1c]
mov edx, 0x10
add rdx, qword [rax + rcx*8]
mov rcx, rdx
mov r14, qword [rcx]
test r14, r14
je 0x140116779
mov rcx, qword [r14 + 0x90]
test rcx, rcx
jne 0x14011653e
call fcn.1400b9300
mov rcx, rax
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
mov r8, qword [rcx + 0x18]
mov r10, qword [rcx + 0x20]
mov r9, rdx
shl r9, 0x11
xor r8, rax
xor r10, rdx
lea r11, [rdx + rdx*4]
rol r11, 7
lea r11, [r11 + r11*8]
xor rdx, r8
xor rax, r10
xor r8, r9
rol r10, 0x2d
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], r8
mov qword [rcx + 0x20], r10
mov r8d, edi
shr r11, 0x20
mov r14d, r11d
imul r14, r8
mov r10d, r14d
cmp r10d, edi
jae 0x140116600
mov eax, edi
neg eax
xor edx, edx
div edi
cmp r10d, edx
jae 0x140116600
mov r10, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
mov r9, qword [rcx + 0x18]
mov r11, qword [rcx + 0x20]
mov r14, rax
shl r14, 0x11
xor r9, r10
xor r11, rax
lea rdi, [rax + rax*4]
rol rdi, 7
lea rdi, [rdi + rdi*8]
xor rax, r9
xor r10, r11
xor r9, r14
rol r11, 0x2d
mov qword [rcx + 8], r10
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], r9
mov qword [rcx + 0x20], r11
shr rdi, 0x20
mov r14d, edi
imul r14, r8
mov r10d, r14d
cmp r10d, edx
jb 0x1401165a7
shr r14, 0x20
jmp 0x1401166f9
test edi, edi
jl 0x14011679f
mov rcx, qword [rsi + 8]
lea r8, [0x14013d308]
cmp qword [rcx], r8
je 0x1401166ef
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
mov r8, qword [rcx + 0x18]
mov r10, qword [rcx + 0x20]
mov r9, rdx
shl r9, 0x11
xor r8, rax
xor r10, rdx
lea r11, [rdx + rdx*4]
rol r11, 7
lea r11, [r11 + r11*8]
xor rdx, r8
xor rax, r10
xor r8, r9
rol r10, 0x2d
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], r8
mov qword [rcx + 0x20], r10
mov r8d, edi
shr r11, 0x20
mov r14d, r11d
imul r14, r8
mov r10d, r14d
cmp r10d, edi
jae 0x1401166e9
mov eax, edi
neg eax
xor edx, edx
div edi
cmp r10d, edx
jae 0x1401166e9
mov r10, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
mov r9, qword [rcx + 0x18]
mov r11, qword [rcx + 0x20]
mov r14, rax
shl r14, 0x11
xor r9, r10
xor r11, rax
lea rdi, [rax + rax*4]
rol rdi, 7
lea rdi, [rdi + rdi*8]
xor rax, r9
xor r10, r11
xor r9, r14
rol r11, 0x2d
mov qword [rcx + 8], r10
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], r9
mov qword [rcx + 0x20], r11
shr rdi, 0x20
mov r14d, edi
imul r14, r8
mov r10d, r14d
cmp r10d, edx
jb 0x140116690
shr r14, 0x20
jmp 0x1401166f9
mov edx, edi
call fcn.1400b9370
mov r14d, eax
mov rcx, qword [rbx]
mov rdi, rcx
mov r15, rcx
mov edx, dword [rcx + 0x10]
cmp r14d, edx
jae 0x140116799
mov rcx, qword [rcx + 8]
mov r8, rcx
mov eax, dword [r8 + 8]
cmp r14d, eax
jae 0x1401167ae
mov r10d, r14d
mov r8, qword [r8 + r10*8 + 0x10]
cmp ebp, edx
jae 0x140116799
mov rdx, rcx
cmp ebp, eax
jae 0x1401167ae
mov r13, qword [rdx + rbp*8 + 0x10]
movsxd rdx, ebp
call fcn.1400a73a0
inc dword [rdi + 0x14]
cmp r14d, dword [r15 + 0x10]
jae 0x140116799
mov rcx, qword [r15 + 8]
movsxd rdx, r14d
mov r8, r13
call fcn.1400a73a0
inc dword [r15 + 0x14]
cmp ebp, 1
mov rdi, rbp
jg 0x1401164e5
add rsp, 0x20
pop rbx
pop rbp
pop rsi
pop rdi
pop r13
pop r14
pop r15
ret
lea rax, [0x1400b1070]
call rax
mov r14, rax
jmp 0x14011652a
mov ecx, edi
lea rdx, [0x140130960]
call fcn.14010e350
int3
call fcn.140081e80
int3
mov ecx, edi
lea rdx, [0x140130960]
call fcn.14010e350
int3
call fcn.1400b39b0
int3