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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov dword [ebp - 8], 0x80000000
mov dword [ebp - 0xc], 0x7fffffff
mov dword [ebp - 0x10], 6
mov dword [ebp - 0x14], 5
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
jmp 0x1872099
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xde
jae 0x18720f7
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax*4]
and edx, 0x80000000
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax*4 + 4]
and eax, 0x7fffffff
or edx, eax
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
shr eax, 1
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
xor eax, dword [edx + ecx*4 + 0x634]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 1
imul ecx, ecx, 0x9908b0df
xor eax, ecx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
mov dword [ecx + edx*4], eax
jmp 0x1872090
mov dword [ebp - 0x24], 0xde
jmp 0x1872109
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xe3
jae 0x1872167
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax*4]
and edx, 0x80000000
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax*4 + 4]
and eax, 0x7fffffff
or edx, eax
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
shr eax, 1
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 4]
xor eax, dword [edx + ecx*4 + 0x634]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 1
imul ecx, ecx, 0x9908b0df
xor eax, ecx
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 4]
mov dword [ecx + edx*4], eax
jmp 0x1872100
mov dword [ebp - 0x2c], 0xe3
jmp 0x1872179
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x26f
jae 0x18721d7
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax*4]
and edx, 0x80000000
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax*4 + 4]
and eax, 0x7fffffff
or edx, eax
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
shr eax, 1
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
xor eax, dword [edx + ecx*4 - 0x38c]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 1
imul ecx, ecx, 0x9908b0df
xor eax, ecx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 4]
mov dword [ecx + edx*4], eax
jmp 0x1872170
mov dword [ebp - 0x34], 0x26f
jmp 0x18721e9
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x26f
jae 0x1872247
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax*4]
and edx, 0x80000000
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax*4 + 4]
and eax, 0x7fffffff
or edx, eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
shr eax, 1
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 4]
xor eax, dword [edx + ecx*4 - 0x38c]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 4]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 1
imul ecx, ecx, 0x9908b0df
xor eax, ecx
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 4]
mov dword [ecx + edx*4], eax
jmp 0x18721e0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x9bc]
and ecx, 0x80000000
mov edx, dword [ebp - 4]
mov eax, dword [edx]
and eax, 0x7fffffff
or ecx, eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
shr eax, 1
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + 0x630]
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
and ecx, 1
imul ecx, ecx, 0x9908b0df
xor eax, ecx
mov edx, dword [ebp - 4]
mov dword [edx + 0x9bc], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x9c0], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret