Function at 0x446b6f
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 0x446ba5
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xde
jae 0x446c03
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 0x446b9e
mov dword [ebp - 0x24], 0xde
jmp 0x446c13
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xe3
jae 0x446c71
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 0x446c0c
mov dword [ebp - 0x2c], 0xe3
jmp 0x446c81
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x26f
jae 0x446cdf
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 0x446c7a
mov dword [ebp - 0x34], 0x26f
jmp 0x446cef
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x26f
jae 0x446d4d
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 0x446ce8
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