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

Disassembly:
push rax
pushf
mov eax, 0xa0dc6785
pushf
not eax
add eax, 0x8c3a6ddc
xor eax, 0xfe1551a6
rol eax, 0xa0
popf
pushf
not eax
add eax, 0xa75e3db4
xor eax, 0x9212e5c3
rol eax, 0x6e
popf
cmp eax, 4
jne 0x140045c83
popf
pop rax
jmp 0x140045f76
cmp eax, 0
jne 0x140045c92
popf
pop rax
jmp 0x140045d19
cmp eax, 3
jne 0x140045ca1
popf
pop rax
jmp 0x140045f15
cmp eax, 1
jne 0x140045cb0
popf
pop rax
jmp 0x140045e11
cmp eax, 0xa
jne 0x140045cbf
popf
pop rax
jmp 0x140046334
cmp eax, 7
jne 0x140045cce
popf
pop rax
jmp 0x14004613c
cmp eax, 6
jne 0x140045cdd
popf
pop rax
jmp 0x14004604b
cmp eax, 2
jne 0x140045cec
popf
pop rax
jmp 0x140045e76
cmp eax, 9
jne 0x140045cfb
popf
pop rax
jmp 0x1400462c5
cmp eax, 8
jne 0x140045d0a
popf
pop rax
jmp 0x1400461fa
cmp eax, 5
jne 0x140045d19
popf
pop rax
jmp 0x14004600e
sub rsp, 8
mov r9, rcx
mov r10d, 0x575196cc
pushf
not r10d
add r10d, 0x94a69365
xor r10d, 0xdb1da735
rol r10d, 0xe5
popf
pushf
not r10d
add r10d, 0xb72632bc
xor r10d, 0xe91abcff
rol r10d, 0x8f
popf
mov ecx, dword [rcx]
cmp ecx, r10d
jne 0x140045db8
push rax
pushf
mov eax, 0x17016e3b
pushf
not eax
add eax, 0x8c02e2c1
xor eax, 0xc4e9df73
rol eax, 0x8f
popf
pushf
not eax
add eax, 0xca4c41fc
xor eax, 0xaed985a2
rol eax, 0x63
popf
pushf
not eax
add eax, 0xc3325e90
xor eax, 0xe8be5a40
rol eax, 0x4d
popf
pushf
not eax
add eax, 0xeb2f1e92
xor eax, 0xd6cafdc2
rol eax, 0xfe
popf
jmp 0x140045c74
push rax
pushf
mov eax, 0x491cb8eb
pushf
not eax
add eax, 0xf13e38d9
xor eax, 0xe8d3bf7b
rol eax, 0x30
popf
pushf
not eax
add eax, 0xc38daed3
xor eax, 0xa4803a9f
rol eax, 0xf3
popf
pushf
not eax
add eax, 0xaca85cc1
xor eax, 0x85054f65
rol eax, 0x82
popf
pushf
not eax
add eax, 0xd372a381
xor eax, 0xf8b909f3
rol eax, 0xc8
popf
jmp 0x140045c74
lea r8, [r9 + 8]
nop dword [rax + rax]
push rax
pushf
mov eax, 0x1450c0f1
pushf
not eax
add eax, 0xb22baaca
xor eax, 0xe87de958
rol eax, 0xba
popf
pushf
not eax
add eax, 0x9d994e40
xor eax, 0x9b85b56c
rol eax, 0xe4
popf
pushf
not eax
add eax, 0xf10998e5
xor eax, 0xdc28ca88
rol eax, 0xd0
popf
pushf
not eax
add eax, 0xbc945312
xor eax, 0xd3382220
rol eax, 0x7b
popf
jmp 0x140045c74
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 0x140045ee2
push rax
pushf
mov eax, 0xabfdf61a
pushf
not eax
add eax, 0xafb03378
xor eax, 0xc70fdd83
rol eax, 0x55
popf
pushf
not eax
add eax, 0xd627d5cd
xor eax, 0xba4f3e20
rol eax, 0xfc
popf
jmp 0x140045c74
push rax
pushf
mov eax, 0xc3971838
pushf
not eax
add eax, 0xde599a2e
xor eax, 0xb6a47393
rol eax, 0x6a
popf
pushf
not eax
add eax, 0x807d6325
xor eax, 0xe6b3c873
rol eax, 0xa8
popf
jmp 0x140045c74
mov ecx, dword [r9]
jmp 0x140046334
cmp ecx, 0x4e0
jb 0x140045fc8
push rax
pushf
mov eax, 0x83ff3d41
pushf
not eax
add eax, 0xd567565f
xor eax, 0xd7d6e190
rol eax, 0x39
popf
pushf
not eax
add eax, 0xb0e4a3f8
xor eax, 0xcd8b45b0
rol eax, 0x5d
popf
pushf
not eax
add eax, 0xa7428ec3
xor eax, 0xdc370249
rol eax, 0x20
popf
jmp 0x140045c74
push rax
pushf
mov eax, 0xfc4ee4d4
pushf
not eax
add eax, 0x9f46ed16
xor eax, 0x99d45835
rol eax, 0xce
popf
pushf
not eax
add eax, 0xf35a1a45
xor eax, 0xb73eb017
rol eax, 0x48
popf
pushf
not eax
add eax, 0xc0279e26
xor eax, 0x946c2fbd
rol eax, 0x26
popf
jmp 0x140045c74
lea r10, [r9 + 0x9c4]
mov qword [rsp], rbx
mov r11d, dword [r10]
mov ebx, 0xe60b7563
pushf
not ebx
add ebx, 0xbe628e35
xor ebx, 0xff4b9cae
rol ebx, 0x9b
popf
pushf
not ebx
add ebx, 0x8a59c648
xor ebx, 0x8920e223
rol ebx, 0xa5
popf
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
add r10, 4
mov edx, r11d
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x634]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x1400460e3
push rax
pushf
mov eax, 0x56971036
pushf
not eax
add eax, 0xb6395261
xor eax, 0xe84ebd84
rol eax, 0xdd
popf
pushf
not eax
add eax, 0xff88f44d
xor eax, 0xd10e0db8
rol eax, 6
popf
pushf
not eax
add eax, 0xc43b2ff9
xor eax, 0xe92cbfd1
rol eax, 0xc1
popf
pushf
not eax
add eax, 0xae3d4cbc
xor eax, 0x8aad3464
rol eax, 0x86
popf
jmp 0x140045c74
push rax
pushf
mov eax, 0x28a28ecb
pushf
not eax
add eax, 0xda16047d
xor eax, 0xff4a1f37
rol eax, 0xa0
popf
pushf
not eax
add eax, 0xa3ea0273
xor eax, 0xf523255f
rol eax, 0xf8
popf
pushf
not eax
add eax, 0xbc4e735d
xor eax, 0xd97c6fa6
rol eax, 0x30
popf
pushf
not eax
add eax, 0x915bb3af
xor eax, 0xe14e81dd
rol eax, 0x94
popf
jmp 0x140045c74
lea r10, [r9 + 0xd50]
mov ebx, 0xa10e1e81
pushf
not ebx
add ebx, 0xd194f32d
xor ebx, 0xdb014b0d
rol ebx, 0x93
popf
pushf
not ebx
add ebx, 0x88b962f1
xor ebx, 0xe9036cb8
rol ebx, 0x7e
popf
pushf
not ebx
add ebx, 0xd1997f23
xor ebx, 0x83ec618f
rol ebx, 0x19
popf
pushf
not ebx
add ebx, 0xa3d1e1f5
xor ebx, 0x835b716a
rol ebx, 0xb9
popf
mov r11d, dword [r10]
nop
push rax
pushf
mov eax, 0xe3a1bf43
pushf
not eax
add eax, 0xeda25016
xor eax, 0xf0e00994
rol eax, 0x3f
popf
pushf
not eax
add eax, 0x94c2e46a
xor eax, 0x8f57075f
rol eax, 0x88
popf
pushf
not eax
add eax, 0x9620e45b
xor eax, 0xe6844b37
rol eax, 0x6c
popf
pushf
not eax
add eax, 0xfeb87df5
xor eax, 0xbf992693
rol eax, 0x4b
popf
jmp 0x140045c74
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
mov edx, eax
xor edx, r11d
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 - 0xd4c]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x14004627f
push rax
pushf
mov eax, 0xf0adaad5
pushf
not eax
add eax, 0x83b747b7
xor eax, 0xb8b1daab
rol eax, 0xdd
popf
pushf
not eax
add eax, 0xc5346c55
xor eax, 0xf4f6958b
rol eax, 0x52
popf
pushf
not eax
add eax, 0xc550cc40
xor eax, 0xed4e9f34
rol eax, 0x7e
popf
jmp 0x140045c74
push rax
pushf
mov eax, 0xf79b090b
pushf
not eax
add eax, 0xd2a8ee2f
xor eax, 0x8a2e88af
rol eax, 0x53
popf
pushf
not eax
add eax, 0x94ac29bc
xor eax, 0xf09aebda
rol eax, 0xc6
popf
pushf
not eax
add eax, 0xec5a728e
xor eax, 0xb78713d7
rol eax, 0x74
popf
jmp 0x140045c74
mov eax, dword [r9 + 0x1380]
mov edx, eax
xor edx, dword [r9 + 4]
mov rbx, qword [rsp]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r9 + 0x634]
xor ecx, edx
mov dword [r9 + 0x9c0], ecx
xor ecx, ecx
mov dword [r9], ecx
push rax
pushf
mov eax, 0x577eecb1
pushf
not eax
add eax, 0xbf766c78
xor eax, 0xe8958c63
rol eax, 0x41
popf
pushf
not eax
add eax, 0xcb40701e
xor eax, 0xac7a8882
rol eax, 0x7d
popf
jmp 0x140045c74
mov eax, ecx
mov edx, dword [r9 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r9], eax
mov ecx, edx
mov eax, dword [r9 + 0x1384]
shr ecx, 0xb
and eax, ecx
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 eax, edx
shr eax, 0x12
xor eax, edx
add rsp, 8
ret