Function at 0x1400b05e0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
mov rbp, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x50
mov r13, qword [rcx + 0x10]
and qword [r11 + 0x18], 0
mov eax, 0xfffffff
mov r10d, dword [r13 + 9]
inc r13
lea r9, [0x140000000]
mov r8d, dword [r13]
and r10, rax
mov r14, rcx
shr r8, 1
mov rcx, r9
add r10, r9
and r8, rax
mov rax, qword [0x14010bb18]
mov rdi, rdx
sub rcx, rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x20], rcx
jne 0x1400b0691
xor r9d, r9d
test r8, r8
je 0x1400b0903
mov ecx, dword [r11 + 0x1c]
mov edx, dword [r11 + 0x18]
movzx eax, byte [r9 + r10]
inc r9
add eax, 0x778c0c00
add ecx, eax
add edx, eax
imul ecx, ecx, 0x778c0c00
ror ecx, 0x13
mov eax, ecx
imul eax, eax, 0x8c13
xor ecx, eax
add edx, ecx
cmp r9, r8
jb 0x1400b065b
mov dword [rbp + 0x24], ecx
mov dword [rbp + 0x20], edx
jmp 0x1400b0903
movsxd rdx, dword [0x14000003c]
lea rax, [r10 + r8]
lea rcx, [0x140000000]
mov qword [rsp + 0x38], rax
lea rax, [0x1400000b0]
add rdx, rax
mov eax, r10d
mov r12d, dword [rdx + 4]
sub eax, r9d
lea rsi, [rax + r8]
mov r8d, dword [rdx]
mov r9d, eax
mov rdi, rsi
and r9, 0xfffffffffffff000
mov r11d, eax
and rdi, 0xfffffffffffff000
add r8, rcx
sub r11, r9
sub rsi, rdi
mov qword [rsp + 0x28], rdi
add r12, r8
mov qword [rsp + 0x30], rsi
jmp 0x1400b0701
mov eax, dword [r8]
cmp rax, r9
jae 0x1400b0706
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, r12
jne 0x1400b06f2
xor ebx, ebx
cmp r8, r12
je 0x1400b073f
mov eax, dword [r8]
cmp rax, r9
jne 0x1400b073f
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x1400b073f
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and eax, 0xfff
cmp rax, r11
jae 0x1400b073f
inc rbx
add rdx, 2
cmp rbx, rcx
jne 0x1400b0726
mov edx, dword [rbp + 0x24]
mov r11d, dword [rbp + 0x20]
mov r14, qword [rsp + 0x20]
lea r13, [0x140000000]
cmp r8, r12
je 0x1400b08b6
mov eax, dword [r8]
cmp rax, rdi
ja 0x1400b08b6
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp rbx, rax
jne 0x1400b0793
add r8, rcx
cmp r8, r12
je 0x1400b08b6
mov eax, dword [r8]
cmp rax, rdi
ja 0x1400b08b6
xor ebx, ebx
jmp 0x1400b0767
mov eax, dword [r8]
cmp rax, rdi
jne 0x1400b07af
movzx eax, word [r8 + rbx*2 + 8]
and eax, 0xfff
cmp rax, rsi
jae 0x1400b08b6
mov rax, rbx
mov ecx, 0xf000
inc rbx
test word [r8 + rax*2 + 8], cx
je 0x1400b0752
movzx ecx, word [r8 + rax*2 + 8]
xor r9d, r9d
mov esi, ecx
and esi, 0xfff
add esi, dword [r8]
add rsi, r13
mov rdi, rsi
sub rdi, r10
je 0x1400b0815
movzx eax, byte [r9 + r10]
inc r9
add eax, 0x778c0c00
add edx, eax
add r11d, eax
imul edx, edx, 0x778c0c00
ror edx, 0x13
mov eax, edx
imul eax, eax, 0x8c13
xor edx, eax
add r11d, edx
cmp r9, rdi
jb 0x1400b07e1
mov dword [rbp + 0x24], edx
mov dword [rbp + 0x20], r11d
shr ecx, 0xc
cmp ecx, 3
je 0x1400b082b
sub ecx, 0xa
neg ecx
sbb r9d, r9d
add r9d, 3
jmp 0x1400b0831
mov r9d, 2
mov rax, qword [rsi]
mov r10, r14
neg r10
mov qword [rbp + 0x28], rax
sub r9d, 2
je 0x1400b085d
dec r9d
je 0x1400b084f
or rcx, 0xffffffffffffffff
jmp 0x1400b0866
add rax, r10
mov ecx, 8
mov qword [rbp + 0x28], rax
jmp 0x1400b0866
add dword [rbp + 0x28], r10d
mov ecx, 4
xor r9d, r9d
test rcx, rcx
je 0x1400b08a3
movzx eax, byte [rbp + r9 + 0x28]
inc r9
add eax, 0x778c0c00
add edx, eax
add r11d, eax
imul edx, edx, 0x778c0c00
ror edx, 0x13
mov eax, edx
imul eax, eax, 0x8c13
xor edx, eax
add r11d, edx
cmp r9, rcx
jb 0x1400b086e
mov dword [rbp + 0x24], edx
mov dword [rbp + 0x20], r11d
mov rdi, qword [rsp + 0x28]
lea r10, [rcx + rsi]
mov rsi, qword [rsp + 0x30]
jmp 0x1400b0752
mov rsi, qword [rsp + 0x38]
mov r14, qword [rbp + 0x10]
mov r13, qword [rsp + 0x40]
xor ecx, ecx
sub rsi, r10
je 0x1400b08ff
movzx eax, byte [rcx + r10]
inc rcx
add eax, 0x778c0c00
add edx, eax
add r11d, eax
imul edx, edx, 0x778c0c00
ror edx, 0x13
mov eax, edx
imul eax, eax, 0x8c13
xor edx, eax
add r11d, edx
cmp rcx, rsi
jb 0x1400b08cb
mov dword [rbp + 0x24], edx
mov dword [rbp + 0x20], r11d
mov rdi, qword [rbp + 0x18]
add qword [r14 + 0x10], 0xd
mov eax, dword [r13 + 4]
lea rcx, [0x140000000]
and eax, 0xfffffff
mov rax, qword [rax + rcx]
cmp qword [rbp + 0x20], rax
je 0x1400b09db
call fcn.14009eca8
lea r8, [r14 + 0x18]
lea rsi, [fcn.1400bd550]
and r8, 0xfffffffffffffff8
mov rbx, rax
mov qword [r14 + 0x10], rsi
mov rcx, qword [0x14017dbb0]
lea r10, [r8 + 0xfff]
and rbx, 0xfffffffffffff000
and r10, 0xfffffffffffff000
xor r9d, r9d
mov r11d, 0xffff
imul rcx, rcx, 0x343fd
shl r9, 0x10
shr r11, 0x10
add rcx, 0x269ec3
mov rax, rcx
shr rax, 0x10
movzx edx, ax
or r9, rdx
test r11, r11
jne 0x1400b0966
mov qword [0x14017dbb0], rcx
movabs rax, 0x8000800080008001
mov qword [rdi + 0x98], rbx
mul r9
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rdi + 0xb0], r9
mov qword [rbp + 0x10], r11
jmp 0x1400b09d2
mov rax, qword [rbp + 0x10]
mov qword [r8], rax
add r8, 8
cmp r8, r10
jb 0x1400b09c7
mov qword [r14 + 0x10], rsi
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret