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

Disassembly:
mov eax, 0x10055fb8
call fcn.10055488
sub esp, 0xa4
mov dword [ebp - 0x4c], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test dl, dl
je 0x100133be
cmp byte [ebp + 0x10], 0
je 0x100133b4
mov dword [ebp - 0x18], 0x14aa
xor edi, edi
cmp dword [ebp - 0x18], 0x177f
jle 0x10013382
xor esi, esi
inc edi
xor ebx, ebx
mov eax, esi
lea ecx, [ebp - 0xb0]
cdq
idiv ebx
mov eax, edx
cdq
push edx
push eax
call fcn.10001ac1
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10013359
mov eax, dword [eax]
push eax
call fcn.1003d266
pop ecx
push 0
push edi
lea ecx, [ebp - 0xb0]
call fcn.1000217e
inc ebx
cmp ebx, 0x72d1
jl 0x1001333a
inc esi
cmp esi, 0xb56
jl 0x10013338
jmp 0x10013383
inc edi
cmp dword [ebp - 0x18], 0x1431
jge 0x10013397
push str.vkzhuyo_olmchfcm_zfqo_dbpdd_vvy
call fcn.1003d266
pop ecx
mov eax, dword [ebp + 8]
mov dword [eax], 0
jmp 0x100133aa
mov dword [ebp - 0x18], edi
dec dword [ebp - 0x18]
dec dword [eax]
cmp dword [eax], 0xfffffff9
jg 0x100133a2
jmp 0x10013a87
mov eax, dword [ebp + 0x14]
dec dword [eax]
jmp 0x10013a87
cmp byte [ebp + 0xc], 0
je 0x100133dd
mov byte [ebp - 0x25], 0
cmp byte [ebp - 0x25], 0
je 0x10013a87
call dword [sym.imp.KERNEL32.dll_GetACP]
jmp 0x10013a87
mov dword [ebp - 0x1c], 0xfffffffe
mov eax, 0x752bf390
mov dword [ebp - 0x18], 0xfffffff8
xor ebx, ebx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x24], 0xf4d4e209
mov dword [ebp - 0x14], 0x3bee
cmp dword [ebp - 0x14], 0x3c50
jle 0x1001349a
push 0x1dba
push ebx
push 0x1031
push 0x164c
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharacterPlacementW]
mov edi, ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov ecx, ebx
mov dword [ebp - 0x20], ebx
cdq
idiv ecx
mov eax, esi
mov ecx, edx
sar eax, cl
mov ecx, 0x1006e038
or eax, edi
cdq
push edx
push eax
call fcn.10001e16
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x40a3
jl 0x1001344c
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x5a77
jl 0x10013447
inc esi
cmp esi, 0x6988
jl 0x10013442
inc edi
cmp edi, 0x2a0b
jl 0x10013440
push ebx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x14], 0x3b10
jge 0x100134b9
mov edx, str.euaiwml_lbelmtu_jxznffpzi_fgua_jans_sss_fpifit_qgd
mov ecx, 0x1006e038
call fcn.100037d1
or dword [ebp - 4], 0xffffffff
xor edi, edi
mov dword [ebp - 0x1c], ebx
inc edi
cmp dword [ebp - 0x1c], 0xfffffff2
jle 0x100135e0
mov dword [ebp - 0x14], ebx
jmp 0x10013501
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100134f4
mov dword [ebp - 0x14], ebx
jmp 0x1001351a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x38], 0x5d1cb6a7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001350c
xor dl, dl
call fcn.10012f82
mov esi, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x8c], esi
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
cmp eax, 0xd549
mov eax, 0xfff9
setle cl
cmp eax, ecx
sbb eax, eax
xor edx, edx
neg eax
add eax, dword [ebp - 0x38]
cmp eax, 0x13f5
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setg cl
xor edx, edx
cmp esi, ecx
setle dl
sub edx, 0xcaea0a9f
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, edi
setl al
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xfffc
jne 0x10013595
cmp dword [ebp - 0x18], ebx
je 0x10013597
mov ebx, edi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, ebx
mov eax, dword [ebp - 0x1c]
push 0
setne cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle bl
xor edx, edx
sub ebx, 8
cmp ebx, eax
mov eax, dword [ebp - 0x70]
pop ebx
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xe446df3
setl al
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff2
jg 0x100134cd
mov dword [ebp - 0x1c], ebx
jmp 0x100135ef
push ecx
call fcn.10013c12
dec dword [ebp - 0x1c]
pop ecx
cmp dword [ebp - 0x1c], 0xfffffff4
jne 0x100135e5
mov eax, dword [0x10070e78]
test al, 1
jne 0x10013642
or eax, edi
mov ecx, 0x1571
or dword [0x10070e74], 0xffffffff
mov edx, edi
mov dword [0x10070e78], eax
mov dword [0x1006faf4], ecx
mov eax, ecx
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, edx
mov dword [edx*4 + 0x1006faf4], ecx
inc edx
cmp edx, 0x270
jl 0x10013619
mov dword [0x1006faf0], 0x270
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x18], 0x495e0e2b
mov dword [ebp - 0x24], 0xffffffff
push 0xfffffffffffffff7
pop eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x24], 0x7682c5a4
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
jmp 0x1001367f
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x7c], 0x6e4944c1
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10013671
push 9
pop esi
mov dword [ebp - 0x20], esi
jmp 0x10013782
mov dword [ebp - 0x1c], 0x29000d4e
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x1c], 0xffffffef
jmp 0x10013775
mov dword [ebp - 0x14], 0xc588e1b6
mov dword [ebp - 0x14], ebx
jmp 0x100136c3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x100136b9
mov dword [ebp - 0x14], ebx
jmp 0x1001371c
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0xf21009d4
push eax
sub esp, 0x10
xor cl, cl
call fcn.10012cee
add esp, 0x14
cmp dword [ebp - 0x20], ebx
je 0x100136ee
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x54]
push 0xfffffffffffffff8
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0x34]
sub ecx, 0x23cc
neg ecx
sbb ecx, ecx
inc ecx
add eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x54]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x100136ce
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x5c], 4
mov eax, dword [ebp - 0x20]
add eax, 6
cmp eax, 4
setg cl
imul ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jg 0x1001374c
mov eax, edi
cmp dword [ebp - 0x14], ebx
jne 0x1001374e
mov eax, ebx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffd
jle 0x100136ad
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x17
jle 0x10013690
cmp byte [0x1006fa20], 0
jne 0x10013983
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x24], 0x5d3a
cmp dword [ebp - 0x24], 0x5fdd
jle 0x100137dc
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
mov ecx, 0x1006e038
cdq
push edx
push eax
call fcn.10001e16
inc edi
cmp edi, 0x56f8
jl 0x100137b4
inc esi
cmp esi, 0x45a3
jl 0x100137b2
xor edi, edi
inc edi
mov dword [ebp - 4], 4
cmp dword [ebp - 0x24], 0x5abc
jge 0x100137fb
mov edx, str.kgipw_jomqnpr_welxajnx_cfjlfr_ilfdkow_lica
mov ecx, 0x1006e038
call fcn.100037d1
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], 0x4f3f
cmp dword [ebp - 0x1c], 0x4fa3
jle 0x1001386b
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov dword [ebp - 0x18], ebx
lea eax, [esi + edi]
mov dword [ebp - 0x24], 0x6b57
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, ebx
mov eax, edi
mov ecx, 0x1006e038
xor eax, esi
cdq
push edx
push eax
call fcn.10001e16
inc esi
cmp esi, 0x1e8e
jl 0x1001382a
dec edi
dec dword [ebp - 0x24]
jne 0x10013828
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x4a87
jl 0x10013819
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x6121
jl 0x10013814
xor edi, edi
inc edi
mov dword [ebp - 0x14], ebx
jmp 0x100138a6
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], 0xf37d45db
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10013898
mov dword [ebp - 4], 6
cmp dword [ebp - 0x1c], 0x4c91
jge 0x100138ca
mov edx, str.bnkg_wsgruycdk_oikcs_xlwun_xhywmpcyw_iwrcsz_kinz
mov ecx, 0x1006e038
call fcn.100037d1
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x10013909
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x84], 0xa07e4fc2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100138f8
mov dword [ebp - 0x2c], 2
jmp 0x10013957
mov dword [ebp - 0x30], edi
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10013951
push edi
push 0xee
push 0x338c
push 0x50a9
push ebx
push 0x442a
push 0x4e1f
push ebx
mov edx, 0x2f5b
mov ecx, 0x5622
call fcn.10013a98
add esp, 0x20
mov eax, dword [ebp - 0x30]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffa
je 0x10013917
push ecx
lea eax, [ebp - 0x2c]
xor dl, dl
push 0x7d70
push eax
call fcn.10012e42
push ebx
mov edx, 0x1006faf0
xor cl, cl
call fcn.10012f55
add esp, 0x10
call fcn.100130f2
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x40], 0xffffffff
push 3
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x100139b4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x98], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100139a7
mov dword [ebp - 0x48], 0xffffffff
jmp 0x100139e6
mov dword [ebp - 0x20], 0x485bf25c
mov dword [ebp - 0x20], ebx
jmp 0x100139dd
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x98], ebx
jne 0x100139e3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x100139ce
dec dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xfffffff1
jge 0x100139c2
mov eax, dword [0x1006faf0]
cmp eax, 0x270
jne 0x10013a38
mov edx, 0x1006faf8
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, 0x100704b8
jl 0x100139fd
jmp 0x10013a44
cmp eax, 0x4e0
jb 0x10013a49
call fcn.100145a4
mov eax, dword [0x1006faf0]
mov edx, dword [eax*4 + 0x1006faf4]
inc eax
mov dword [0x1006faf0], eax
mov eax, edx
shr eax, 0xb
and eax, dword [0x10070e74]
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, dword [ebp - 0x4c]
mov ecx, edx
shr ecx, 0x12
xor ecx, edx
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret