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

Disassembly:
mov eax, 0x1005ba4f
call fcn.1005b080
sub esp, 0xf0
push ebx
push esi
xor ebx, ebx
mov eax, ecx
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], eax
cmp byte [ebp + 8], bl
je 0x1000e60b
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
jmp 0x1000ec97
mov dword [ebp - 0x14], 0xad313dd3
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x14], 0xc
cmp dword [ebp - 0x14], 0x1a
jge 0x1000e63e
cmp dword [ebp - 0x14], ebx
jne 0x1000e63e
push 0x64d2
mov edx, 0x7937
xor cl, cl
call fcn.10010ee5
inc dword [ebp - 0x14]
pop ecx
jmp 0x1000e61c
mov eax, dword [0x101a55dc]
xor esi, esi
inc esi
test al, 1
jne 0x1000e663
or dword [0x101a55d4], 0xffffffff
or eax, esi
push ecx
push 0x1571
mov dword [0x101a55dc], eax
call fcn.100112b9
push 2
pop edi
mov dword [ebp - 0x50], 0x40194ddb
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x6c], 0xfdcba86b
push edi
call fcn.10001471
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1000e695
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000e68b
mov dword [ebp - 0x14], ebx
jmp 0x1000e6b0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x98], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1000e69f
mov dword [ebp - 0x14], ebx
jmp 0x1000e6ca
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x88]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000e6bb
push 3
mov dword [ebp - 0x4c], ebx
pop edi
cmp dword [ebp - 0x4c], 0xfffffffd
jne 0x1000e823
mov dword [ebp - 0x24], 0x2e6e
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x3c], 0x67b8f5f4
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x20], 0xadb82134
mov dword [ebp - 0x30], 0x5d87
mov dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 0x14], ebx
jmp 0x1000e71e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa4], 0xcb4e76ab
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000e70d
mov dword [ebp - 0x18], 0x1a3d
cmp dword [ebp - 0x18], 0x1a6f
jle 0x1000e786
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x34], 0x650f
mov dword [ebp - 0x14], eax
cdq
lea ecx, [ebp - 0xe4]
push edx
push eax
call fcn.10002a51
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000e759
mov eax, dword [eax]
push eax
call fcn.1004498a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0xe4]
call fcn.10001643
mov eax, dword [ebp - 0x14]
add eax, edi
dec dword [ebp - 0x34]
mov dword [ebp - 0x14], eax
jne 0x1000e741
inc edi
cmp edi, 0x1c18
jl 0x1000e735
push 3
pop edi
dec dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x88]
add ecx, 5
mov dword [eax], ecx
jne 0x1000e7ba
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0xa0], ebx
je 0x1000e7f5
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x2c], bl
push eax
push 0x78af
mov edx, 0x5513
call fcn.100104b8
jmp 0x1000e802
lea eax, [ebp - 0x2a]
mov byte [ebp - 0x2a], bl
push eax
push ecx
call fcn.10010066
cmp dword [ebp - 0x18], 0x1884
pop ecx
pop ecx
jge 0x1000e818
push str.jeoseal_kwqjoz_orhzwv_dxxljp
call fcn.1004498a
pop ecx
mov dword [ebp - 4], ebx
dec dword [ebp - 0x4c]
jmp 0x1000e6d5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.100014f4
cmp byte [0x100782b0], 0
jne 0x1000e908
push esi
lea ecx, [ebp - 0xb0]
call fcn.10001471
mov dword [ebp - 4], edi
mov dword [ebp - 0x14], ebx
jmp 0x1000e866
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb0]
mov dword [eax + ecx*4], 0x504c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1000e853
push esi
push ecx
mov byte [ebp - 0x2b], bl
lea ecx, [ebp - 0x2b]
call fcn.1000e591
lea edx, [ebp - 0x29]
mov byte [ebp - 0x29], bl
mov ecx, 0xb6e
mov dword [esp], 0x4351
call fcn.1000eca8
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0xb0]
call fcn.100014f4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push ecx
push eax
call fcn.100112b9
push esi
push 0x5127
push 0x212
push 0x4943
push ebx
push 0x3639
push 0x100782b0
push 0x1357
push 0x2c70
push 0x6ca2
push 0x4ab6
push ebx
push 0xaab
push 0x2e6c
push 0x5110
push 0x4155
push 0x7819
mov edx, 0xdf8
mov ecx, 0x78db
call fcn.1000fdc0
add esp, 0x44
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], 0xdf98a59c
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], 0x2c80f3bb
mov dword [ebp - 0x18], 0x19dc
cmp dword [ebp - 0x18], 0x1a4d
jle 0x1000e933
push ebx
call dword [sym.imp.KERNEL32.dll_ExitThread]
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x18], 0x16a7
jge 0x1000e94a
push str.wduptobc_rqz_slhsskohw_pbussxge_idbr
call fcn.1004498a
pop ecx
or edx, 0xffffffff
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], ebx
jmp 0x1000e966
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xcc], 0xe9d3b05e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000e955
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 0xffffffee
jl 0x1000eb9b
push dword [ebp - 0x40]
movdqa xmm0, xmmword [0x10069520]
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x78], edx
push eax
push ebx
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5c], ebx
movdqu xmmword [ebp - 0xc0], xmm0
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
call fcn.10002156
mov dword [ebp - 4], 6
mov dword [ebp - 0x40], 0xe7071658
mov dword [ebp - 0x70], 0x3efc1676
mov dword [ebp - 0x24], 0x47db
cmp dword [ebp - 0x24], 0x4906
jle 0x1000ea15
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov esi, eax
mov ebx, 0x1cf
mov ecx, esi
mov eax, edi
sar eax, cl
mov ecx, 0x10077178
cdq
push edx
push eax
call fcn.1000b0cd
dec esi
dec ebx
jne 0x1000e9e1
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x888
jl 0x1000e9da
inc edi
cmp edi, 0x1747
jl 0x1000e9d5
xor esi, esi
push 3
inc esi
pop edi
mov byte [ebp - 4], 7
cmp dword [ebp - 0x24], 0x4438
jge 0x1000ea5b
mov edx, str.sbvejm_ftr_lqhupggqj_owbdzajuj_kbz_bqgg_lzlr_zxhkyi
mov ecx, 0x10077178
call fcn.1000ca72
jmp 0x1000ea5b
mov dword [ebp - 4], 6
mov dword [ebp - 0x24], 0x5815
cmp dword [ebp - 0x24], 0x5972
jle 0x1000eac1
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
xor eax, edi
lea ecx, [ebp - 0xfc]
cdq
push edx
push eax
call fcn.10002a51
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000ea93
mov eax, dword [eax]
push eax
call fcn.1004498a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0xfc]
call fcn.10001643
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x8033
jl 0x1000ea79
inc edi
cmp edi, 0x104b
jl 0x1000ea74
push 3
pop edi
push esi
push 0x2404
push 0x6c7b
lea eax, [ebp - 0x1c]
mov edx, 0x4bb2
push eax
push esi
push 0x610c
push 0x5700
push 0x6bf3
push 0x1f4d
push 0x3631
push 0x4734
push ebx
push 0x1031
push 0x65e1
push 0x3a2a
push 0x5201
push 0x6efe
mov ecx, 0x490d
call fcn.1000fdc0
add esp, 0x44
cmp dword [ebp - 0x24], 0x5687
jge 0x1000eb2f
push str.gfik_wwfd_twhcv_kbbo_ptgcezo_kuybcvmhe_bztx_atqcwl
call fcn.1004498a
pop ecx
mov dword [ebp - 4], 6
mov dword [ebp - 0x1c], ebx
jmp 0x1000eb7f
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], 0x3bdf
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x64], ebx
push eax
push 0x680b
lea eax, [ebp - 0x38]
xor dl, dl
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x5c]
push 0x433b
push eax
lea ecx, [ebp - 0x40]
call fcn.1000f3cf
add esp, 0x28
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1000eb3b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.100014f4
dec dword [ebp - 0x28]
or edx, 0xffffffff
jmp 0x1000e96e
mov eax, dword [ebp - 0x20]
dec eax
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
sub edx, eax
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setne cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
cmp eax, edi
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x38]
sete cl
xor edx, edx
cmp ecx, 0x1b3f
setge dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setne bl
xor ecx, ecx
cmp eax, 0xf9aa2aa
setle cl
sub ecx, ebx
jne 0x1000ebf0
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [0x101a4250]
cmp eax, 0x270
jne 0x1000ec48
mov edx, 0x101a4258
mov ecx, dword [edx - 4]
xor ecx, dword [edx]
and ecx, 0x7fffffff
xor ecx, dword [edx - 4]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edx + 0x630]
xor eax, ecx
mov dword [edx + 0x9bc], eax
add edx, 4
cmp edx, 0x101a4c18
jl 0x1000ec0d
jmp 0x1000ec54
cmp eax, 0x4e0
jb 0x1000ec59
call fcn.100112f4
mov eax, dword [0x101a4250]
mov ecx, dword [eax*4 + 0x101a4254]
inc eax
mov dword [0x101a4250], eax
mov eax, ecx
shr eax, 0xb
and eax, dword [0x101a55d4]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
mov ecx, dword [ebp - 0x44]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret