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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1340]
mov eax, 0x1440
call fcn.140007890
sub rsp, rax
mov rax, qword [0x14000d040]
xor rax, rsp
mov qword [rbp + 0x1330], rax
mov r12, rcx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rcx
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov ecx, 0x40
call fcn.140006870
mov r13, rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], 0x3e
mov qword [rsp + 0x70], 0x3f
movups xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140009758]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140009768]
movups xmmword [rax + 0x20], xmm0
movsd xmm0, qword [0x140009778]
movsd qword [rax + 0x30], xmm0
mov eax, dword [0x140009780]
mov dword [r13 + 0x38], eax
movzx eax, word [0x140009784]
mov word [r13 + 0x3c], ax
mov byte [r13 + 0x3e], bl
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rbp + 0x1324], 0xffffffff
mov dword [rbp - 0x5c], eax
mov ecx, 1
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 - 0x5c], edx
inc rcx
cmp rcx, 0x270
jb 0x1400029b0
mov dword [rbp - 0x60], 0x270
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rbx
mov r14d, 0xf
mov qword [rsp + 0x50], r14
mov byte [rsp + 0x38], 0
mov edi, 0x1e
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.140005290
mov qword [rsp + 0x48], rbx
mov esi, 0x80000000
nop
lea rcx, [rbp - 0x60]
call fcn.140006660
mov ecx, eax
imul rax, rcx, 0x3e
cmp eax, 3
ja 0x140002a38
lea rcx, [rbp - 0x60]
call fcn.140006660
mov ecx, eax
imul rax, rcx, 0x3e
cmp eax, 4
jb 0x140002a24
shr rax, 0x20
add rax, rsi
xor rax, rsi
movzx r9d, byte [rax + r13]
mov rcx, qword [rsp + 0x50]
cmp rbx, rcx
jae 0x140002a74
lea rax, [rbx + 1]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x38]
cmp rcx, 0xf
cmova rax, qword [rsp + 0x38]
mov byte [rax + rbx], r9b
mov byte [rax + rbx + 1], 0
jmp 0x140002a7e
lea rcx, [rsp + 0x38]
call fcn.1400053e0
sub rdi, 1
je 0x140002a8b
mov rbx, qword [rsp + 0x48]
jmp 0x140002a10
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov ecx, 0x20
call fcn.140006870
mov rsi, rax
mov qword [rsp + 0x78], rax
mov ecx, 0x16
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x70], 0x1f
movups xmm0, xmmword [str.NoRecoil__ETHERIUM___]
movups xmmword [rax], xmm0
mov eax, dword [0x140009798]
mov dword [rsi + 0x10], eax
movzx eax, word [0x14000979c]
mov word [rsi + 0x14], ax
mov byte [rsi + 0x16], 0
movabs rax, 0x7fffffffffffffe9
mov rdx, qword [rsp + 0x48]
cmp rdx, rax
ja 0x140002c8e
lea r9, [rsp + 0x38]
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x50]
cmp r15, 0xf
cmova r9, rdi
mov qword [rsp + 0x28], r9
xorps xmm0, xmm0
movups xmmword [r12], xmm0
xor r8d, r8d
mov qword [r12 + 0x10], r8
mov qword [r12 + 0x18], r8
lea r12, [rdx + 0x16]
mov rax, qword [rsp + 0x20]
mov rbx, rax
cmp r12, 0xf
jbe 0x140002bd3
mov rax, r12
or rax, 0xf
movabs r14, 0x7fffffffffffffff
cmp rax, r14
jbe 0x140002b81
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140006870
test rax, rax
je 0x140002bb2
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140002bc1
mov r14, rax
cmp rax, 0x16
cmovb r14, rcx
lea rcx, [r14 + 1]
test rcx, rcx
jne 0x140002b9a
mov rbx, r8
jmp 0x140002bcb
cmp rcx, 0x1000
jb 0x140002bb9
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140002c94
jmp 0x140002b66
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140006870
mov rbx, rax
mov r9, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x20]
mov qword [rax], rbx
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], r14
movups xmm0, xmmword [rsi]
movups xmmword [rbx], xmm0
mov eax, dword [rsi + 0x10]
mov dword [rbx + 0x10], eax
movzx eax, word [rsi + 0x14]
mov word [rbx + 0x14], ax
lea rcx, [rbx + 0x16]
mov r8, rdx
mov rdx, r9
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + r12], 0
mov edx, 0x20
mov rcx, rsi
call fcn.140006bc4
nop
cmp r15, 0xf
jbe 0x140002c4c
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140002c43
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002c43
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.140006bc4
nop
mov edx, 0x40
mov rcx, r13
call fcn.140006bc4
mov rax, qword [rsp + 0x20]
mov rcx, qword [rbp + 0x1330]
xor rcx, rsp
call fcn.140006850
lea r11, [rsp + 0x1440]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140001d90
nop
call fcn.140001cf0
int3