Function at 0x1400b0c70
Capabilities:
Encode data using xor
Generate random numbers using the delphi lcg

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x1401b5030]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov eax, dword [0x1402c1548]
mov rbp, r8
mov r14, qword [0x1402bfa10]
inc eax
mov dword [0x1402c1548], eax
mov r15d, edx
cmp eax, 1
jne 0x1400b0cc2
xor ecx, ecx
call fcn.14012a5f8
xor eax, 0xbb40e64e
mov ecx, eax
call fcn.14012a548
mov rcx, r14
call fcn.1400b0bc0
xor edi, edi
mov esi, edi
nop
call fcn.14012a51c
mov rdx, qword [0x1402c1550]
mov r10d, eax
mov r8d, dword [0x1402c1558]
mov r9d, r8d
mov rbx, qword [0x14030bef0]
and r9d, 0xfffd
sar r10d, 7
or r9d, 2
mov ecx, r10d
shr r8d, 8
xor rdx, rcx
movzx ecx, dl
mov edx, dword [0x1402c1550]
shr edx, 8
mov eax, dword [rbx + rcx*4]
xor eax, edx
mov dword [0x1402c1550], eax
movzx eax, al
add eax, dword [0x1402c1554]
imul eax, eax, 0x8088405
inc eax
mov dword [0x1402c1554], eax
shr rax, 0x18
xor rax, qword [0x1402c1558]
movzx eax, al
mov eax, dword [rbx + rax*4]
xor eax, r8d
mov dword [0x1402c1558], eax
mov eax, r9d
xor eax, 1
imul eax, r9d
shr eax, 8
xor al, r10b
mov byte [rsp + rsi + 0x20], al
inc rsi
cmp rsi, 0xa
jl 0x1400b0cd0
mov rcx, r14
call fcn.1400b0bc0
nop word [rax + rax]
movzx r10d, byte [rsp + rdi + 0x20]
mov r8d, dword [0x1402c1558]
mov eax, r10d
xor rax, qword [0x1402c1550]
mov r9d, r8d
movzx ecx, al
and r9d, 0xfffd
mov eax, dword [0x1402c1550]
or r9d, 2
shr eax, 8
shr r8d, 8
mov edx, dword [rbx + rcx*4]
xor edx, eax
movzx eax, dl
add eax, dword [0x1402c1554]
imul eax, eax, 0x8088405
mov dword [0x1402c1550], edx
mov rdx, rbp
inc eax
mov dword [0x1402c1554], eax
shr rax, 0x18
xor rax, qword [0x1402c1558]
movzx eax, al
mov eax, dword [rbx + rax*4]
xor eax, r8d
mov dword [0x1402c1558], eax
mov eax, r9d
xor eax, 1
imul eax, r9d
shr eax, 8
movzx ecx, al
xor ecx, r10d
call fcn.140134aa4
inc rdi
cmp rdi, 0xa
jge 0x1400b0e21
mov rbx, qword [0x14030bef0]
jmp 0x1400b0d80
mov r9d, dword [0x1402c1558]
mov ebx, r15d
mov r8, qword [0x14030bef0]
mov r10d, r9d
shr ebx, 0x10
and r10d, 0xfffd
or r10d, 2
shr r9d, 8
mov eax, ebx
xor rax, qword [0x1402c1550]
movzx ecx, al
mov eax, dword [0x1402c1550]
shr eax, 8
mov edx, dword [r8 + rcx*4]
mov ecx, r10d
xor edx, eax
xor ecx, 1
movzx eax, dl
add eax, dword [0x1402c1554]
imul eax, eax, 0x8088405
imul ecx, r10d
mov dword [0x1402c1550], edx
mov rdx, rbp
inc eax
mov dword [0x1402c1554], eax
shr rax, 0x18
xor rax, qword [0x1402c1558]
movzx eax, al
mov eax, dword [r8 + rax*4]
xor eax, r9d
mov dword [0x1402c1558], eax
mov eax, r15d
shr eax, 8
xor ecx, eax
shr ecx, 8
movzx ecx, cl
call fcn.140134aa4
mov r9d, dword [0x1402c1558]
mov eax, r15d
mov r8, qword [0x14030bef0]
mov r10d, r9d
mov ecx, dword [0x1402c1550]
and r10d, 0xfffd
shr rax, 0x18
or r10d, 2
xor rax, qword [0x1402c1550]
movzx eax, al
shr ecx, 8
shr r9d, 8
mov edx, dword [r8 + rax*4]
xor edx, ecx
mov ecx, r10d
xor ecx, 1
movzx eax, dl
add eax, dword [0x1402c1554]
imul eax, eax, 0x8088405
imul ecx, r10d
mov dword [0x1402c1550], edx
mov rdx, rbp
inc eax
mov dword [0x1402c1554], eax
and ecx, 0xff00
shr rax, 0x18
xor ecx, ebx
xor rax, qword [0x1402c1558]
movzx eax, al
shr ecx, 8
mov eax, dword [r8 + rax*4]
xor eax, r9d
mov dword [0x1402c1558], eax
call fcn.140134aa4
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14011b0c0
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret