Function at 0x10032c50
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006a891
mov eax, dword fs:[0]
push eax
sub esp, 0x37c
mov eax, dword [0x10468f40]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, dword [0x10530e20]
lea esi, [ecx + 4]
mov ecx, 0xd6
mov dword [ebp - 0x388], edx
mov edx, dword [0x10530e24]
lea edi, [ebp - 0x368]
rep movsd dword es:[edi], dword [esi]
cvttss2si edi, dword [0x10530dbc]
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x58]
push 0
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x374], esi
push dword [0x10530e70]
sub ecx, edi
mov dword [ebp - 0x378], edi
push ecx
push dword [ebp - 0x36c]
lea eax, [edi + esi]
mov dword [ebp - 0x37c], ecx
push eax
push ebx
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x384], edx
call fcn.10036150
add esp, 0x18
cmp byte [0x10530dac], 0
jne 0x10032d6e
mov ecx, dword [0x10531f4c]
mov esi, 0x10530d48
mov eax, dword fs:[0x2c]
mov byte [0x10530dac], 1
mov edi, dword [eax + ecx*4]
nop word [eax + eax]
mov eax, dword [0x1051acf0]
cmp eax, dword [edi + 4]
jg 0x10032ea6
push 0x10519968
call fcn.10005c40
fstp dword [ebp - 0x370]
movss xmm0, dword [ebp - 0x370]
xorps xmm1, xmm1
addss xmm0, xmm1
add esp, 4
movss dword [esi], xmm0
add esi, 4
cmp esi, 0x10530dac
jne 0x10032d20
mov esi, dword [ebp - 0x374]
mov edi, dword [ebp - 0x378]
push 1
push dword [0x10530e74]
push dword [ebp - 0x37c]
push dword [ebp - 0x36c]
push dword [ebp - 0x380]
push ebx
call fcn.10036150
push 0
push dword [0x10530e78]
push edi
push dword [ebp - 0x36c]
push esi
push ebx
call fcn.10036150
push 1
push dword [0x10530e80]
push edi
push dword [ebp - 0x36c]
push esi
push ebx
call fcn.10036150
mov eax, dword [ebp - 0x36c]
add esp, 0x48
add eax, 0xfffffffe
push 0
push dword [0x10530e7c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
sub esp, 8
mov ecx, esp
sub esp, 8
cvttss2si eax, xmm0
mov dword [ecx + 4], 2
mov dword [ecx], eax
lea eax, [esi + 0x1e]
movd xmm1, eax
mov ecx, esp
lea eax, [ebx + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
cvttss2si eax, xmm0
mov dword [ecx], eax
cvttss2si eax, xmm1
mov dword [ecx + 4], eax
call fcn.10036150
movd xmm0, dword [ebp - 0x36c]
add esp, 0x18
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1006c450]
cvttss2si eax, xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
sub ebx, eax
mulss xmm0, dword [0x1006c450]
cvttss2si eax, xmm0
sub esi, eax
mov eax, dword [ebp - 0x384]
test eax, eax
je 0x10032e69
lea ecx, [ebp - 0x268]
push ecx
push dword [0x10530e84]
push 1
push 1
push eax
push esi
push ebx
call fcn.100361c0
add esp, 0x1c
lea eax, [ebp - 0x268]
push eax
push dword [0x10530e7c]
push 1
push 1
push dword [ebp - 0x388]
push esi
push ebx
call fcn.100361c0
add esp, 0x1c
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100421e2
mov esp, ebp
pop ebp
ret
push 0x1051acf0
call fcn.1004210c
add esp, 4
cmp dword [0x1051acf0], 0xffffffff
jne 0x10032d31
mov dword [ebp - 4], 0
call fcn.10040fbe
mov dword [0x1051acec], 0xffffffff
mov edx, 1
mov dword [0x1051996c], eax
jmp 0x10032ee2
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [edx*4 + 0x1051996c], eax
inc edx
cmp edx, 0x270
jb 0x10032ee2
push 0x1051acf0
mov dword [0x10519968], 0x270
mov dword [ebp - 4], 0xffffffff
call fcn.100420c2
add esp, 4
jmp 0x10032d31