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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x70
mov eax, dword [0x1403fbb08]
mov edx, dword [0x1403fbb0c]
lea ebp, [rax - 1]
imul ebp, eax
test bpl, 1
sete byte [rsp + 0x15]
cmp edx, 0xa
setl byte [rsp + 0x16]
lea rax, [rcx + 4]
mov r11d, 0x4ce071e5
mov edx, 0x80000000
mov r14d, 0x7cdd53ce
mov r15d, 0x498eeb9c
mov r13d, 0x9cbf1393
mov r12d, 0x45942e01
mov r8d, 0xf053105c
cmp r11d, 0xf6196b08
jle 0x14002fe7b
cmp r11d, 0x498eeb9b
jg 0x14002ff07
cmp r11d, 0x326e442d
jg 0x14002ff9d
cmp r11d, 0x27cbf6bc
jg 0x1400300e1
cmp r11d, 0xf6196b09
je 0x140030319
cmp r11d, 0x3229807
jne 0x14002fe0e
mov qword [rsp + 0x28], r9
mov rbp, qword [rsp + 0x28]
cmp rbp, 0xe3
mov r11d, 0x71754cb3
mov ebp, 0x593206a1
cmovb r11d, ebp
mov r10, qword [rsp + 0x28]
jmp 0x14002fe0e
cmp r11d, 0xa7912e14
jle 0x14002ff5b
cmp r11d, 0xe072e34c
jg 0x14002ffcf
cmp r11d, 0xb67887a1
jg 0x140030140
cmp r11d, 0xa7912e15
je 0x1400304e4
cmp r11d, 0xb2b1d64f
jne 0x14002fe0e
mov qword [rsp + 0x18], rax
mov rbp, qword [rsp + 8]
mov rbx, qword [rsp + 0x18]
mov ebx, dword [rbx + rbp*4 + 0x9c0]
and ebx, edx
mov dword [rsp + 0x48], ebx
mov rbx, qword [rsp + 0x18]
mov ebp, dword [rbx + rbp*4 + 0x9c4]
mov dword [rsp + 0x4c], ebp
mov ebp, dword [0x1403fbb08]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
mov r11d, 0xf6196b09
mov esi, 0x8b6684cb
jmp 0x14003057b
cmp r11d, 0x5bc180f7
jg 0x140030027
cmp r11d, 0x4e8820b7
jg 0x140030179
cmp r11d, 0x498eeb9c
je 0x140030338
cmp r11d, 0x4ce071e5
jne 0x14002fe0e
mov sil, byte [rsp + 0x15]
cmp byte [rsp + 0x16], 0
mov r11d, 0xe072e34d
cmovne r11d, r15d
test sil, sil
cmovne r11d, r15d
jmp 0x14002fe0e
cmp r11d, 0x9b9d5500
jle 0x140030077
cmp r11d, 0xa471b1fa
jg 0x140030204
cmp r11d, 0x9b9d5501
je 0x140030362
cmp r11d, 0x9cbf1393
jne 0x14002fe0e
mov r11d, 0x3229807
xor r9d, r9d
jmp 0x14002fe0e
cmp r11d, 0x45942e00
jg 0x140030229
cmp r11d, 0x326e442e
je 0x140030372
cmp r11d, 0x44204d42
jne 0x14002fe0e
mov r11d, 0x27cbf6bd
jmp 0x14002fe0e
cmp r11d, 0xeb47019b
jg 0x140030292
cmp r11d, 0xe072e34d
je 0x1400304f4
cmp r11d, 0xe30368c6
jne 0x14002fe0e
mov rbp, qword [rsp + 0x58]
mov ebp, dword [rbp]
xor ebp, dword [rsp + 0x44]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
mov dword [rbx + rdi*4], ebp
mov rbp, qword [rsp + 0x28]
inc rbp
mov qword [rsp + 0x60], rbp
mov r11d, 0x9b9d5501
jmp 0x14002fe0e
cmp r11d, 0x71754cb2
jg 0x1400302dc
cmp r11d, 0x5bc180f8
je 0x14003038b
cmp r11d, 0x65771968
jne 0x14002fe0e
mov ebp, dword [0x1403fbb08]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
mov r11d, 0x83abc94f
cmove r11d, r12d
cmp dword [0x1403fbb0c], 0xa
cmovl r11d, r12d
jmp 0x14002fe0e
cmp r11d, 0x8b6684ca
jg 0x140030301
cmp r11d, 0x83718db0
je 0x1400304ff
cmp r11d, 0x83abc94f
jne 0x14002fe0e
mov rbp, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x50]
mov ebp, dword [rbp + rbx*4]
mov ebx, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x10]
xor ebp, dword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov rdi, qword [rsp + 8]
mov dword [rbx + rdi*4], ebp
mov rbp, qword [rsp + 8]
mov r11d, 0x45942e01
jmp 0x14002fe0e
cmp r11d, 0x27cbf6bd
je 0x1400303b5
cmp r11d, 0x2de6c3ab
jne 0x14002fe0e
mov qword [rsp + 0x38], rcx
mov rbp, qword [rsp + 0x38]
add rbp, 4
mov qword [rsp + 0x20], rbp
mov rbp, qword [rsp + 8]
mov rbx, qword [rsp + 0x20]
mov ebp, dword [rbx + rbp*4 + 0x9c0]
and ebp, edx
mov rbx, qword [rsp + 0x20]
mov ebx, dword [rbx]
mov edi, 0x7fffffff
and ebx, edi
or ebx, ebp
mov dword [rsp + 4], ebx
mov r11d, 0xa6ccad86
jmp 0x14002fe0e
cmp r11d, 0xb67887a2
je 0x140030556
cmp r11d, 0xbe611fc6
jne 0x14002fe0e
mov ebp, dword [0x1403fbb08]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
mov r11d, 0x4e8820b8
mov esi, 0x83718db0
jmp 0x14003057b
cmp r11d, 0x4e8820b8
je 0x1400303d5
cmp r11d, 0x593206a1
jne 0x14002fe0e
mov qword [rsp + 0x30], rax
mov rbp, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov esi, dword [rsi + rbp*4 + 0x9c0]
and esi, edx
mov rbx, qword [rsp + 0x30]
mov edi, dword [rbx + rbp*4 + 0x9c4]
mov ebx, edi
and ebx, 0x7fffffff
or esi, ebx
shr esi, 1
xor edi, 0x7ffffffe
test edi, ebx
mov ebx, 0x3d4896dd
mov edi, 0xa4402602
cmove ebx, edi
xor ebx, esi
xor ebx, 0xa4402602
mov dword [rsp + 0x44], ebx
mov rbx, qword [rsp + 0x30]
lea rbp, [rbx + rbp*4]
add rbp, 0xff4
mov qword [rsp + 0x58], rbp
mov r11d, 0xe30368c6
jmp 0x14002fe0e
cmp r11d, 0xa471b1fb
je 0x14003045b
cmp r11d, 0xa6ccad86
jne 0x14002fe0e
mov r11d, 0xbe611fc6
jmp 0x14002fe0e
cmp r11d, 0x45942e01
je 0x14003046b
cmp r11d, 0x47be3087
jne 0x14002fe0e
mov ebp, dword [rsp + 0x4c]
mov ebx, 0x7fffffff
and ebp, ebx
or ebp, dword [rsp + 0x48]
mov ebx, ebp
shr ebx, 1
test bpl, 1
mov ebp, 0xe96ee265
mov edi, 0x706652ba
cmove ebp, edi
xor ebp, ebx
xor ebp, 0x706652ba
mov dword [rsp + 0x10], ebp
mov rbp, qword [rsp + 8]
mov rbx, 0xffffffffffffff1d
add rbp, rbx
mov qword [rsp + 0x50], rbp
mov r11d, 0x65771968
jmp 0x14002fe0e
cmp r11d, 0xeb47019c
je 0x140030561
cmp r11d, 0xf053105c
jne 0x14002fe0e
mov rbp, qword [rsp + 8]
cmp rbp, 0x26f
setb byte [rsp + 0x17]
mov ebp, dword [0x1403fbb08]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
mov r11d, 0xa471b1fb
mov esi, 0x326e442e
jmp 0x14003057b
cmp r11d, 0x71754cb3
je 0x1400304b6
cmp r11d, 0x7cdd53ce
jne 0x14002fe0e
mov r11d, 0x44204d42
jmp 0x14002fe0e
cmp r11d, 0x8b6684cb
jne 0x14003058f
mov r11d, 0x47be3087
jmp 0x14002fe0e
mov rbp, qword [rsp + 8]
mov rbp, qword [rsp + 8]
mov rbp, qword [rsp + 8]
mov rbp, qword [rsp + 8]
mov r11d, 0xb2b1d64f
jmp 0x14002fe0e
mov esi, dword [0x1403fbb08]
lea ebp, [rsi - 1]
imul ebp, esi
test bpl, 1
mov r11d, 0xe072e34d
cmove r11d, r14d
cmp dword [0x1403fbb0c], 0xa
cmovl r11d, r14d
jmp 0x14002fe0e
mov r11d, 0x3229807
mov r9, qword [rsp + 0x60]
jmp 0x14002fe0e
cmp byte [rsp + 0x17], 0
mov r11d, 0x2de6c3ab
mov esi, 0xeb47019c
cmovne r11d, esi
jmp 0x14002fe0e
mov ebp, dword [0x1403fbb08]
lea esi, [rbp - 1]
imul esi, ebp
test sil, 1
mov r11d, 0xb67887a2
cmove r11d, r13d
cmp dword [0x1403fbb0c], 0xa
cmovl r11d, r13d
jmp 0x14002fe0e
mov ebp, dword [0x1403fbb08]
lea esi, [rbp - 1]
imul esi, ebp
test sil, 1
mov r11d, 0xb67887a2
mov esi, 0x5bc180f8
jmp 0x14003057b
mov ebp, dword [rsp + 4]
mov ebp, dword [rsp + 4]
mov ebp, dword [rsp + 4]
mov ebp, dword [rsp + 4]
mov ebp, dword [rsp + 4]
mov ebp, dword [rsp + 4]
mov ebp, dword [rsp + 4]
mov ebp, dword [rsp + 4]
mov ebp, dword [rsp + 4]
shr ebp, 1
mov ebx, dword [rsp + 4]
mov ebx, dword [rsp + 4]
mov ebx, dword [rsp + 4]
mov ebx, dword [rsp + 4]
mov ebx, dword [rsp + 4]
mov ebx, dword [rsp + 4]
mov ebx, dword [rsp + 4]
mov ebx, dword [rsp + 4]
mov ebx, dword [rsp + 4]
and ebx, 1
neg ebx
mov rdi, qword [rsp + 0x20]
xor ebp, dword [rdi + 0x630]
and ebx, 0x9908b0df
xor ebp, ebx
mov rbx, qword [rsp + 0x20]
mov rdi, qword [rsp + 8]
mov dword [rbx + rdi*4], ebp
mov rbp, qword [rsp + 0x38]
mov dword [rbp], 0
mov r11d, 0x83718db0
jmp 0x14002fe0e
mov rbp, qword [rsp + 8]
mov r11d, 0xf053105c
jmp 0x14002fe0e
mov rbp, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x50]
mov ebp, dword [rbp + rbx*4]
xor ebp, dword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov rdi, qword [rsp + 8]
mov dword [rbx + rdi*4], ebp
mov rbp, qword [rsp + 8]
inc rbp
mov qword [rsp + 0x68], rbp
mov ebp, dword [0x1403fbb08]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
mov r11d, 0x83abc94f
mov esi, 0xa7912e15
jmp 0x14003057b
mov qword [rsp + 8], r10
mov ebp, dword [0x1403fbb08]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
mov r11d, 0xa471b1fb
cmove r11d, r8d
cmp dword [0x1403fbb0c], 0xa
cmovl r11d, r8d
jmp 0x14002fe0e
mov r11d, 0x71754cb3
mov r10, qword [rsp + 0x68]
jmp 0x14002fe0e
mov r11d, 0x498eeb9c
jmp 0x14002fe0e
mov ebp, dword [rsp + 4]
shr ebp, 1
mov ebx, dword [rsp + 4]
and ebx, 1
neg ebx
and ebx, 0x9908b0df
mov rdi, qword [rsp + 0x20]
xor ebp, dword [rdi + 0x630]
xor ebp, ebx
mov rbx, qword [rsp + 0x20]
mov rdi, qword [rsp + 8]
mov dword [rbx + rdi*4], ebp
mov rbp, qword [rsp + 0x38]
mov dword [rbp], 0
mov ebp, dword [0x1403fbb08]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
mov r11d, 0x4e8820b8
mov esi, 0x9951fa86
jmp 0x14003057b
mov r11d, 0x5bc180f8
jmp 0x14002fe0e
mov ebp, dword [0x1403fbb08]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
mov r11d, 0xf6196b09
mov esi, 0xb2b1d64f
cmove r11d, esi
cmp dword [0x1403fbb0c], 0xa
cmovl r11d, esi
jmp 0x14002fe0e
cmp r11d, 0x9951fa86
jne 0x14002fe0e
add rsp, 0x70
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret