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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 8], SysStringLen
mov dword [ebp - 0x10], bind
mov dword [ebp - 0x14], 6
mov dword [ebp - 0xc], 5
and dword [ebp - 0x18], 0
and dword [ebp - 0x1c], 0
jmp 0x446b6d
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xde
jae 0x446bcb
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + eax*4]
and eax, 0x80000000
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 0x7fffffff
or eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
shr eax, 1
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
xor eax, dword [edx + ecx*4 + 0x634]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 1
imul ecx, ecx, 0x9908b0df
xor eax, ecx
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
mov dword [edx + ecx*4], eax
jmp 0x446b66
mov dword [ebp - 0x24], 0xde
jmp 0x446bdb
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xe3
jae 0x446c39
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + eax*4]
and eax, 0x80000000
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 0x7fffffff
or eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
shr eax, 1
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x3c]
xor eax, dword [edx + ecx*4 + 0x634]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 1
imul ecx, ecx, 0x9908b0df
xor eax, ecx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x3c]
mov dword [edx + ecx*4], eax
jmp 0x446bd4
mov dword [ebp - 0x2c], 0xe3
jmp 0x446c49
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x26f
jae 0x446ca7
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + eax*4]
and eax, 0x80000000
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 0x7fffffff
or eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
shr eax, 1
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
xor eax, dword [edx + ecx*4 - 0x38c]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 1
imul ecx, ecx, 0x9908b0df
xor eax, ecx
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov dword [edx + ecx*4], eax
jmp 0x446c42
mov dword [ebp - 0x34], 0x26f
jmp 0x446cb7
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x26f
jae 0x446d15
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + eax*4]
and eax, 0x80000000
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 0x7fffffff
or eax, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
shr eax, 1
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
xor eax, dword [edx + ecx*4 - 0x38c]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx + ecx*4 + 4]
and ecx, 1
imul ecx, ecx, 0x9908b0df
xor eax, ecx
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
mov dword [edx + ecx*4], eax
jmp 0x446cb0
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x9bc]
and eax, 0x80000000
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx]
and ecx, 0x7fffffff
or eax, ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
shr eax, 1
mov ecx, dword [ebp - 0x3c]
xor eax, dword [ecx + 0x630]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx]
and ecx, 1
imul ecx, ecx, 0x9908b0df
xor eax, ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x9bc], eax
mov eax, dword [ebp - 0x3c]
and dword [eax + 0x9c0], 0
leave
ret