Function at 0x140118ac0
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 0x140118d6a
lea eax, [rdi - 1]
mov rbp, rax
lea rax, [0x14013af50]
cmp qword [rsi], rax
je 0x140118c0b
test edi, edi
jl 0x140118d8a
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 0x140118d79
mov rcx, qword [r14 + 0x90]
test rcx, rcx
jne 0x140118b3e
call fcn.1400dbde0
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 0x140118c00
mov eax, edi
neg eax
xor edx, edx
div edi
cmp r10d, edx
jae 0x140118c00
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 0x140118ba7
shr r14, 0x20
jmp 0x140118cf9
test edi, edi
jl 0x140118d9f
mov rcx, qword [rsi + 8]
lea r8, [0x1401411e0]
cmp qword [rcx], r8
je 0x140118cef
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 0x140118ce9
mov eax, edi
neg eax
xor edx, edx
div edi
cmp r10d, edx
jae 0x140118ce9
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 0x140118c90
shr r14, 0x20
jmp 0x140118cf9
mov edx, edi
call fcn.1400dbe50
mov r14d, eax
mov rcx, qword [rbx]
mov rdi, rcx
mov r15, rcx
mov edx, dword [rcx + 0x10]
cmp r14d, edx
jae 0x140118d99
mov rcx, qword [rcx + 8]
mov r8, rcx
mov eax, dword [r8 + 8]
cmp r14d, eax
jae 0x140118dae
mov r10d, r14d
mov r8, qword [r8 + r10*8 + 0x10]
cmp ebp, edx
jae 0x140118d99
mov rdx, rcx
cmp ebp, eax
jae 0x140118dae
mov r13, qword [rdx + rbp*8 + 0x10]
movsxd rdx, ebp
call fcn.1400c90a0
inc dword [rdi + 0x14]
cmp r14d, dword [r15 + 0x10]
jae 0x140118d99
mov rcx, qword [r15 + 8]
movsxd rdx, r14d
mov r8, r13
call fcn.1400c90a0
inc dword [r15 + 0x14]
cmp ebp, 1
mov rdi, rbp
jg 0x140118ae5
add rsp, 0x20
pop rbx
pop rbp
pop rsi
pop rdi
pop r13
pop r14
pop r15
ret
lea rax, [0x1400d31b0]
call rax
mov r14, rax
jmp 0x140118b2a
mov ecx, edi
lea rdx, [0x140133b88]
call fcn.14010f930
int3
call fcn.1400928b0
int3
mov ecx, edi
lea rdx, [0x140133b88]
call fcn.14010f930
int3
call fcn.1400d5310
int3