Function at 0x1401163e0
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 0x14011668a
lea eax, [rdi - 1]
mov rbp, rax
lea rax, [0x140137fe0]
cmp qword [rsi], rax
je 0x14011652b
test edi, edi
jl 0x1401166aa
mov rax, qword gs:[0x58]
mov ecx, dword [0x1401d5cdc]
mov edx, 0x10
add rdx, qword [rax + rcx*8]
mov rcx, rdx
mov r14, qword [rcx]
test r14, r14
je 0x140116699
mov rcx, qword [r14 + 0x90]
test rcx, rcx
jne 0x14011645e
call fcn.1400b9240
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 0x140116520
mov eax, edi
neg eax
xor edx, edx
div edi
cmp r10d, edx
jae 0x140116520
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 0x1401164c7
shr r14, 0x20
jmp 0x140116619
test edi, edi
jl 0x1401166bf
mov rcx, qword [rsi + 8]
lea r8, [0x14013d288]
cmp qword [rcx], r8
je 0x14011660f
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 0x140116609
mov eax, edi
neg eax
xor edx, edx
div edi
cmp r10d, edx
jae 0x140116609
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 0x1401165b0
shr r14, 0x20
jmp 0x140116619
mov edx, edi
call fcn.1400b92b0
mov r14d, eax
mov rcx, qword [rbx]
mov rdi, rcx
mov r15, rcx
mov edx, dword [rcx + 0x10]
cmp r14d, edx
jae 0x1401166b9
mov rcx, qword [rcx + 8]
mov r8, rcx
mov eax, dword [r8 + 8]
cmp r14d, eax
jae 0x1401166ce
mov r10d, r14d
mov r8, qword [r8 + r10*8 + 0x10]
cmp ebp, edx
jae 0x1401166b9
mov rdx, rcx
cmp ebp, eax
jae 0x1401166ce
mov r13, qword [rdx + rbp*8 + 0x10]
movsxd rdx, ebp
call fcn.1400a72e0
inc dword [rdi + 0x14]
cmp r14d, dword [r15 + 0x10]
jae 0x1401166b9
mov rcx, qword [r15 + 8]
movsxd rdx, r14d
mov r8, r13
call fcn.1400a72e0
inc dword [r15 + 0x14]
cmp ebp, 1
mov rdi, rbp
jg 0x140116405
add rsp, 0x20
pop rbx
pop rbp
pop rsi
pop rdi
pop r13
pop r14
pop r15
ret
lea rax, [0x1400b0fb0]
call rax
mov r14, rax
jmp 0x14011644a
mov ecx, edi
lea rdx, [0x1401308e0]
call fcn.14010e270
int3
call fcn.140081dc0
int3
mov ecx, edi
lea rdx, [0x1401308e0]
call fcn.14010e270
int3
call fcn.1400b38f0
int3