Function at 0x452d20
Capabilities:
Generate random numbers via winapi

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x190
mov eax, dword [0x62c2a0]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [ebp + 8]
cmp dword [esi + 0xc], 0
jne 0x452ea5
call dword [sym.imp.WINMM.dll_timeGetTime]
cmp dword [esi + 8], 0
je 0x452e69
lea eax, [ebp - 0x28]
push eax
push 0x20
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov ecx, esi
test eax, eax
je 0x452ea0
push edi
push 0x20
lea eax, [ebp - 0x28]
push eax
call fcn.00452fd0
test eax, eax
je 0x452ea5
push edi
push 0x120
lea eax, [ebp - 0x18c]
mov ecx, esi
push eax
call fcn.00453180
test eax, eax
je 0x452ea5
lea eax, [ebp - 0x18c]
mov ecx, esi
push eax
call fcn.00453670
mov ecx, esi
test eax, eax
je 0x452ea0
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.00453740
mov ecx, esi
test eax, eax
je 0x452ea0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18c]
push eax
push 1
call fcn.00453c30
mov ecx, esi
test eax, eax
je 0x452ea0
push edi
push 0x20
lea eax, [ebp - 0x48]
push eax
call fcn.00452fd0
test eax, eax
je 0x452ea5
lea eax, [ebp - 0x68]
mov ecx, esi
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18c]
push eax
push 0
call fcn.00453c30
mov ecx, esi
test eax, eax
je 0x452ea0
push edi
push 0x20
lea eax, [ebp - 0x48]
push eax
call fcn.00453180
test eax, eax
je 0x452ea5
lea ecx, [ebp - 0x48]
mov edi, 0x1c
lea edx, [ebp - 0x68]
lea esp, [esp]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x452e9e
add ecx, 4
add edx, 4
sub edi, 4
jae 0x452e40
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00581fc1
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x3c], 0x40
jae 0x452e7d
push 0x40
lea ecx, [esi + 0x30]
call fcn.00432ce0
test eax, eax
je 0x452e9e
mov ebx, dword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov dword [esi + 0x34], 0x40
push dword [esi + 0x30]
push 0x40
push dword [esi]
call ebx
test eax, eax
jne 0x452eba
mov ecx, esi
call fcn.004529f0
mov ecx, esi
call fcn.004529f0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00581fc1
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x18c]
push eax
push 0x20
push dword [esi]
call ebx
mov ecx, esi
test eax, eax
je 0x452ea0
lea eax, [ebp - 0x18c]
push eax
call fcn.004535a0
mov ecx, esi
test eax, eax
je 0x452ea0
push edi
push 0x120
lea eax, [ebp - 0x18c]
push eax
call fcn.00452fd0
test eax, eax
je 0x452ea5
push edi
push 0x20
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00453180
test eax, eax
je 0x452ea5
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.00453740
mov ecx, esi
test eax, eax
je 0x452ea0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18c]
push eax
push 0
call fcn.00453c30
mov ecx, esi
test eax, eax
je 0x452ea0
push edi
push 0x20
lea eax, [ebp - 0x48]
push eax
call fcn.00452fd0
test eax, eax
je 0x452ea5
lea eax, [ebp - 0x68]
mov ecx, esi
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18c]
push eax
push 1
call fcn.00453c30
mov ecx, esi
test eax, eax
je 0x452ea0
push edi
push 0x20
lea eax, [ebp - 0x48]
push eax
call fcn.00453180
test eax, eax
je 0x452ea5
lea ecx, [ebp - 0x48]
mov edi, 0x1c
lea edx, [ebp - 0x68]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x452e9e
add ecx, 4
add edx, 4
sub edi, 4
jae 0x452f94
mov ecx, dword [ebp - 8]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00581fc1
mov esp, ebp
pop ebp
ret 4