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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102eb888
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x2820
call fcn.102b2680
mov eax, dword [0x103b7200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2748], edi
mov dword [ebp - 0x2748], edi
call fcn.102b1908
mov edx, eax
mov dword [ebp - 0x13bc], 0xffffffff
mov dword [ebp - 0x273c], edx
mov ecx, 1
nop
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [ebp + ecx*4 - 0x273c], edx
inc ecx
cmp ecx, 0x270
jb 0x1007e640
lea eax, [ebp - 0x2740]
mov dword [ebp - 0x2740], 0x270
push 0x24
lea ecx, [ebp - 0x2744]
mov dword [ebp - 0x2744], eax
call fcn.100a1100
add eax, 0x800000dc
cmp eax, 0x80000000
lea ecx, [eax - 0x80000000]
lea edx, [eax - 0x80000000]
cmovae edx, ecx
mov dword [ebp - 0x2750], edx
call fcn.102b1908
mov edx, eax
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x13b4], edx
mov ecx, 1
nop word [eax + eax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [ebp + ecx*4 - 0x13b4], edx
inc ecx
cmp ecx, 0x270
jb 0x1007e6c0
lea eax, [ebp - 0x13b8]
mov dword [ebp - 0x13b8], 0x270
push 0x100
lea ecx, [ebp - 0x2744]
mov dword [ebp - 0x2744], eax
mov dword [ebp - 0x274c], eax
call fcn.100a1100
push 0x100
lea ecx, [ebp - 0x274c]
mov esi, eax
call fcn.100a1100
mov edx, eax
lea ecx, [ebp - 0x282c]
call fcn.10051ff0
mov dword [ebp - 0x2748], eax
mov edx, esi
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x27cc]
call fcn.10051ff0
mov dword [ebp - 0x274c], eax
mov edx, dword [ebp - 0x2750]
lea ecx, [ebp - 0x27b4]
mov byte [ebp - 4], 1
call fcn.10051ff0
mov dword [ebp - 0x2750], eax
mov ecx, 0x7f
mov byte [ebp - 4], 2
lea esi, [ebp - 0x17]
mov dword [ebp - 0x2744], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x2744]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x2744], eax
test eax, eax
jne 0x1007e777
push ecx
lea eax, [ebp - 0x17]
push eax
push esi
lea ecx, [ebp - 0x2798]
call fcn.10060dc0
push 1
push 0x10398cd8
lea ecx, [ebp - 0x2798]
mov byte [ebp - 4], 3
call fcn.10050c30
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2814], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2804], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0x2750]
lea eax, [ebp - 0x2814]
mov byte [ebp - 4], 4
push eax
push dword [ebp - 0x2748]
lea ecx, [ebp - 0x2780]
call fcn.1009b0a0
push 1
push 0x10398cd8
lea ecx, [ebp - 0x2780]
mov byte [ebp - 4], 5
call fcn.10050c30
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x27fc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x27ec], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x27fc]
push dword [ebp - 0x274c]
lea ecx, [ebp - 0x2768]
push eax
push dword [ebp - 0x2748]
call fcn.1009b0a0
push 1
push 0x10398cd8
lea ecx, [ebp - 0x2768]
mov byte [ebp - 4], 7
call fcn.10050c30
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x27e4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x27d4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0x2748]
lea eax, [ebp - 0x27e4]
mov byte [ebp - 4], 8
push eax
push dword [ebp - 0x2748]
mov ecx, edi
call fcn.1009b0a0
mov ecx, dword [ebp - 0x27d0]
cmp ecx, 0xf
jbe 0x1007e90d
mov edx, dword [ebp - 0x27e4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007e903
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007eb7c
push ecx
push edx
call fcn.102b1d4e
add esp, 8
mov ecx, dword [ebp - 0x2754]
cmp ecx, 0xf
jbe 0x1007e947
mov edx, dword [ebp - 0x2768]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007e93d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007eb7c
push ecx
push edx
call fcn.102b1d4e
add esp, 8
mov ecx, dword [ebp - 0x27e8]
mov dword [ebp - 0x2758], 0
mov dword [ebp - 0x2754], 0xf
mov byte [ebp - 0x2768], 0
cmp ecx, 0xf
jbe 0x1007e99c
mov edx, dword [ebp - 0x27fc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007e992
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007eb7c
push ecx
push edx
call fcn.102b1d4e
add esp, 8
mov ecx, dword [ebp - 0x276c]
cmp ecx, 0xf
jbe 0x1007e9d6
mov edx, dword [ebp - 0x2780]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007e9cc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007eb7c
push ecx
push edx
call fcn.102b1d4e
add esp, 8
mov ecx, dword [ebp - 0x2800]
mov dword [ebp - 0x2770], 0
mov dword [ebp - 0x276c], 0xf
mov byte [ebp - 0x2780], 0
cmp ecx, 0xf
jbe 0x1007ea2b
mov edx, dword [ebp - 0x2814]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007ea21
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007eb7c
push ecx
push edx
call fcn.102b1d4e
add esp, 8
mov ecx, dword [ebp - 0x2784]
cmp ecx, 0xf
jbe 0x1007ea65
mov edx, dword [ebp - 0x2798]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007ea5b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007eb7c
push ecx
push edx
call fcn.102b1d4e
add esp, 8
mov ecx, dword [ebp - 0x27a0]
mov dword [ebp - 0x2788], 0
mov dword [ebp - 0x2784], 0xf
mov byte [ebp - 0x2798], 0
cmp ecx, 0xf
jbe 0x1007eaba
mov edx, dword [ebp - 0x27b4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007eab0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007eb7c
push ecx
push edx
call fcn.102b1d4e
add esp, 8
mov ecx, dword [ebp - 0x27b8]
mov dword [ebp - 0x27a4], 0
mov dword [ebp - 0x27a0], 0xf
mov byte [ebp - 0x27b4], 0
cmp ecx, 0xf
jbe 0x1007eb0b
mov edx, dword [ebp - 0x27cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007eb01
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007eb7c
push ecx
push edx
call fcn.102b1d4e
add esp, 8
mov ecx, dword [ebp - 0x2818]
mov dword [ebp - 0x27bc], 0
mov dword [ebp - 0x27b8], 0xf
mov byte [ebp - 0x27cc], 0
cmp ecx, 0xf
jbe 0x1007eb5c
mov edx, dword [ebp - 0x282c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007eb52
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007eb7c
push ecx
push edx
call fcn.102b1d4e
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.102b1cf8
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.102be7ef
int3