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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
nop
mov eax, dword [ebp + 8]
add eax, 0x9c0
mov ecx, dword [eax]
cmp ecx, 0x270
jl 0x410f54
mov eax, 0
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, 0x251
jge 0x410e67
jmp 0x410dfe
mov eax, dword [ebp - 8]
mov ecx, eax
inc eax
mov dword [ebp - 8], eax
jmp 0x410ddf
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
shl ecx, 2
add eax, ecx
mov ecx, dword [eax]
and ecx, 0x80000000
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 8]
inc edx
shl edx, 2
add eax, edx
mov edx, dword [eax]
and edx, 0x7fffffff
add ecx, edx
mov dword [ebp - 4], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
shl ecx, 2
add eax, ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
add edx, 0x1f
shl edx, 2
add ecx, edx
mov edx, dword [ebp - 4]
shr edx, 1
mov dword [ebp - 0xc], eax
mov eax, dword [ecx]
xor eax, edx
mov ecx, dword [ebp - 4]
and ecx, 1
mov edx, 0x9908b0df
imul ecx, edx
xor eax, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
jmp 0x410df3
mov eax, dword [ebp - 8]
cmp eax, 0x26f
jge 0x410ef2
jmp 0x410e86
mov eax, dword [ebp - 8]
mov ecx, eax
inc eax
mov dword [ebp - 8], eax
jmp 0x410e67
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
shl ecx, 2
add eax, ecx
mov ecx, dword [eax]
and ecx, 0x80000000
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 8]
inc edx
shl edx, 2
add eax, edx
mov edx, dword [eax]
and edx, 0x7fffffff
add ecx, edx
mov dword [ebp - 4], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
shl ecx, 2
add eax, ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
add edx, 0xfffffdaf
shl edx, 2
add ecx, edx
mov edx, dword [ebp - 4]
shr edx, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ecx]
xor eax, edx
mov ecx, dword [ebp - 4]
and ecx, 1
mov edx, 0x9908b0df
imul ecx, edx
xor eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
jmp 0x410e7b
mov eax, dword [ebp + 8]
add eax, 0x9bc
mov ecx, dword [eax]
and ecx, 0x80000000
mov eax, dword [ebp + 8]
mov edx, dword [eax]
and edx, 0x7fffffff
add ecx, edx
mov dword [ebp - 4], ecx
mov eax, dword [ebp + 8]
add eax, 0x9bc
mov ecx, dword [ebp + 8]
add ecx, 0x78
mov edx, dword [ebp - 4]
shr edx, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
xor eax, edx
mov ecx, dword [ebp - 4]
and ecx, 1
mov edx, 0x9908b0df
imul ecx, edx
xor eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
add eax, 0x9c0
mov ecx, 0
mov dword [eax], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
add ecx, 0x9c0
mov edx, dword [ecx]
mov dword [ebp - 0x18], eax
mov eax, edx
inc edx
mov dword [ecx], edx
shl eax, 2
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov eax, dword [ecx]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
shr eax, 0xb
mov ecx, dword [ebp - 4]
xor ecx, eax
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
shl eax, 7
and eax, 0xffffffff
mov ecx, dword [ebp - 4]
xor ecx, eax
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
shl eax, 0xf
and eax, 0xffffffff
mov ecx, dword [ebp - 4]
xor ecx, eax
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
shr eax, 0x12
mov ecx, dword [ebp - 4]
xor ecx, eax
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
and eax, 0xffffffff
jmp 0x410fc0
leave
ret