Function at 0x1400072e0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x12b0]
mov eax, 0x13b0
call fcn.1400ede50
sub rsp, rax
mov qword [rsp + 0x13e0], r14
lea rcx, [rbp + 0x12d0]
mov qword [rsp + 0x13e8], r15
call fcn.140005490
mov ebx, 1
mov dword [rbp + 0x12a4], 0xffffffff
mov ecx, ebx
mov edx, dword [rax]
mov dword [rsp + 0x24], edx
nop dword [rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rsp + rcx*4 + 0x24], edx
inc rcx
cmp rcx, 0x270
jb 0x140007330
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x270
call fcn.14002efb0
mov ecx, eax
mov r15d, 0x80000000
shl rcx, 2
shr rcx, 0x20
add ecx, 0x80000003
cmp ecx, r15d
lea eax, [rcx - 0x80000000]
lea edi, [rcx + r15]
lea rcx, [rbp + 0x12d0]
cmovae edi, eax
call fcn.140005490
mov dword [rbp + 0x12a4], 0xffffffff
mov rcx, rbx
mov edx, dword [rax]
mov dword [rsp + 0x24], edx
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rsp + rcx*4 + 0x24], edx
inc rcx
cmp rcx, 0x270
jb 0x1400073b0
cmp edi, r15d
mov dword [rsp + 0x20], 0x270
lea eax, [rdi - 0x80000000]
lea r14d, [rdi + r15]
cmovae r14d, eax
mov eax, 0x80000006
sub eax, r14d
cmp eax, 0xffffffff
jne 0x140007471
lea r8, [rsp + 0x28]
mov r9d, 0x270
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, bl
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r9, rbx
jne 0x140007400
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + rax*4 + 0x24]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12a4]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov r8d, ecx
shr r8d, 0x12
xor r8d, ecx
jmp 0x1400074c5
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x13d8], rsi
lea edi, [rax + 1]
call fcn.14002efb0
mov r8d, eax
mov esi, edi
imul r8, rsi
cmp r8d, edi
jae 0x1400074b9
mov eax, edi
xor edx, edx
neg eax
div edi
mov edi, edx
cmp r8d, edx
jae 0x1400074b9
lea rcx, [rsp + 0x20]
call fcn.14002efb0
mov r8d, eax
imul r8, rsi
cmp r8d, edi
jb 0x1400074a3
mov rsi, qword [rsp + 0x13d8]
shr r8, 0x20
lea ecx, [r14 + r8]
cmp ecx, r15d
lea eax, [rcx + r15]
lea edi, [rcx - 0x80000000]
lea rcx, [rbp + 0x12d0]
cmovae edi, eax
call fcn.140005490
mov r15, qword [rsp + 0x13e8]
mov r14, qword [rsp + 0x13e0]
mov dword [rbp + 0x12a4], 0xffffffff
mov ecx, dword [rax]
mov dword [rsp + 0x24], ecx
nop word [rax + rax]
mov eax, ecx
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, ebx
mov dword [rsp + rbx*4 + 0x24], ecx
inc rbx
cmp rbx, 0x270
jb 0x140007510
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x270
call fcn.14002efb0
mov ecx, eax
imul rbx, rcx, reloc.WLDAP32.dll_Ordinal_301
cmp ebx, 0x65
ja 0x140007568
nop
lea rcx, [rsp + 0x20]
call fcn.14002efb0
mov ecx, eax
imul rbx, rcx, reloc.WLDAP32.dll_Ordinal_301
cmp ebx, 0x66
jb 0x140007550
shr rbx, 0x20
call fcn.140002970
mov ecx, dword [rax + 0x8f8]
lea eax, [rbx + 0x2bc]
cdq
sub ecx, edi
idiv ecx
add rsp, 0x13b0
pop rdi
pop rbx
pop rbp
ret