Function at 0x1400193f0
Capabilities:
Authenticate hmac
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
lea rbp, [rsp - 0x13b0]
mov eax, 0x14b0
call fcn.1400283c0
sub rsp, rax
mov rax, qword [0x140032010]
xor rax, rsp
mov qword [rbp + 0x13a0], rax
mov rbx, rcx
mov qword [rsp + 0x40], rcx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rbp + 0x1374], 0xffffffff
mov dword [rbp - 0xc], eax
mov ecx, 1
nop dword [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 - 0xc], edx
inc rcx
cmp rcx, 0x270
jb 0x140019450
mov dword [rbp - 0x10], 0x270
xor edx, edx
mov r8, qword [0x140033020]
cmp qword [0x140033028], 0x10
jb 0x140019495
mov rcx, qword [0x140033010]
movzx eax, byte [rcx]
jmp 0x1400194a3
movzx eax, byte [0x140033010]
lea rcx, [0x140033010]
xor al, 0x2e
mov byte [rsp + 0x40], al
mov eax, 1
div r8
movzx eax, byte [rdx + rcx]
xor al, 0x65
mov byte [rsp + 0x41], al
mov eax, 2
xor edx, edx
div r8
movzx eax, byte [rdx + rcx]
xor al, 0x78
mov byte [rsp + 0x42], al
xor edx, edx
mov eax, 3
div r8
movzx eax, byte [rdx + rcx]
xor al, 0x65
mov byte [rsp + 0x43], al
mov word [rsp + 0x44], 0x100
nop word [rax + rax]
lea rcx, [rbp - 0x10]
call fcn.140026f00
mov ecx, eax
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
cmp edx, 0x68db8
jae 0x1400194f0
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
imul eax, edx, 0x2710
sub ecx, eax
lea edx, [rcx - 0x7fffffff]
lea eax, [rdx - 0x80000000]
mov r8d, 0x80000000
lea ecx, [rdx + r8]
cmp edx, r8d
cmovae ecx, eax
lea r9, [rbp + 0x1395]
test ecx, ecx
jns 0x140019590
neg ecx
nop dword [rax + rax]
dec r9
mov eax, 0xcccccccd
mul ecx
shr edx, 3
movzx eax, dl
shl al, 2
lea r8d, [rax + rdx]
add r8b, r8b
sub cl, r8b
add cl, 0x30
mov byte [r9], cl
mov ecx, edx
test edx, edx
jne 0x140019550
dec r9
mov byte [r9], 0x2d
jmp 0x1400195b9
dec r9
mov eax, 0xcccccccd
mul ecx
shr edx, 3
movzx eax, dl
shl al, 2
lea r8d, [rax + rdx]
add r8b, r8b
sub cl, r8b
add cl, 0x30
mov byte [r9], cl
mov ecx, edx
test edx, edx
jne 0x140019590
xor edi, edi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], dil
lea rax, [rbp + 0x1395]
cmp r9, rax
je 0x1400195f2
lea r8, [rbp + 0x1395]
sub r8, r9
mov rdx, r9
lea rcx, [rbp - 0x78]
call fcn.14000ee90
nop
cmp qword [0x140032fc8], 0x10
setae r11b
lea rsi, [0x140032fb0]
mov r10, qword [0x140032fb0]
mov r9, qword [0x140032fc0]
jb 0x1400197de
movzx eax, byte [r10]
xor al, 0x43
mov byte [rsp + 0x20], al
xor edx, edx
mov eax, 1
div r9
movzx eax, byte [rdx + r10]
xor al, 0x3a
mov byte [rsp + 0x21], al
xor edx, edx
mov eax, 2
div r9
movzx eax, byte [rdx + r10]
xor al, 0x5c
mov byte [rsp + 0x22], al
xor edx, edx
mov eax, 3
div r9
movzx eax, byte [rdx + r10]
xor al, 0x57
mov byte [rsp + 0x23], al
xor edx, edx
mov eax, 4
div r9
movzx eax, byte [rdx + r10]
xor al, 0x69
mov byte [rsp + 0x24], al
xor edx, edx
mov eax, 5
div r9
movzx eax, byte [rdx + r10]
xor al, 0x6e
mov byte [rsp + 0x25], al
xor edx, edx
mov eax, 6
div r9
movzx eax, byte [rdx + r10]
xor al, 0x64
mov byte [rsp + 0x26], al
xor edx, edx
mov eax, 7
div r9
movzx eax, byte [rdx + r10]
xor al, 0x6f
mov byte [rsp + 0x27], al
xor edx, edx
mov eax, 8
div r9
movzx eax, byte [rdx + r10]
xor al, 0x77
mov byte [rsp + 0x28], al
xor edx, edx
mov eax, 9
div r9
movzx eax, byte [rdx + r10]
xor al, 0x73
mov byte [rsp + 0x29], al
xor edx, edx
mov eax, 0xa
div r9
movzx eax, byte [rdx + r10]
xor al, 0x5c
mov byte [rsp + 0x2a], al
xor edx, edx
mov eax, 0xb
div r9
movzx eax, byte [rdx + r10]
xor al, 0x4c
mov byte [rsp + 0x2b], al
xor edx, edx
mov eax, 0xc
div r9
movzx eax, byte [rdx + r10]
xor al, 0x6f
mov byte [rsp + 0x2c], al
xor edx, edx
mov eax, 0xd
div r9
movzx eax, byte [rdx + r10]
xor al, 0x67
mov byte [rsp + 0x2d], al
xor edx, edx
mov eax, 0xe
div r9
movzx eax, byte [rdx + r10]
xor al, 0x73
mov byte [rsp + 0x2e], al
xor edx, edx
mov eax, 0xf
div r9
movzx eax, byte [rdx + r10]
xor al, 0x5c
mov byte [rsp + 0x2f], al
xor edx, edx
mov eax, 0x10
div r9
movzx eax, byte [rdx + r10]
xor al, 0x54
mov byte [rsp + 0x30], al
xor edx, edx
mov eax, 0x11
div r9
movzx eax, byte [rdx + r10]
xor al, 0x52
mov byte [rsp + 0x31], al
xor edx, edx
mov eax, 0x12
div r9
movzx eax, byte [rdx + r10]
xor al, 0x57
mov byte [rsp + 0x32], al
xor edx, edx
mov eax, 0x13
div r9
movzx eax, byte [rdx + r10]
xor al, 0x35
mov byte [rsp + 0x33], al
xor edx, edx
mov eax, 0x14
div r9
movzx eax, byte [rdx + r10]
xor al, 0x36
mov byte [rsp + 0x34], al
xor edx, edx
mov eax, 0x15
div r9
movzx eax, byte [rdx + r10]
mov rcx, r10
jmp 0x140019989
movzx eax, r10b
xor al, 0x43
mov byte [rsp + 0x20], al
xor edx, edx
mov eax, 1
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x3a
mov byte [rsp + 0x21], al
xor edx, edx
mov eax, 2
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x5c
mov byte [rsp + 0x22], al
xor edx, edx
mov eax, 3
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x57
mov byte [rsp + 0x23], al
xor edx, edx
mov eax, 4
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x69
mov byte [rsp + 0x24], al
xor edx, edx
mov eax, 5
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x6e
mov byte [rsp + 0x25], al
xor edx, edx
mov eax, 6
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x64
mov byte [rsp + 0x26], al
xor edx, edx
mov eax, 7
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x6f
mov byte [rsp + 0x27], al
xor edx, edx
mov eax, 8
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x77
mov byte [rsp + 0x28], al
xor edx, edx
mov eax, 9
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x73
mov byte [rsp + 0x29], al
xor edx, edx
mov eax, 0xa
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x5c
mov byte [rsp + 0x2a], al
xor edx, edx
mov eax, 0xb
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x4c
mov byte [rsp + 0x2b], al
xor edx, edx
mov eax, 0xc
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x6f
mov byte [rsp + 0x2c], al
xor edx, edx
mov eax, 0xd
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x67
mov byte [rsp + 0x2d], al
xor edx, edx
mov eax, 0xe
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x73
mov byte [rsp + 0x2e], al
xor edx, edx
mov eax, 0xf
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x5c
mov byte [rsp + 0x2f], al
xor edx, edx
mov eax, 0x10
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x54
mov byte [rsp + 0x30], al
xor edx, edx
mov eax, 0x11
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x52
mov byte [rsp + 0x31], al
xor edx, edx
mov eax, 0x12
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x57
mov byte [rsp + 0x32], al
xor edx, edx
mov eax, 0x13
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x35
mov byte [rsp + 0x33], al
xor edx, edx
mov eax, 0x14
div r9
movzx eax, byte [rdx + rsi]
xor al, 0x36
mov byte [rsp + 0x34], al
xor edx, edx
mov eax, 0x15
div r9
movzx eax, byte [rdx + rsi]
mov rcx, rsi
xor al, 0x36
mov byte [rsp + 0x35], al
xor edx, edx
mov eax, 0x16
div r9
movzx eax, byte [rdx + rcx]
xor al, 0x43
mov byte [rsp + 0x36], al
mov word [rsp + 0x37], 0x100
mov r8, rdi
nop dword [rax]
mov rcx, rsi
test r11b, r11b
cmovne rcx, r10
xor edx, edx
mov rax, r8
div r9
movzx eax, byte [rdx + rcx]
xor byte [rsp + r8 + 0x20], al
inc r8
cmp r8, 0x17
jb 0x1400199b0
mov byte [rsp + 0x38], 0
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
mov r8d, 0x17
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x68]
call fcn.14000ee90
nop
lea r9, [rbp - 0x78]
lea r8, [rsp + 0x68]
lea rcx, [rbp + 0x1380]
call fcn.140026410
nop
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x1380]
lea rcx, [rbp - 0x58]
call fcn.140019c70
nop
cmp qword [rax + 0x18], 0x10
jb 0x140019a3c
mov rax, qword [rax]
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140019a60
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.14000ee90
nop
lea r8, [0x140032048]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x38]
call fcn.140017a90
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140019ace
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019ac9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140019ac9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400274f4
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x140019b1f
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019b1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140019b1a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400274f4
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
mov rdx, qword [rbp + 0x1398]
cmp rdx, 0x10
jb 0x140019b74
inc rdx
mov rcx, qword [rbp + 0x1380]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019b6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140019b6e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400274f4
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x140019bb4
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019bae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140019bae
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400274f4
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x140019bf2
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019bed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140019bed
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400274f4
lea r8, [0x140032048]
lea rdx, [rbp - 0x38]
mov rcx, rbx
call fcn.140017d30
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x140019c44
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019c3f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140019c3f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400274f4
mov rax, rbx
mov rcx, qword [rbp + 0x13a0]
xor rcx, rsp
call fcn.140027490
lea r11, [rsp + 0x14b0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret