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

Disassembly:
push ebx
push esi
push edi
pushal
pushfd
test dword [0x517ca4], 1
jne 0x43a444
mov esi, 0x47f680
add esi, 0x38c
mov edi, esi
add edi, 0x634
mov ecx, 0xffffff1d
mov eax, dword [esi + ecx*4]
mov ebx, dword [esi + ecx*4 + 4]
and eax, 0x80000000
and ebx, 0x7fffffff
mov edx, dword [edi + ecx*4]
or eax, ebx
shr eax, 1
or ebx, 0xfffffffe
xor eax, edx
add ebx, 1
xor eax, 0x9908b0df
and ebx, 0x9908b0df
xor ebx, eax
mov eax, dword [esi + ecx*4 + 4]
mov dword [esi + ecx*4], ebx
mov ebx, dword [esi + ecx*4 + 8]
inc ecx
jne 0x43a334
mov esi, 0x47f680
mov eax, dword [esi]
add esi, 0x9c0
mov dword [esi], eax
mov edi, esi
sub edi, 0x38c
mov ecx, 0xfffffe73
mov eax, dword [esi + ecx*4]
mov ebx, dword [esi + ecx*4 + 4]
and eax, 0x80000000
and ebx, 0x7fffffff
mov edx, dword [edi + ecx*4]
or eax, ebx
shr eax, 1
or ebx, 0xfffffffe
xor eax, edx
add ebx, 1
xor eax, 0x9908b0df
and ebx, 0x9908b0df
xor ebx, eax
mov eax, dword [esi + ecx*4 + 4]
mov dword [esi + ecx*4], ebx
mov ebx, dword [esi + ecx*4 + 8]
inc ecx
jne 0x43a38c
mov esi, 0x47f680
mov edi, 0x47ecc0
add esi, 0x9c0
add edi, 0x9c0
mov ecx, 0xfffffec8
mov eax, dword [esi + ecx*8]
mov edx, dword [esi + ecx*8 + 4]
mov ebx, eax
shr eax, 0xb
mov ebp, edx
shr edx, 0xb
xor eax, ebx
xor edx, ebp
mov ebx, eax
shl eax, 7
mov ebp, edx
shl edx, 7
and eax, 0x9d2c5680
and edx, 0x9d2c5680
xor eax, ebx
xor edx, ebp
mov ebx, eax
shl eax, 0xf
mov ebp, edx
shl edx, 0xf
and eax, 0xefc60000
and edx, 0xefc60000
xor eax, ebx
xor edx, ebp
mov ebx, eax
shr eax, 0x12
mov ebp, edx
shr edx, 0x12
xor eax, ebx
xor edx, ebp
mov dword [edi + ecx*8], eax
mov dword [edi + ecx*8 + 4], edx
mov eax, dword [esi + ecx*8 + 8]
inc ecx
jne 0x43a3df
jmp 0x43a618
mov eax, 0x9908b0df
movd mm4, eax
punpckldq mm4, mm4
mov eax, 1
movd mm5, eax
punpckldq mm5, mm5
movq mm6, mm5
psllq mm6, 0x1f
movq mm7, mm6
psubd mm7, mm5
mov esi, 0x47f680
add esi, 0x388
mov edi, esi
add edi, 0x634
mov ecx, 0xffffff8f
movq mm0, qword [esi + ecx*8]
pand mm0, mm6
movq mm1, qword [esi + ecx*8 + 4]
movq mm2, qword [edi + ecx*8]
pand mm1, mm7
por mm0, mm1
movq mm3, mm1
psrld mm0, 1
pand mm3, mm5
pxor mm2, mm0
psubd mm3, mm5
movq mm0, qword [esi + ecx*8 + 8]
pandn mm3, mm4
movq mm1, qword [esi + ecx*8 + 0xc]
pxor mm3, mm2
movq mm2, qword [edi + ecx*8 + 8]
pand mm0, mm6
movq qword [esi + ecx*8], mm3
pand mm1, mm7
inc ecx
jne 0x43a492
mov eax, dword [esi]
mov ebx, dword [esi + 4]
and eax, 0x80000000
and ebx, 0x7fffffff
mov edx, dword [edi]
or eax, ebx
shr eax, 1
or ebx, 0xfffffffe
xor eax, edx
add ebx, 1
xor eax, 0x9908b0df
and ebx, 0x9908b0df
xor ebx, eax
mov dword [esi], ebx
mov esi, 0x47f680
mov eax, dword [esi]
add esi, 0x9c0
mov dword [esi], eax
mov edi, esi
sub edi, 0x38c
add esi, 4
add edi, 4
mov ecx, 0xffffff39
movq mm0, qword [esi + ecx*8]
pand mm0, mm6
movq mm1, qword [esi + ecx*8 + 4]
movq mm2, qword [edi + ecx*8]
pand mm1, mm7
por mm0, mm1
movq mm3, mm1
psrld mm0, 1
pand mm3, mm5
pxor mm2, mm0
psubd mm3, mm5
movq mm0, qword [esi + ecx*8 + 8]
pandn mm3, mm4
movq mm1, qword [esi + ecx*8 + 0xc]
pxor mm3, mm2
movq mm2, qword [edi + ecx*8 + 8]
pand mm0, mm6
movq qword [esi + ecx*8], mm3
pand mm1, mm7
inc ecx
jne 0x43a529
mov eax, 0x9d2c5680
movd mm6, eax
punpckldq mm6, mm6
mov eax, 0xefc60000
movd mm7, eax
punpckldq mm7, mm7
mov esi, 0x47f680
mov edi, 0x47ecc0
add esi, 0x9c0
add edi, 0x9c0
mov ecx, 0xfffffec8
movq mm0, qword [esi + ecx*8]
movq mm1, mm0
psrld mm0, 0xb
pxor mm0, mm1
movq mm2, qword [esi + ecx*8 + 8]
movq mm1, mm0
pslld mm0, 7
movq mm3, mm2
psrld mm2, 0xb
pand mm0, mm6
pxor mm2, mm3
pxor mm0, mm1
movq mm3, mm2
pslld mm2, 7
movq mm1, mm0
pslld mm0, 0xf
pand mm2, mm6
pand mm0, mm7
pxor mm2, mm3
pxor mm0, mm1
movq mm3, mm2
pslld mm2, 0xf
movq mm1, mm0
pand mm2, mm7
psrld mm0, 0x12
pxor mm2, mm3
pxor mm1, mm0
movq mm0, qword [esi + ecx*8 + 0x10]
movq mm3, mm2
movq qword [edi + ecx*8], mm1
psrld mm2, 0x12
movq mm1, mm0
pxor mm3, mm2
movq mm2, qword [esi + ecx*8 + 0x18]
psrld mm0, 0xb
movq qword [edi + ecx*8 + 8], mm3
pxor mm0, mm1
add ecx, 2
jne 0x43a5a2
emms
mov dword [0x47ecac], 0
popfd
popal
pop edi
pop esi
pop ebx
ret