Function at 0x140118a00
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 0x140118caa
lea eax, [rdi - 1]
mov rbp, rax
lea rax, [0x14013ae70]
cmp qword [rsi], rax
je 0x140118b4b
test edi, edi
jl 0x140118cca
mov rax, qword gs:[0x58]
mov ecx, dword [0x1401dda68]
mov edx, 0x10
add rdx, qword [rax + rcx*8]
mov rcx, rdx
mov r14, qword [rcx]
test r14, r14
je 0x140118cb9
mov rcx, qword [r14 + 0x90]
test rcx, rcx
jne 0x140118a7e
call fcn.1400dbd20
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 0x140118b40
mov eax, edi
neg eax
xor edx, edx
div edi
cmp r10d, edx
jae 0x140118b40
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 0x140118ae7
shr r14, 0x20
jmp 0x140118c39
test edi, edi
jl 0x140118cdf
mov rcx, qword [rsi + 8]
lea r8, [0x140141100]
cmp qword [rcx], r8
je 0x140118c2f
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 0x140118c29
mov eax, edi
neg eax
xor edx, edx
div edi
cmp r10d, edx
jae 0x140118c29
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 0x140118bd0
shr r14, 0x20
jmp 0x140118c39
mov edx, edi
call fcn.1400dbd90
mov r14d, eax
mov rcx, qword [rbx]
mov rdi, rcx
mov r15, rcx
mov edx, dword [rcx + 0x10]
cmp r14d, edx
jae 0x140118cd9
mov rcx, qword [rcx + 8]
mov r8, rcx
mov eax, dword [r8 + 8]
cmp r14d, eax
jae 0x140118cee
mov r10d, r14d
mov r8, qword [r8 + r10*8 + 0x10]
cmp ebp, edx
jae 0x140118cd9
mov rdx, rcx
cmp ebp, eax
jae 0x140118cee
mov r13, qword [rdx + rbp*8 + 0x10]
movsxd rdx, ebp
call fcn.1400c8fe0
inc dword [rdi + 0x14]
cmp r14d, dword [r15 + 0x10]
jae 0x140118cd9
mov rcx, qword [r15 + 8]
movsxd rdx, r14d
mov r8, r13
call fcn.1400c8fe0
inc dword [r15 + 0x14]
cmp ebp, 1
mov rdi, rbp
jg 0x140118a25
add rsp, 0x20
pop rbx
pop rbp
pop rsi
pop rdi
pop r13
pop r14
pop r15
ret
lea rax, [0x1400d30f0]
call rax
mov r14, rax
jmp 0x140118a6a
mov ecx, edi
lea rdx, [0x140133990]
call fcn.14010f870
int3
call fcn.1400927f0
int3
mov ecx, edi
lea rdx, [0x140133990]
call fcn.14010f870
int3
call fcn.1400d5250
int3