Function at 0x451000
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Get ntdll base address
Get number of processors
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push 0x4044e6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x110
push ebx
push esi
push edi
mov dword [ebp - 0x14], esp
mov dword [ebp - 0x10], 0x402c90
xor eax, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x110], eax
push 8
push 0x40eafc
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryConstruct2]
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov edx, 0x40e7cc
mov ecx, dword [ebp - 0x50]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
call esi
mov edx, 0x40e7e0
mov ecx, dword [ebp - 0x50]
add ecx, 4
call esi
mov edx, 0x40e7f4
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 8]
call esi
mov edx, 0x40e80c
mov ecx, dword [ebp - 0x50]
add ecx, 0xc
call esi
mov edx, 0x40e824
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x10]
call esi
mov edx, 0x40e83c
mov ecx, dword [ebp - 0x50]
add ecx, 0x14
call esi
mov edx, 0x40e85c
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x18]
call esi
mov edx, 0x40e870
mov ecx, dword [ebp - 0x50]
add ecx, 0x1c
call esi
mov edx, 0x40e88c
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x20]
call esi
mov edx, 0x40e7cc
mov ecx, dword [ebp - 0x50]
add ecx, 0x24
call esi
mov edx, 0x40e7e0
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x28]
call esi
mov edx, 0x40e7e0
mov ecx, dword [ebp - 0x50]
add ecx, 0x2c
call esi
mov edx, 0x40e7cc
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x30]
call esi
mov edx, 0x40e8a4
mov ecx, dword [ebp - 0x50]
add ecx, 0x34
call esi
mov edx, 0x40e8b8
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x38]
call esi
mov edx, 0x40e8d0
mov ecx, dword [ebp - 0x50]
add ecx, 0x3c
call esi
mov edx, 0x40e8e4
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x40]
call esi
mov edx, 0x40e8f8
mov ecx, dword [ebp - 0x50]
add ecx, 0x44
call esi
mov edx, 0x40e90c
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x48]
call esi
mov edx, 0x40e924
mov ecx, dword [ebp - 0x50]
add ecx, 0x4c
call esi
mov edx, 0x40e944
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x50]
call esi
mov edx, 0x40e964
mov ecx, dword [ebp - 0x50]
add ecx, 0x54
call esi
mov edx, 0x40e88c
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x58]
call esi
mov edx, 0x40e97c
mov ecx, dword [ebp - 0x50]
add ecx, 0x5c
call esi
mov edx, 0x40e998
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x60]
call esi
mov edx, 0x40e85c
mov ecx, dword [ebp - 0x50]
add ecx, 0x64
call esi
mov edx, 0x40e9ac
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x68]
call esi
mov edx, 0x40e9d0
mov ecx, dword [ebp - 0x50]
add ecx, 0x6c
call esi
mov edx, 0x40e9f0
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x70]
call esi
mov edx, 0x40e7f4
mov ecx, dword [ebp - 0x50]
add ecx, 0x74
call esi
mov edx, 0x40ea04
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x78]
call esi
mov edx, 0x40e80c
mov ecx, dword [ebp - 0x50]
add ecx, 0x7c
call esi
mov edx, 0x40ea20
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x80]
call esi
mov edx, 0x40ea38
mov ecx, dword [ebp - 0x50]
add ecx, 0x84
call esi
mov edx, 0x40ea4c
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x88]
call esi
mov edx, 0x40ea6c
mov ecx, dword [ebp - 0x50]
add ecx, 0x8c
call esi
mov edx, 0x40ea88
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x90]
call esi
mov edx, 0x40e83c
mov ecx, dword [ebp - 0x50]
add ecx, 0x94
call esi
mov edx, 0x40eaa8
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x98]
call esi
mov edx, 0x40e824
mov ecx, dword [ebp - 0x50]
add ecx, 0x9c
call esi
mov edx, 0x40eac0
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0xa0]
call esi
mov ebx, 0x80020004
mov dword [ebp - 0x94], ebx
mov esi, 0xa
mov dword [ebp - 0x9c], esi
lea ecx, [ebp - 0x9c]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x9c]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
call edi
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x9c], esi
lea edx, [ebp - 0x9c]
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fstp dword [ebp - 0x110]
call fcn.004515f0
mov edx, eax
lea ecx, [ebp - 0x84]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
call esi
push eax
push 0x40ead8
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
call ebx
mov edx, eax
lea ecx, [ebp - 0x88]
call esi
push eax
fld dword [ebp - 0x110]
fmul dword [0x402cb4]
call dword [sym.imp.MSVBVM60.DLL___vbaR8IntI4]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + eax*4]
push edx
call ebx
mov edx, eax
lea ecx, [ebp - 0x6c]
call esi
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x84]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
lea ecx, [ebp - 0x9c]
call edi
call dword [sym.imp.MSVBVM60.DLL___vbaExitProc]
wait
push 0x4515da
jmp 0x4515a3
lea ecx, [ebp - 0x2c]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
call esi
lea ecx, [ebp - 0x3c]
call esi
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x110], eax
lea ecx, [ebp - 0x110]
push ecx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaAryDestruct]
lea ecx, [ebp - 0x80]
call esi
ret