Function at 0x14005c94d
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
movsx eax, bx
cdqe
mov qword [rsp + 0x18], rsi
movsx rax, di
movzx eax, sp
mov qword [rsp + 0x20], rdi
cwde
nop
jmp 0x14005c98b
push rbp
cdqe
push r12
push r13
cwde
movzx rbp, ax
push r14
push r15
movsx ax, dl
lea rbp, [rsp - 0x2970]
bswap eax
cwde
movzx ax, r15b
mov eax, 0x2a70
call fcn.140036bc0
sub rsp, rax
sar ax, 0x2d
movzx bx, r9b
mov rax, qword [0x140040010]
sar bh, cl
sar dx, 0x79
xor rax, rsp
setnp bl
movzx edx, r14w
mov qword [rbp + 0x2960], rax
movsx edx, si
jmp 0x14005c9eb
mov rbx, rcx
setle dl
movsxd rdx, r8d
movsx rdx, r10w
mov rdx, rcx
mov cl, r12b
movsx rcx, dx
lea rcx, [rbp + 0x2940]
call fcn.1400309a0
nop
movzx rdx, di
rcr r8w, 0x49
test r12b, dl
sub r13d, r13d
cwd
mov qword [rbp + 0x28b0], r13
movzx edx, r13w
cmovae rdx, r10
mov qword [rbp + 0x28c0], r13
not edx
mov qword [rbp + 0x28c8], 0xf
inc r8b
bswap r8
dec dx
mov byte [rbp + 0x28b0], r13b
jmp 0x14005ca58
lea rdx, [0x140039b00]
mov r8, 0xffffffffffffffff
jmp 0x14005ca6b
inc r8
cmp r12w, 0x73f6
cmc
cmp byte [rdx + r8], 0
jmp 0x14005ca7f
jne 0x14005ca6b
lea rcx, [rbp + 0x28b0]
call fcn.140006ba0
nop
mov dword [rbp + 0x1424], 0xffffffff
cmovns rdx, rsi
rol cx, cl
mov dword [rbp + 0xa4], 0x44
shrd edx, edx, 0xd3
inc cx
mov edx, 0x44
sub al, 0x97
lea ecx, [rdx - 0x43]
ror al, cl
nop word [rax + rax]
adc al, 0xf1
xadd al, ah
mov eax, edx
shr eax, 0x1e
test bh, 0xc7
xor eax, edx
rcl dl, cl
bt edx, r11d
sal dh, 0x98
imul edx, eax, 0x6c078965
add edx, ecx
jmp 0x14005caf0
mov dword [rbp + rcx*4 + 0xa4], edx
jmp 0x14005cafc
inc rcx
cmp rcx, 0x270
jb 0x14005cad0
mov dword [rbp + 0xa0], 0x270
mov dx, r9w
btc rdx, 0x37
lea rcx, [rbp + 0x28b0]
test r10, 0x4e0116db
sal dx, 0x86
adc edx, ebp
mov rdx, qword [rbp + 0x28c0]
jmp 0x14005cb3f
cmp qword [rbp + 0x28c8], 0x10
jmp 0x14005cb4c
jb 0x14005cb6a
mov rcx, qword [rbp + 0x28b0]
test r9b, dl
stc
add rdx, rcx
jmp 0x14005cb65
jmp 0x14005cb8e
add rdx, rcx
mov rcx, 0x28444a9e
movzx cx, r13b
lea rcx, [rbp + 0x28b0]
movzx r8, r12w
cmovae r8w, r12w
movsx r8w, dl
lea r8, [rbp + 0xa0]
jmp 0x14005cb9a
call fcn.1400343b0
lea rdx, [0x140040050]
mov cx, r13w
mov cx, 0x67a7
movsx rcx, bx
lea rcx, [rbp + 0x28d0]
call fcn.1400309a0
nop
movzx edx, r8w
mov dword [rbp + 0x27b4], 0xffffffff
shl rcx, cl
shr edx, 0xa0
mov dword [rbp + 0x1434], 0x44
adc ax, 0x570f
rcr dx, 0x81
inc ax
mov edx, 0x44
rcr cl, 0x98
lea ecx, [rdx - 0x43]
and eax, esi
ror ah, 0xaa
nop word [rax + rax]
cmp r11w, 0x58a5
inc ah
mov eax, edx
shr eax, 0x1e
xor eax, edx
rcr dx, 0x31
not dh
cmp dx, r12w
imul edx, eax, 0x6c078965
cmp cl, 0x69
test r11b, 0xfc
cmc
add edx, ecx
mov dword [rbp + rcx*4 + 0x1434], edx
inc rcx
jmp 0x14005cc3e
cmp rcx, 0x270
jmp 0x14005cc4a
jb 0x14005cc0a
mov dword [rbp + 0x1430], 0x270
jmp 0x14005cc65
lea rcx, [rbp + 0x28d0]
mov rdx, qword [rbp + 0x28e0]
test dil, dl
cmp r8w, r10w
cmc
cmp qword [rbp + 0x28e8], 0x10
jmp 0x14005cc88
jb 0x14005cca4
mov rcx, qword [rbp + 0x28d0]
cmc
stc
add rdx, rcx
jmp 0x14005cc9f
jmp 0x14005ccbf
add rdx, rcx
bswap cx
mov cl, r11b
movsx r8d, di
lea rcx, [rbp + 0x28d0]
movsxd r8, r11d
setae r8b
lea r8, [rbp + 0x1430]
jmp 0x14005cccb
call fcn.1400343b0
lea r8, [rbp + 0x28d0]
mov dx, r14w
not dh
lea rdx, [rbp + 0x28b0]
movsxd rcx, edi
lea rcx, [rbp + 0x2940]
jmp 0x14005ccf3
call fcn.14005c3cc
sub ecx, ecx
jmp 0x14005ccff
call 0x140e1a4c2
int3