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

Disassembly:
push rax
pushf
mov eax, 0xac2b52f
pushf
not eax
add eax, 0xbcc259b7
xor eax, 0xa1784a45
rol eax, 0xba
popf
pushf
not eax
add eax, 0xd04d87b3
xor eax, 0x9e762933
rol eax, 0xe3
popf
pushf
not eax
add eax, 0xd22d94e5
xor eax, 0xa4f60359
rol eax, 0x42
popf
pushf
not eax
add eax, 0xd340b601
xor eax, 0xe86c3f92
rol eax, 0x5b
popf
cmp eax, 4
jne 0x14015b6d2
popf
pop rax
jmp 0x14015bafe
cmp eax, 0
jne 0x14015b6e1
popf
pop rax
jmp 0x14015b768
cmp eax, 3
jne 0x14015b6f0
popf
pop rax
jmp 0x14015baa9
cmp eax, 1
jne 0x14015b6ff
popf
pop rax
jmp 0x14015b8fc
cmp eax, 0xa
jne 0x14015b70e
popf
pop rax
jmp 0x14015be4b
cmp eax, 7
jne 0x14015b71d
popf
pop rax
jmp 0x14015bcb5
cmp eax, 6
jne 0x14015b72c
popf
pop rax
jmp 0x14015bc10
cmp eax, 2
jne 0x14015b73b
popf
pop rax
jmp 0x14015b9b3
cmp eax, 9
jne 0x14015b74a
popf
pop rax
jmp 0x14015be02
cmp eax, 8
jne 0x14015b759
popf
pop rax
jmp 0x14015bd4f
cmp eax, 5
jne 0x14015b768
popf
pop rax
jmp 0x14015bbd6
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
mov eax, 0x4fad3ed6
pushf
not eax
add eax, 0xf454c348
xor eax, 0xdf84539f
rol eax, 0xd4
popf
pushf
not eax
add eax, 0xdf78c7a5
xor eax, 0xf6b8ab26
rol eax, 0x50
popf
pushf
not eax
add eax, 0x9330d11a
xor eax, 0xd4ebcaf0
rol eax, 0x1a
popf
call fcn.140181e18
sub rsp, rax
mov rax, qword [0x140030040]
xor rax, rsp
mov qword [rsp + 0x13b0], rax
mov edi, edx
mov ebx, ecx
call fcn.1401c3347
mov dword [rsp + 0x24], eax
mov r9d, 0xa4374f8c
pushf
not r9d
add r9d, 0xa140cbef
xor r9d, 0x8d9ee18b
rol r9d, 0x7c
popf
pushf
not r9d
add r9d, 0xe86bac5c
xor r9d, 0xa346c8cf
rol r9d, 0x59
popf
pushf
not r9d
add r9d, 0xf6817fa1
xor r9d, 0x919d35ab
rol r9d, 0x68
popf
mov r10d, 0x831e4f97
pushf
not r10d
add r10d, 0x87e0cb07
xor r10d, 0xab991d10
rol r10d, 0x60
popf
pushf
not r10d
add r10d, 0xe150ed7d
xor r10d, 0xcbdc421c
rol r10d, 0
popf
pushf
not r10d
add r10d, 0xf8a9413d
xor r10d, 0xdb66adbb
rol r10d, 0x9f
popf
pushf
not r10d
add r10d, 0xf69665de
xor r10d, 0xdc097cec
rol r10d, 0x29
popf
mov dword [rsp + 0x13a4], 0xffffffff
push rax
pushf
mov eax, 0x1c4935a7
pushf
not eax
add eax, 0xea9ef8c0
xor eax, 0xf04ce3ed
rol eax, 0xc1
popf
pushf
not eax
add eax, 0xe406029d
xor eax, 0x8c6f9ec8
rol eax, 0x85
popf
pushf
not eax
add eax, 0xbeb5001b
xor eax, 0xab0c58a4
rol eax, 0x69
popf
pushf
not eax
add eax, 0xfc346fef
xor eax, 0x91643c16
rol eax, 0xc3
popf
jmp 0x14015b6c3
mov r8d, eax
shr r8d, 0x1e
xor r8d, eax
imul eax, r8d, 0x6c078965
push r9
not r9d
sub eax, r9d
pop r9
sub eax, 1
mov dword [rsp + r9*4 + 0x24], eax
inc r9
cmp r9, r10
jb 0x14015b96d
push rax
pushf
mov eax, 0xa4fcea77
pushf
not eax
add eax, 0xdac427a2
xor eax, 0xdaed3915
rol eax, 0x4b
popf
pushf
not eax
add eax, 0xb0c32f8f
xor eax, 0xd6393e1b
rol eax, 0xf9
popf
pushf
not eax
add eax, 0xe99e83ae
xor eax, 0xcc3153b1
rol eax, 0x3c
popf
jmp 0x14015b6c3
push rax
pushf
mov eax, 0x3f8ee68b
pushf
not eax
add eax, 0x93927a30
xor eax, 0xa02d716d
rol eax, 0xfa
popf
pushf
not eax
add eax, 0x8156168a
xor eax, 0xb8480ed6
rol eax, 0x16
popf
pushf
not eax
add eax, 0xa85dc9f2
xor eax, 0x9f25569c
rol eax, 0xe8
popf
jmp 0x14015b6c3
lea eax, [rbx - 0x80000000]
mov dword [rsp + 0x20], r10d
mov ebp, 0xd1ff9822
pushf
not ebp
add ebp, 0xf01bfd91
xor ebp, 0xa4d78028
rol ebp, 0x48
popf
pushf
not ebp
add ebp, 0x8ee661ba
xor ebp, 0xd3011aff
rol ebp, 0xa3
popf
cmp ebx, ebp
lea esi, [rbx + rbp]
cmovae esi, eax
lea ebx, [rdi + rbp]
cmp edi, ebp
lea eax, [rdi - 0x80000000]
cmovae ebx, eax
sub ebx, esi
cmp ebx, 0xffffffff
jne 0x14015ba50
push rax
pushf
mov eax, 0x1af6b409
pushf
not eax
add eax, 0xd65a2199
xor eax, 0xe5ed4b1c
rol eax, 0x61
popf
pushf
not eax
add eax, 0xf3a87c22
xor eax, 0xbee08329
rol eax, 0xe6
popf
pushf
not eax
add eax, 0xf9d52a59
xor eax, 0xd8a9b5b6
rol eax, 0xe7
popf
jmp 0x14015b6c3
push rax
pushf
mov eax, 0xd40bda
pushf
not eax
add eax, 0xc204f9bc
xor eax, 0xc24aa44b
rol eax, 0x21
popf
pushf
not eax
add eax, 0xc188af20
xor eax, 0xcf4025fc
rol eax, 0x63
popf
pushf
not eax
add eax, 0xe6986b0c
xor eax, 0xcb9f27d1
rol eax, 0xa6
popf
pushf
not eax
add eax, 0x9f22f207
xor eax, 0x84cb519f
rol eax, 0x5e
popf
jmp 0x14015b6c3
lea r8, [rsp + 0x28]
nop word [rax + rax]
push rax
pushf
mov eax, 0x9a8be261
pushf
not eax
add eax, 0xeccefe31
xor eax, 0x960944b9
rol eax, 0x39
popf
pushf
not eax
add eax, 0x93bb4c59
xor eax, 0xae66166e
rol eax, 0xeb
popf
pushf
not eax
add eax, 0xd6dc21dd
xor eax, 0xb1cc819a
rol eax, 0xc3
popf
jmp 0x14015b6c3
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, 1
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 r10, 1
jne 0x14015bb7d
push rax
pushf
mov eax, 0xcdc3ab96
pushf
not eax
add eax, 0xbe0995b2
xor eax, 0xdb1937b2
rol eax, 0x8f
popf
pushf
not eax
add eax, 0xfa3ab310
xor eax, 0xeacd1e34
rol eax, 0x14
popf
pushf
not eax
add eax, 0xe72e1e2d
xor eax, 0xb1da837c
rol eax, 0x91
popf
jmp 0x14015b6c3
push rax
pushf
mov eax, 0xd16d3641
pushf
not eax
add eax, 0xff249102
xor eax, 0xeb10c6ec
rol eax, 0xc1
popf
pushf
not eax
add eax, 0xcfdd99cb
xor eax, 0xf09b895d
rol eax, 0x6b
popf
pushf
not eax
add eax, 0xe36197d1
xor eax, 0x8ace1bbb
rol eax, 0xa0
popf
pushf
not eax
add eax, 0x997c359f
xor eax, 0xdb8e0ba3
rol eax, 0xea
popf
jmp 0x14015b6c3
mov eax, dword [rsp + 0x20]
mov edx, dword [rsp + rax*4 + 0x24]
mov eax, edx
shr eax, 0xb
and eax, dword [rsp + 0x13a4]
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov ecx, edx
shr ecx, 0x12
xor ecx, edx
jmp 0x14015be4b
lea rcx, [rsp + 0x20]
jmp 0x14015bc16
inc ebx
call fcn.14013a967
mov ecx, eax
mov edi, ebx
imul rcx, rdi
cmp ecx, ebx
jae 0x14015bc82
push rax
pushf
mov eax, 0x897d330f
pushf
not eax
add eax, 0xf46884d6
xor eax, 0xcabcf1a5
rol eax, 0x64
popf
pushf
not eax
add eax, 0xa6287b21
xor eax, 0xb3e29649
rol eax, 0xd0
popf
pushf
not eax
add eax, 0xeb7e07f5
xor eax, 0xca0a1855
rol eax, 0x23
popf
pushf
not eax
add eax, 0xd7d5b113
xor eax, 0xc1ae5524
rol eax, 0xf6
popf
jmp 0x14015b6c3
push rax
pushf
mov eax, 0x87698828
pushf
not eax
add eax, 0x8386ce5f
xor eax, 0xfc9dec2e
rol eax, 0xed
popf
pushf
not eax
add eax, 0x9e0f5a18
xor eax, 0xa8cc5a06
rol eax, 0x43
popf
jmp 0x14015b6c3
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x14015bcf6
push rax
pushf
mov eax, 0x36c327b6
pushf
not eax
add eax, 0xd3186100
xor eax, 0xcd792135
rol eax, 0x30
popf
pushf
not eax
add eax, 0xc3022c58
xor eax, 0xa285db2b
rol eax, 0x88
popf
jmp 0x14015b6c3
push rax
pushf
mov eax, 0x3549472a
pushf
not eax
add eax, 0xb4670039
xor eax, 0x89c97854
rol eax, 0xf7
popf
pushf
not eax
add eax, 0xb43dfc8e
xor eax, 0xae212bbb
rol eax, 0x46
popf
pushf
not eax
add eax, 0xaaf14286
xor eax, 0xf914699b
rol eax, 3
popf
pushf
not eax
add eax, 0xee583d7b
xor eax, 0xdda29376
rol eax, 5
popf
jmp 0x14015b6c3
lea rcx, [rsp + 0x20]
call fcn.14013a967
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x14015bda9
push rax
pushf
mov eax, 0x2e0f36b3
pushf
not eax
add eax, 0xb55e092a
xor eax, 0xadb86314
rol eax, 0xfb
popf
pushf
not eax
add eax, 0x9615ba65
xor eax, 0xe23adc04
rol eax, 0x5c
popf
pushf
not eax
add eax, 0xa8ed3ada
xor eax, 0xd286ad4c
rol eax, 0x12
popf
jmp 0x14015b6c3
push rax
pushf
mov eax, 0x59548bf8
pushf
not eax
add eax, 0x825909ba
xor eax, 0xb1648922
rol eax, 0x93
popf
pushf
not eax
add eax, 0xc1a5d765
xor eax, 0xd1da6a8f
rol eax, 0xcb
popf
pushf
not eax
add eax, 0xccfe2cf2
xor eax, 0xff02fcfb
rol eax, 0x6e
popf
pushf
not eax
add eax, 0xdb08c497
xor eax, 0xa06d9115
rol eax, 0xe6
popf
jmp 0x14015b6c3
shr rcx, 0x20
push rax
pushf
mov eax, 0x5255dfc
pushf
not eax
add eax, 0xfa7cd303
xor eax, 0xd664f08a
rol eax, 0x35
popf
pushf
not eax
add eax, 0xcea0ce42
xor eax, 0x82ba6d73
rol eax, 0x5a
popf
pushf
not eax
add eax, 0x86d00fd5
xor eax, 0xfc5177af
rol eax, 1
popf
jmp 0x14015b6c3
lea edx, [rsi + rcx]
cmp edx, ebp
lea ecx, [rdx - 0x80000000]
lea eax, [rdx + rbp]
cmovae eax, ecx
mov rcx, qword [rsp + 0x13b0]
xor rcx, rsp
call fcn.140178dd1
lea r11, [rsp + 0x13c0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret