Function at 0x4d2131
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0x40a936
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa8
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x402640
xor eax, eax
push 0xa
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa8], eax
pop ebx
lea eax, [ebp - 0x38]
mov dword [ebp - 0x30], 0x80020004
push eax
mov dword [ebp - 0x38], ebx
call sub.MSVBVM60.DLL_rtcRandomize
lea ecx, [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaFreeVar
lea eax, [ebp - 0x38]
push eax
call sub.MSVBVM60.DLL_rtcGetPresentDate
push dword [0x625688]
mov edi, 0x44f5dc
push edi
call sub.MSVBVM60.DLL___vbaStrCat
push 8
lea edx, [ebp - 0x98]
pop esi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x90], 0x455db8
mov dword [ebp - 0x98], esi
call sub.MSVBVM60.DLL___vbaVarDup
push 1
lea eax, [ebp - 0x48]
push 1
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x58]
push eax
call sub.MSVBVM60.DLL_rtcVarFromFormatVar
lea eax, [ebp - 0x68]
mov dword [ebp - 0xa0], edi
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x78]
push eax
mov dword [ebp - 0xa8], esi
call sub.MSVBVM60.DLL___vbaVarCat
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x88]
push eax
call sub.MSVBVM60.DLL___vbaVarCat
push eax
call sub.MSVBVM60.DLL___vbaStrVarMove
mov edx, eax
lea ecx, [ebp - 0x1c]
call sub.MSVBVM60.DLL___vbaStrMove
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x38]
push eax
push 6
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0x1c
mov edx, 0x44d16c
lea ecx, [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaStrCopy
mov cx, 3
call sub.MSVBVM60.DLL___vbaUI1I2
xor cx, cx
mov byte [ebp - 0xb4], al
call sub.MSVBVM60.DLL___vbaUI1I2
cmp al, byte [ebp - 0xb4]
mov byte [ebp - 0x24], al
ja 0x4d235a
lea eax, [ebp - 0x38]
mov dword [ebp - 0x30], 0x80020004
push eax
mov dword [ebp - 0x38], ebx
call sub.MSVBVM60.DLL_rtcRandomNext
fstp dword [ebp - 0xac]
fld dword [ebp - 0xac]
fmul dword [0x40263c]
fnstsw ax
test al, 0xd
jne 0x4d23ce
call sub.MSVBVM60.DLL___vbaFpI2
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x18], eax
call sub.MSVBVM60.DLL___vbaFreeVar
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x98], 0x4002
call sub.MSVBVM60.DLL_rtcVarStrFromVar
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x48]
push eax
call sub.MSVBVM60.DLL_rtcTrimVar
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x58]
push eax
call sub.MSVBVM60.DLL___vbaVarCat
push eax
call sub.MSVBVM60.DLL___vbaStrVarMove
mov edx, eax
lea ecx, [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaStrMove
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x38]
push eax
push 3
call sub.MSVBVM60.DLL___vbaFreeVarList
mov al, 1
add esp, 0x10
add al, byte [ebp - 0x24]
jb 0x4d23d3
jmp 0x4d2287
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaStrCat
mov edx, eax
lea ecx, [ebp - 0x28]
call sub.MSVBVM60.DLL___vbaStrMove
wait
push 0x4d23bc
jmp 0x4d23ab
lea ecx, [ebp - 0x1c]
call sub.MSVBVM60.DLL___vbaFreeStr
lea ecx, [ebp - 0x20]
call sub.MSVBVM60.DLL___vbaFreeStr
ret
jmp fcn.0040a93c
call sub.MSVBVM60.DLL___vbaErrorOverflow